matlab使用經驗模式分解emd 對訊號進行去噪
原文連結:http://tecdat.cn/?p=2567
對於這個例子,考慮由具有明顯頻率變化的正弦波組成的非平穩連續訊號。手提鑽的振動或煙花聲是非平穩連續訊號的例子。
以取樣頻率載入非平穩訊號資料fs
,並可視化混合正弦訊號。
- load('sinusoidalSignalExampleData.mat','X','fs');
- xlabel('Time(s)');
觀察到混合訊號包含具有不同幅度和頻率值的正弦波。
為了建立希爾伯特譜圖,您需要訊號的IMF。執行經驗模式分解以計算訊號的固有模式函式和殘差。由於訊號不平滑,請指定'pchip
'作為Interpolation
[imf,residual,info] = emd(X,'Interpolation','pchip');
- 目前的IMF | #Sift Iter | 相對Tol | 停止標準命中
- 1 | 2 | 0.026352 | SiftMaxRelativeTolerance
- 2 | 2 | 0.0039573 | SiftMaxRelativeTolerance
- 3 | 1 | 0.024838 | SiftMaxRelativeTolerance
- 4 | 2 | 0.05929 | SiftMaxRelativeTolerance
- 5 | 2 | 0.11317 | SiftMaxRelativeTolerance
- 6 | 2 | 0.12599 | SiftMaxRelativeTolerance
- 7 | 2 | 0.13802 | SiftMaxRelativeTolerance
- 8 | 3 | 0.15937 | SiftMaxRelativeTolerance
- 9 | 2 | 0.15923 | SiftMaxRelativeTolerance
- 分解停止是因為殘留訊號的極值數小於'MaxNumExtrema'。
在命令視窗中生成的表指示每個生成的IMF的篩選迭代次數,相對容差和篩選停止標準。此資訊也包含在info
。您可以通過指定Display
為隱藏表0
。
HHT(IMF,FS);
頻率對時間圖是一個稀疏圖,其中垂直顏色條表示IMF中每個點的瞬時能量。該圖表示從原始混合訊號分解的每個分量的瞬時頻譜。從該圖中可以觀察到三個IMF,其頻率在1s處有明顯變化。
視覺化訊號的殘餘和內在模式功能
對於這個例子,考慮由具有明顯頻率變化的正弦波組成的非平穩連續訊號。手提鑽的振動或煙花聲是非平穩連續訊號的例子。
載入非平穩訊號資料,並可視化混合正弦訊號。
load('sinusoidalSignalExampleData.mat','X','fs');
觀察到混合訊號包含具有不同幅度和頻率值的正弦波。
執行經驗模式分解以繪製固有模式函式和訊號殘差。由於訊號不平滑,請指定'pchip
'作為Interpolation
方法。
emd(X,'Interpolation','pchip');
- 目前的IMF | #Sift Iter | 相對Tol | 停止標準命中
- 1 | 2 | 0.026352 | SiftMaxRelativeTolerance
- 2 | 2 | 0.0039573 | SiftMaxRelativeTolerance
- 3 | 1 | 0.024838 | SiftMaxRelativeTolerance
- 4 | 2 | 0.05929 | SiftMaxRelativeTolerance
- 5 | 2 | 0.11317 | SiftMaxRelativeTolerance
- 6 | 2 | 0.12599 | SiftMaxRelativeTolerance
- 7 | 2 | 0.13802 | SiftMaxRelativeTolerance
- 8 | 3 | 0.15937 | SiftMaxRelativeTolerance
- 9 | 2 | 0.15923 | SiftMaxRelativeTolerance
- 分解停止是因為殘留訊號的極值數小於'MaxNumExtrema'。
生成具有原始訊號,前3個IMF和殘差的互動式圖。在命令視窗中生成的表指示每個生成的IMF的篩選迭代次數,相對容差和篩選停止標準。您可以通過指定Display
為隱藏表0
。
右鍵單擊圖中的空白區域以開啟IMF選擇器視窗。使用IMF選擇器有選擇地檢視生成的IMF,原始訊號和殘差。
從列表中選擇要顯示的IMF。選擇是否在圖上顯示原始訊號和殘差。
選定的IMF現在顯示在圖上。
使用該圖視覺化從原始訊號中分解的各個元件以及殘差。請注意,殘差是根據IMF總數計算的,並且不會根據IMF選擇器視窗中選擇的IMF進行更改。
非常感謝您閱讀本文,有任何問題請在下方留言!