EMD 算法原理動圖解讀


信號合成

image

假設我們用一個正弦信號 tone 和一個調頻信號 chirp 相加得到一個存在多種頻率成分的新信號。

求取 IMF1

image

我們首先找到信號的極大值點和極小值點(或者稱為波峰和波谷),然后用三次樣條曲線去擬合這些極大值點和極小值點,得到上包絡線和下包絡線(圖中藍色線和紅色線);再將上下包絡線求取均值得到圖中的粉色線;最后用信號減去這個粉色線,得到下方一個殘余分量信號(residue)。這是第一次迭代(iteration 1)操作。

image

由於此時的粉色曲線波動很大,還不能夠滿足 IMF 分量的要求,因此需要繼續迭代下去。

image

仿照第一次的操作繼續重復迭代下去,直到粉色曲線接近於一條直線(即任意時刻下的包絡均值為0),此時得到的殘余分量信號即為第一個 IMF 分量。

image

求取 IMF2

信號 圖像
原信號 image
IMF1 分量 image
新的信號 image

將第一個 IMF 分量從原信號中減去,得到新的信號,根據該信號繼續尋找第二個 IMF 分量。

image

經過 5 次迭代最終找到了第二個 IMF 分量。

image

求取 IMF3

信號 圖像
原信號 image
IMF2 分量 image
新的信號 image

將第二個 IMF 分量從原信號中減去,得到新的信號,根據該信號繼續尋找第三個 IMF 分量。

image

經過 12 次迭代最終找到了第三個 IMF 分量。

image

求取 IMF4

信號 圖像
原信號 image
IMF3 分量 image
新的信號 image

將第三個 IMF 分量從原信號中減去,得到新的信號,根據該信號繼續尋找第四個 IMF 分量。

image

經過 16 次迭代最終找到了第四個 IMF 分量。

image

求取 IMF5

信號 圖像
原信號 image
IMF4 分量 image
新的信號 image

將第四個 IMF 分量從原信號中減去,得到新的信號,根據該信號繼續尋找第五個 IMF 分量。

image

經過 11 次迭代最終找到了第五個 IMF 分量。

image

算法結束

信號 圖像
原信號 image
IMF5 分量 image
新信號 image

將第五個 IMF 分量從原信號中減去,得到新的信號,此時發現新的信號其極值點只有一個,小於2,信號無法再繼續做包絡線了,因此可以停止迭代了。

分解結果

image

將前面找到的所有 IMF 分量和最后一個殘余分量匯總到一起,得到上圖。因此原信號可以拆分為這些分量信號之和。對比信號生成的過程和最終分解得到的結果,可以發現 IMF1 和 IMF2 與我們合成時的兩個信號基本一致,也就是說,EMD 成功分離出了不同成分的信號,且 IMF 分量是按照高頻到低頻排序的。

合成 分解
image image

步驟流程

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)\) :

\[m_{j-1}(t) = (u_{j-1}(t) + l_{j-1}(t)) /2 \]

其中,\(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 = \sum\limits_{t = 0}^T {\frac{{{{\left| {{h_j}\left( t \right) - {h_{j - 1}}\left( t \right)} \right|}^2}}}{{h_j^2\left( t \right)}}} \]

\(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)\),即:

\[x(t) = \sum\limits_{i = 1}^n {c_{i}\left( t \right)} + r_n(t) \]

參考資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM