利用HHT變換分解信號(hào)以及求瞬時(shí)頻率等,但是為何不同IMF分量求出來(lái)的瞬時(shí)頻率是一樣的呢,搞不清楚。下面是matlab代碼求頻率的,高手看看是不是存在什么問(wèn)題。
hx = hilbert(C);
xr=real(hx);xi=imag(hx);
sz=sqrt(xr.^2 + xi.^2);
sx=atan(xi./xr);
dt = diff(t);
dx = diff(sx);
sp = dx./dt;
figure
plot(t(1:N-1),sp)
title(['InstantFreq imf ' num2str(i)])
end
%計(jì)算HHT時(shí)頻譜和邊際譜
[A,infeq,tt] = hhspectrum(C,t,1,1);
[im,tt1,Cenf] = toimage(A,infeq,tt,length(tt));
disp_hhs(im,tt1) %二維圖顯示HHT時(shí)頻譜,E是求得的HHT譜
這里由兩種瞬時(shí)頻率,一種是根據(jù)HHT定義的根據(jù)相位時(shí)間導(dǎo)數(shù)求的(sp),還有下面的根據(jù)matlab內(nèi)部函數(shù)instfreq求的瞬時(shí)頻率(infeq)。sp有正有負(fù),infeq嚴(yán)格 在0-0.5之間。不知道哪種方法是合理的,本人不是學(xué)這專(zhuān)業(yè)的,最近用到這個(gè)工具,但是有些搞不懂,請(qǐng)高手指點(diǎn)。
另外,上面還有一個(gè)求解中心頻率的(Cenf),但是出來(lái)的結(jié)果是一個(gè)從0-0.5線性序列。而且出來(lái)只有一個(gè)序列,看EMD分解可看到有5個(gè)IMF分量?吹接形恼抡f(shuō),中心頻率就是每個(gè)IMF瞬時(shí)頻率的平均值,如果是這樣算的話倒是可以理解了。
下面三幅圖分別是EMD分解的結(jié)果,HHT頻譜圖,還有個(gè)邊際譜圖。雖然做了但是看不懂太深的東西。請(qǐng)大家?guī)兔Ψ治鲋更c(diǎn)。
![]()
marginal_sp.png
![]()
EMD.png
![]()
HHT_spectrum.png
[ Last edited by tony1230 on 2013-5-6 at 13:42 ] |