棒棒糖662 发表于 2008-4-2 15:27

频谱显示时出现的问题

我在运行HHT程序时,没有使用toimage和disp_hhs这两个函数而是直接用plot输出瞬时频率,得到的图如 第一张图所示,而使用toimage和disp_hhs这两个函数得到的图如第二张所示,请问在第一张图中端点处出现一些幅度很大的线,该怎么理解呢?主程序如下

fs=200;
N=1001;
n=0:1:N-1;dt=1/fs;t=n*dt;
x1=sin(2*pi*10*t);
x2=sin(2*pi*6*t);
x3=cos(2*pi*3*t);
x=x1+x2+x3;

%经验模态分解
%imf= emd(x,t,,2);
imf=emd(x)
imf=emd_visu(x,t,imf)%EMD分解
=hhspectrum(imf);
ff=f*fs;
figure
plot(tt,ff,'k')
xlabel('时间点数')
ylabel('实际频率')
title('希尔伯特-黄谱')

%=hhspectrum(imf);
%=toimage(A,f);
%disp_hhs(im);
%colormap(flipud(gray))

5

4

棒棒糖662 发表于 2008-4-2 15:30

不好意思上面的图我发反了,第一张图是使用toimage跟disp_hhs函数得到的图,第二张是没有使用这两个函数直接用plot 输出的

zhangnan3509 发表于 2008-4-2 22:32

回复 2楼 的帖子

建议楼主修改disp_hhs这个函数就可以 得到实际频率的图形。
如果直接用=hhspectrum(imf);这个函数,请看清楚输出变量的说明 tt是被截断的时间,不能直接拿来用

南宫轩宇 发表于 2011-12-2 16:19

顶起,期望大牛出现

泥尘如故 发表于 2013-3-20 17:37

能把dis_hhs的原程序发给我吗?我下了个错的ludaheu@163.com
页: [1]
查看完整版本: 频谱显示时出现的问题