机械振动信号15个时域统计指标

时域统计指标计算公式

振动信号原始统计特征分为两类:时域统计特征、频域统计特征。

信号的时域特征是通过统计分析信号的各种时域参数、指标的估计或计算得到的,如表所示,分为有量纲参数和无量纲参数两种,其中1-9为有量纲参数和10-15无量纲参数。
机械振动信号15个时域统计指标_第1张图片

python程序

def get_time_domain_features(data):
    '''data为一维振动信号'''
    x_rms = 0
    absXbar = 0
    x_r = 0
    S = 0
    K = 0
    k = 0
    x_rms = 0
    fea = []
    len_ = len(data.iloc[0, :])
    mean_ = data.mean(axis=1)  # 1.均值
    var_ = data.var(axis=1)  # 2.方差
    std_ = data.std(axis=1)  # 3.标准差
    max_ = data.max(axis=1)  # 4.最大值
    min_ = data.min(axis=1)  # 5.最小值
    x_p = max(abs(max_[0]), abs(min_[0]))  # 6.峰值
    for i in range(len_):
        x_rms += data.iloc[0, i] ** 2
        absXbar += abs(data.iloc[0, i])
        x_r += math.sqrt(abs(data.iloc[0, i]))
        S += (data.iloc[0, i] - mean_[0]) ** 3
        K += (data.iloc[0, i] - mean_[0]) ** 4
    x_rms = math.sqrt(x_rms / len_)  # 7.均方根值
    absXbar = absXbar / len_  # 8.绝对平均值
    x_r = (x_r / len_) ** 2  # 9.方根幅值
    W = x_rms / mean_[0]  # 10.波形指标
    C = x_p / x_rms  # 11.峰值指标
    I = x_p / mean_[0]  # 12.脉冲指标
    L = x_p / x_r  # 13.裕度指标
    S = S / ((len_ - 1) * std_[0] ** 3)  # 14.偏斜度
    K = K / ((len_ - 1) * std_[0] ** 4)  # 15.峭度

    fea = [mean_[0],absXbar,var_[0],std_[0],x_r,x_rms,x_p,max_[0],min_[0],W,C,I,L,S,K]
    return fea

搜索这篇文章的应该都是同道中人,点个赞再走吧!在这里插入图片描述

下一篇:机械振动信号13个频域指标
转载请注明:https://blog.csdn.net/baidu_38963740/article/details/110940823.

你可能感兴趣的:(数据分析,统计学,python)