|
本帖最后由 cassie920920 于 2011-10-26 21:02 编辑
不知道樓主還在不在??我利用您分享的文件裡,第五章節這段程式
clear all;
close all;
clc;
fs = 1000;
N = 1000;
n = 1:N;
t = n/fs;
sinData1 = cos(2*pi*10*t);
sinData2 = 10 * cos(2*pi*50*t);
sinData = sinData1 + sinData2;
N = length(sinData);
T = 1/fs;
t = 1/fs:1/fs:N/fs;
figure
plot(t,sinData)
% axis([-inf inf -2.5 2.5])
imf = emd(sinData);
%% 函數測試
[A,f,t] = hhspectrum(imf);
[E,t,Cenf] = toimage(A,f);
cemd_visu(sinData,1:length(sinData),imf);
disp_hhs(E);
for k = 1:size(E,1)
bjp(k) = sum(E(k,:))*(1/fs);
end
figure
plot(Cenf(1,:)*fs,bjp)
但,執行後,出現的Hilbert譜和Hilbert邊際譜結果都是錯的??
都是空值??怎麼會這樣呢??
是哪邊出了問題??能否請您幫忙看看??
還有,因為我接下來需使用DSP晶片來做處理,因此不能使用MATLAB函數來做HHT,所以,我自行寫了程式,到EMD都順利完成,但在畫Hilbert譜的時候結果卻錯誤,可否請問樓主,若Hilbert譜跟邊際譜要自己運用程式計算並畫出來的話,該怎麼寫比較好??
Hilbert譜結果
Hilbert邊際譜
|
|