lfine100 发表于 2009-6-5 23:15

HHT的一点问题,请大侠解答

小弟最近做毕设。matlab和HHT都不是很熟悉。遇到了很多问题,看论坛上的贴子,得到了很多启发。但是还有一些问题。希望大侠帮我看看
我用的程序是法国人的。
下面是我自己编的一段主程序,用来求HHT谱。但是得到的谱图,横坐标是数据点,而不是时间。纵坐标是归一化的频率,而不是实际频率。如图

下面是我的程序:
imf=emd(x);
a=length(imf);
imf=cell2mat(imf);%我的matlab2009得到的imf集是cell格式的,这里先转换为矩阵。
xx=reshape(imf,7000,a);
xx=xx';
= hhspectrum(xx,1:7000,2,1);
= toimage(A,f);
disp_hhs(im)

因为我对hhspectrum   toimage disp_hhs这三个程序的一些参数不是很明白,所以老是调试不对。请大家帮我看看我这段程序对不对,应该怎样改才能得到实际频率和时间。
另外,我用破凰的程序求边际谱得到的结果是这种的:

在x=0处总有一个很大的振幅。
fs=350;    %fs为采样频率;
N=7000;   %采样点数
=hhspectrum(xx);
=toimage(A,fa,tt,length(tt));
for k=1:size(E,1)
    bjp(k)=sum(E(k,:))*1/fs;
end
f=(0:N-3)/N*(fs/2);
plot(f,bjp);
xlabel('频率 / Hz');
ylabel('幅值');
这是程序。不知道是我这程序错了,还是前面的EMD分解就错了。请大侠解答,不胜感激。

lfine100 发表于 2009-6-9 21:49

回复 楼主 lfine100 的帖子

没人解答么
页: [1]
查看完整版本: HHT的一点问题,请大侠解答