簡要說明EMD函數

這是我在新浪微博上看到的,爲了便於自己記錄,轉載了

博主最近在研究EMD分解,現舉例簡要說明EMD函數的使用

t=1:500;
t=t*1/2000;
x=sin(2*pi*20*t);
y=0.4*sin(2*pi*40*t+140);
z=x+y;
plot(t,z)   %畫出原始的信號

imf=emd(z);%調用EMD工具箱中的emd函數,運行結果如下


%Imf有5行,意味着原始信號被分解成了4個IMF(本徵模函數Intrinsic Mode Function)和一個餘波(殘差residual)

emd_visu(z,1:length(z),imf) %調用EMD工具箱中的emd_visu函數,運行結果如下:


從第一張圖我們可以看到,IMF1到IMF4再加上residual就是原始信號。

而f2c和c2f分別從2個相反的方向重構原始信號(f2c1就是IMF1,而f2c2是IMF1和IMF2合成的,f2c3是IMF1,IMF2,IMF3合成的;而c2f1就是IMF4,其餘依次類推,注意IMF3和IMF4不是直線,而是曲線,由於一張圖裏要畫好幾個分圖故圖像被壓縮了,看起來像直線)

仔細觀察各imf分量,我們可以發現imf1和imf2其實就是對應於原始信號中的y和x,而其他的imf的振幅非常小,可以看做是EMD分解的誤差。


PS.EMD分解在實際應用中是需要檢驗的,NASA的ZHAOHUA WU和黃先生寫了一篇論文A Study of the Characteristics of White Noise Using the Empirical Mode Decompostion Method來介紹如何檢驗,他們也寫好了matlab程序,大家可以去臺灣中央大學數據分析中心下載http://rcada.ncu.edu.tw/research1.htm


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章