資源簡介
用plot_hht程序進行emd分解和畫圖:
運行后imf保存的是各個分量,d和b一個是分解過后的重構(gòu)信號,另一個是每個分量的能量大小。
出來的圖是每一個imf分量從高頻到低頻排列。
代碼片段和文件信息
function?imf?=?emd(x)
%?Empiricial?Mode?Decomposition?(Hilbert-Huang?Transform)
%?imf?=?emd(x)
%?Func?:?findpeaks
x???=?transpose(x(:));
imf?=?[];
while?~ismonotonic(x)
???x1?=?x;
???sd?=?Inf;
???while?(sd?>?0.1)?|?~isimf(x1)
??????s1?=?getspline(x1);
??????s2?=?-getspline(-x1);
??????x2?=?x1-(s1+s2)/2;
??????
??????sd?=?sum((x1-x2).^2)/sum(x1.^2);
??????x1?=?x2;
???end
???
???imf{end+1}?=?x1;
???x??????????=?x-x1;
end
imf{end+1}?=?x;
%?FUNCTIONS
function?u?=?ismonotonic(x)
u1?=?length(findpeaks(x))*length(findpeaks(-x));
if?u1?>?0?u?=?0;
else??????u?=?1;?end
function?u?=?isimf(x)
N??=?length(x);
u1?=?sum(x(1:N-1).*x(2:N)?0);
u2?=?length(findpeaks(x))+length(findpeaks(-x));
if?abs(u1-u2)?>?1?u?=?0;
else??????????????u?=?1;?end
function?s
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1258??2013-05-29?14:53??plot_hht.m
?????文件????????893??2008-03-13?11:49??emd.m
?????文件???????2187??2008-10-21?18:55??extrema.m
?????文件????????146??2007-08-26?00:42??findpeaks.m
-----------?---------??----------?-----??----
?????????????????4484????????????????????4
- 上一篇:wifi cmwrun自動測試腳本
- 下一篇:淘寶小號批量檢測-推廣版
評論
共有 條評論