信號合成
假設我們用一個正弦信號 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