zhlg120 发表于 2009-9-22 15:07

边际谱问题求助,请帮忙一下看哪里出问题了(急)

我是用法国人的hhspectrum和toimage做的,自己编写的边际谱程序,
当我用如下程序计算式
function bjp(x,Fs)
N=length(x);
fs=Fs;
imf=emd_online(x);
=hhspectrum(imf);
= toimage(A,f);
im=flipud(im);
for k=1:size(im,1)
    bjp(k)=sum(im(k,:))*1/fs;
end
f=(0:N-3)/N*(fs/2);
plot(f,bjp);
xlabel('频率 / Hz');
ylabel('幅值');
title('Hilbert边际谱')

出现如f和bjp长度不等错误。


我每个变量计算后的确长度不等。
改为如下程序
function bjp(x,Fs)
N=length(x);
fs=Fs;
imf=emd_online(x);
=hhspectrum(imf);
= toimage(A,f);
%im=flipud(im);
for k=1:size(im,2)
    bjp(k)=sum(im(:,k))*1/fs;
end
f=(0:N-3)/N*(fs/2);
plot(f,bjp);
xlabel('频率 / Hz');
ylabel('幅值');
title('Hilbert边际谱')


但计算出如下的边际谱

zhlg120 发表于 2009-9-22 15:13

并且计算出的Hilbert谱为如下,请高手看看是否正确,谢谢。附计算数据

zhlg120 发表于 2009-9-22 15:18

附清晰地边际谱图

zhlg120 发表于 2009-9-22 15:22

附程序,谢谢
页: [1]
查看完整版本: 边际谱问题求助,请帮忙一下看哪里出问题了(急)