一、爲什麼要用EMD
在信號處理方面我們瞭解了時域處理方法(如有效值、峭度)、頻域處理方法(如頻譜、功率譜)以及一些時頻域處理方法(如小波分析)(詳見專欄文章與信號處理有關的那些東東)。時域和頻域有各種的優勢和適用範圍,就不多說了,EMD(Empirical Mode Decomposition)作爲時頻域的處理方法,相對於同樣是時頻域方法的小波分析有什麼好處呢?
EMD最顯著的特點,就是其克服了基函數無自適應性的問題。啥意思呢?回憶小波分析部分的內容,我們會知道小波分析是需要選定某一個小波基的,小波基的選擇對整個小波分析的結果影響很大,一旦確定了小波基,在整個分析過程中將無法更換,即使該小波基在全局可能是最佳的,但在某些局部可能並不是,所以小波分析的基函數缺乏適應性。
通俗的說,用EMD有什麼好處呢?對於一段未知信號,不需要做預先分析與研究,就可以直接開始分解。這個方法會自動按照一些固模式按層次分好,而不需要人爲設置和干預。
再通俗一點,EMD就像一臺機器,把一堆混在一起的硬幣扔進去,他會自動按照1元、5毛、1毛、5分、1分地分成幾份。
二、內涵模態分量
內涵模態分量(Intrinsic Mode Functions, IMF)就是原始信號被EMD分解之後得到的各層信號分量。EMD的提出人黃鍔認爲,任何信號都可以拆分成若干個內涵模態分量之和。而內涵模態分量有兩個約束條件:
1)在整個數據段內,極值點的個數和過零點的個數必須相等或相差最多不能超過一個。
2)在任意時刻,由局部極大值點形成的上包絡線和由局部極小值點形成的下包絡線的平均值爲零,即上、下包絡線相對於時間軸局部對稱。
啥意思?
用不嚴謹的語言和靈魂畫師來解釋一下:
1)圖線要反覆跨越x軸,像這樣:
在整個數據段內,極值點的個數和過零點的個數必須相等或相差最多不能超過一個
而不能像這樣某次穿過零點後出現多個極點:
極點數目偏多
2)包絡線要對稱,像這樣:
包絡線對稱
而不能像這樣:
包絡線不對稱
洗洗眼睛,看個正常點的例子吧:
EMD分解
上圖由7張圖片組成,其中第1張爲原始信號,後邊依次爲EMD分解之後得到的6個分量,分別叫做IMF1~IMF5,最後一張圖爲殘差,每一個IMF分量代表了原始信號中存在的一種內涵模態分量。可以看出,每個IMF分量都是滿足這兩個約束條件的。
三、EMD分解步驟
EMD的分解過程是簡單直觀的:
1)根據原始信號上下極值點,分別畫出上、下包絡線。
上、下包絡線
2)求上、下包絡線的均值,畫出均值包絡線。
均值包絡線
3)原始信號減均值包絡線,得到中間信號。
原始信號減均值包絡線
4)判斷該中間信號是否滿足IMF的兩個條件,如果滿足,該信號就是一個IMF分量;如果不是,以該信號爲基礎,重新做1)~4)的分析。IMF分量的獲取通常需要若干次的迭代。
不滿足約束2,需要繼續迭代
使用上述方法得到第一個IMF後,用原始信號減IMF1,作爲新的原始信號,再通過1)~4)的分析,可以得到IMF2,以此類推,完成EMD分解。
迭代分解結果
上述例子中的圖來自http://perso.ens-lyon.fr/patrick.flandrin/emd.ppt
這個ppt中用了幾十頁的圖片完整地展示了EMD分解的過程,看一下該文檔相信你會對該過程有一個更清楚的瞭解。
這篇文章主要介紹了EMD的基本概念以及分解方法。後邊會陸續介紹EMD的具體應用,代碼實現方法,EMD存在的問題以及改進理論等等。感謝關注!
文章如要轉載請私信與我聯繫,並註明來源知乎專欄與信號處理有關的那些東東作者Mr.括號。
歡迎關注我的公衆號“括號的城堡”,微信號爲“khscience”,會有更多有趣的東西分享。
參考:
《振動信號處理與數據分析》