机械振动信号13个频域指标

频域统计指标计算公式

振动信号频域分析首先需要把信号的时域波形借助离散傅里叶变换转化为频谱信息,公式如下:
离散傅里叶变换公式
式中: x ( k Δ t ) x(k\Delta t) x(kΔt)为振动信号的采样值; N N N为采样点数; Δ t \Delta t Δt为采样间隔; k k k为时域离散值的序号。
求得频谱信息后,可根据频域统计指标公式计算相应的值,公式如下:
频域统计指标公式

python程序

def get_fre_domain_features(f,y):
    fre_line_num = len(y)
    p1 = y.mean()
    p2 = math.sqrt(sum((y-p1)**2)/fre_line_num)
    p3 = sum((y-p1)**3)/(fre_line_num*p2**3)
    p4 = sum((y-p1)**4)/(fre_line_num*p2**4)
    p5 = sum(f*y)/sum(y)
    p6 = math.sqrt(sum((f-p5)**2*y)/fre_line_num)
    p7 = math.sqrt(sum(f**2*y)/sum(y))
    p8 = math.sqrt(sum(f**4*y)/sum(f**2*y))
    p9 = sum(f**2*y)/math.sqrt(sum(y)*sum(f**4*y))
    p10 = p6/p5
    p11 = sum((f-p5)**3*y)/(p6**3*fre_line_num)
    p12 = sum((f-p5)**4*y)/(p6**4*fre_line_num)
    p13 = sum(abs(f-p5)*y)/(math.sqrt(p6)*fre_line_num)
    p = [p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13]
    return p

补充:---------------------------------------------------------------------
程序中的f是傅里叶变换之后的频率轴,y是傅里叶变换之后的幅值,也就是平时画的频谱图的x轴和y轴。

def nextpow2(x):
    if x == 0:
        return 0 
    else:
        return int(np.ceil(np.log2(x)))

def Do_fft(sig,Fs):#输入信号和采样频率
    xlen = len(sig)
    sig = sig - sig.mean()
    NFFT = 2**nextpow2(xlen)
    yf = np.fft.fft(sig,NFFT)/xlen*2
    yf = abs(yf[0:int(NFFT/2+1)])
    f = Fs/2*np.linspace(0,1,int(NFFT/2+1))
    f = f[:]
    return f,yf
    #频域离散值的序号
f,y = Do_fft(sig, Fs)
p = get_fre_domain_features(f,y)

上一篇:机械振动信号15个时域统计指标

  • 26
    点赞
  • 242
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值