EMD 算法原理动图解读
信号合成
假设我们用一个正弦信号 tone 和一个调频信号 chirp 相加得到一个存在多种频率成分的新信号。
求取 IMF1
我们首先找到信号的极大值点和极小值点(或者称为波峰和波谷),然后用三次样条曲线去拟合这些极大值点和极小值点,得到上包络线和下包络线(图中蓝色线和红色线);再将上下包络线求取均值得到图中的粉色线;最后用信号减去这个粉色线,得到下方一个残余分量信号(residue)。这是第一次迭代(iteration 1)操作。
由于此时的粉色曲线波动很大,还不能够满足 IMF 分量的要求,因此需要继续迭代下去。
仿照第一次的操作继续重复迭代下去,直到粉色曲线接近于一条直线(即任意时刻下的包络均值为0),此时得到的残余分量信号即为第一个 IMF 分量。
求取 IMF2
信号 | 图像 |
---|---|
原信号 | ![]() |
IMF1 分量 | ![]() |
新的信号 | ![]() |
将第一个 IMF 分量从原信号中减去,得到新的信号,根据该信号继续寻找第二个 IMF 分量。
经过 5 次迭代最终找到了第二个 IMF 分量。
求取 IMF3
信号 | 图像 |
---|---|
原信号 | ![]() |
IMF2 分量 | ![]() |
新的信号 | ![]() |
将第二个 IMF 分量从原信号中减去,得到新的信号,根据该信号继续寻找第三个 IMF 分量。
经过 12 次迭代最终找到了第三个 IMF 分量。
求取 IMF4
信号 | 图像 |
---|---|
原信号 | ![]() |
IMF3 分量 | ![]() |
新的信号 | ![]() |
将第三个 IMF 分量从原信号中减去,得到新的信号,根据该信号继续寻找第四个 IMF 分量。
经过 16 次迭代最终找到了第四个 IMF 分量。
求取 IMF5
信号 | 图像 |
---|---|
原信号 | ![]() |
IMF4 分量 | ![]() |
新的信号 | ![]() |
将第四个 IMF 分量从原信号中减去,得到新的信号,根据该信号继续寻找第五个 IMF 分量。
经过 11 次迭代最终找到了第五个 IMF 分量。
算法结束
信号 | 图像 |
---|---|
原信号 | ![]() |
IMF5 分量 | ![]() |
新信号 | ![]() |
将第五个 IMF 分量从原信号中减去,得到新的信号,此时发现新的信号其极值点只有一个,小于2,信号无法再继续做包络线了,因此可以停止迭代了。
分解结果
将前面找到的所有 IMF 分量和最后一个残余分量汇总到一起,得到上图。因此原信号可以拆分为这些分量信号之和。对比信号生成的过程和最终分解得到的结果,可以发现 IMF1 和 IMF2 与我们合成时的两个信号基本一致,也就是说,EMD 成功分离出了不同成分的信号,且 IMF 分量是按照高频到低频排序的。
合成 | 分解 |
---|---|
![]() |
![]() |
步骤流程
Step1:输入信号 \(x(t)\) 。
Step2:初始化残余分量,\(r_0(t)=x(t)\);\(i = 1\) 。
Step3:初始化疑似模态分量,\(h_0(t) = r_{i-1}(t)\);\(j=1\) 。
Step4:计算 \(h_{j-1}(t)\) 的包络均值 \(m_{j-1}(t)\) :
其中,\(u_{j-1}(t)\) 和 \(l_{j-1}(t)\) 分别为 \(h_{j-1}(t)\) 的极大值点和极小值点通过三次样条函数拟合出来的的包络曲线。
Step5:减去包络均值,\(h_j(t) = h_{j-1}(t) - m_j(t)\) 。
Step6:利用标准偏差 \(S_d\) 和零点、极值点个数判断 \(h_j(t)\) 是否为 IMF 分量,其中
若 \(S_d\) 小于 0.2 或者 0.3 (表明包络均值为0),且 \(h_j(t)\) 的零点和极值点的个数相同或者最多相差 1 个,则可以记作一个 IMF 分量 \(c_i(t) = h_j(t)\) ,否则 \(j=j+1\),转到 Step4 。
Step7:将残余分量减去 IMF 分量,得到新的残余分量,\(r_i(t) = r_{i-1}(t) - c_i(t)\) 。
Step8:若新的残余分量 \(r_i(t)\) 满足单调,或者极值点不超过 2 个,则无法进一步做包络线,分解结束;否则 \(i=i+1\) ,转到 Step3 。
最终 EMD 算法能够将将其分解为 \(n\) 个 IMF 分量 \(c_i(t)\)和 1 个残余分量 \(r_n(t)\),即:
参考资料
- emd算法主页:http://perso.ens-lyon.fr/patrick.flandrin/emd.html
- 图像资源(ppt):http://perso.ens-lyon.fr/patrick.flandrin/emd.ppt
- EMD 算法原文文献:https://sci.bban.top/pdf/10.1098/rspa.1998.0193.pdf
- 《机械信号处理及其应用》 李力等编著 https://www.cnblogs.com/gshang/articles/15844728.html