倒谱Cepstrum本质的理解
阅读原文时间:2023年07月09日阅读:1

1.理解:

信号叠加时,不是都是线性关系(时域相互+ 频率相加);有的时候是两种信号成分相乘得到的,(时域卷积,频域相乘):比如很多齿轮啮合时振动信号调制现象,电机的轴向与径向的振动耦合时采集到的振动,声带的冲击(源信号)通过口腔(可以看成滤波器或者系统)发出的声音等等。

通过倒谱可以解析

步骤

  1. sigData = x* y卷积   :sigData是采集到的时域信号,x,y是我们想要分离的信号成分。

  2. FFT(sigData) = FFT(X) FFT(Y) 频域相乘

  3. log (FFT(sigData)) = log(FFT(X)) + log(FFT(Y)  本质上是将信号同态化,通过 log的性质乘关系的信号 变成 加的关系。比如下图中第一幅图。这时,信号中的频率是第二幅图与第三幅图的线性叠加。下一步我们通过再进行一次FFT(ifft其实本质就是FFT),得到低频部分与高频部分

(图来源见水印)

  4. ifft (log (FFT(sigData)) ) 相当于 将第3步骤中得到的频率曲线,当成一个初始信号,再进行一次FFT变换,把这个频率曲线中的高频波动(上面第[3]个子图)和低频趋势(或者叫频率包络)(上面第[2]个子图)分离,以频率的形式解析出来。

    IFFT 本质还是FFT,应为FFT与iFFT的结果 , 互为共轭,相差N倍

2.应用:

  1. 语音信号中 获取声音信道的方法,MFCC,Mel 频率倒谱系数, 不过里面用的是 DCT, 离散余弦变换(类似FFT)。

  2. 变速箱存在故障或振动较大时,采集到的是很多个齿轮与齿轮啮合、存在调制的信号,通过倒谱可以再混杂的信号中找出相关信号频率,进一步找出导致振动大的相关齿轮。

附:

关于 FFT 与 i-FFT的 Matlab 计算结果

x = [1 2 3 3 2 1 ]

x_f = fft(x)

x_f = 1×6 complex

12.0000 + 0.0000i   -3.0000 - 1.7321i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i   -3.0000 + 1.7321i

x_if = ifft(x)*6

x_if = 1×6 complex

12.0000 + 0.0000i   -3.0000 + 1.7321i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i   -3.0000 - 1.7321i

plot(x_f )

plot(x_if )

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章