马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我是用法国人的hhspectrum和toimage做的,自己编写的边际谱程序,
当我用如下程序计算式
function bjp(x,Fs)
N=length(x);
fs=Fs;
imf=emd_online(x);
[A,f,tt]=hhspectrum(imf);
[im,tt] = 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);
[A,f,tt]=hhspectrum(imf);
[im,tt] = 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边际谱')
但计算出如下的边际谱 |