基于经验模式分解的特征提取
近期看的算法就是EMD的,发现很多Paper用的地方还挺多的,在特征提取方面,来做个以轴承振动信号的故障诊断EMD特征提取的学习总结。
建议可以先看文章后半部分基础归类在看前半部分特征提取。
EMD方法是从一个简单的假设发展而来,即任何信号都是由不同的简单固有振型组成的。每个线性或非线性模式都有相同数目的极值和过零。在连续的零交点之间只有一个极值。每个模式都应该独立于其他模式。这样,每个信号就可以分解为若干个IMF(intrinsic mode functions,固有模态函数),每个IMF必须满足以下定义:
定义1:在整个数据集中,极值数和过零数必须相等或不大于1。
定义2:在任意点上,由局部极大值和局部极小值定义的包络线的均值为零。
与简谐函数相比,IMF表示一个简单的振动模式。
EMD的步骤如下:
找出原始信号x ( t ) x(t)x(t)的所有最大值点和最小值点,并用三次样条函数拟合原始信号的波动包络。
计算波动包络的均值,用u 1 ( t ) u_1(t)u
1
(t)表示,将原始数据序列减去均值得到新的数据序列y 1 ( t ) y_1(t)y
1
(t):
因此,将信号分解得到了n nn个经验模态,并得到了残差r n ( t ) r_n(t)r
n
(t),即残差x ( t ) x(t)x(t)的平均趋势。
----图片来自于网络
不同故障的轴承在运行时,振动信号中产生相应的共振频率分量,故障振动信号的能量随频率分布而变化。为了说明这种情况,计算了每个IMF的能量。
首先,计算n 个 IMFs n 个 \text { IMFs }n个 IMFs 的总能量:
- 构造以能量为元素的特征向量F:
- 为方便后续神经网络的训练,将能量特征向量归一化如下:
然后
以下算是对EMD的一些小知识点总结吧~
简单基础总结
EMD(Empirical Mode Decomposition)作为时频域的处理方法,最显著的特点,就是其克服了基函数无自适应性的问题。
相对于同样是时频域方法的小波分析,小波分析是需要选定某一个小波基的,小波基的选择对整个小波分析的结果影响很大,一旦确定了小波基,在整个分析过程中将无法更换,即使该小波基在全局可能是最佳的,但在某些局部可能并不是,所以小波分析的基函数缺乏适应性。
简单说来,EMD就像一台机器,把一堆混在一起的硬币扔进去,他会自动按照1元、5毛、1毛、5分、1分地分成几份。
内涵模态分量(Intrinsic Mode Functions, IMF)就是原始信号被EMD分解之后得到的各层信号分量。或许和上面文章开头解释的固有模态函数的翻译不同,但其实是一样的~
—此处引用:大佬解释 膜拜
----图片来自于网络
原始信号:x ( t ) x(t)x(t)
IMF1:信号分量
IMF2:信号分量
IMF3:信号分量,可能会出现EMD端点效应
残差:r n ( t ) r_n(t)r
n
(t)
EMD特点:
自适应地进行信号的主成分分析,主要此处的主成分分析和 PCA 不同,关于PCA,我之前的博客有所提及。
对一段未知信号,而不需要做出预先分析及研究,就能够直接开始分解。这个方法会按照一些固有模式按层次分好,而不需要人为设置或者干预。
关于 EMD的代码,日后研究再更新!