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