Legendary 发表于 2012-3-20 16:50

请教HHT做边际谱的问题

我在使用HHT工具箱进行数据处理时出现了以下的问题,不知如何解决,特向各位请教!
源程序:
%emd分解
imf=emd(y_trimtrend);         % G. Rilling程序,2006年版
emd_visu(y_trimtrend,t,imf,4);    % G. Rilling程序,2006年版
                              % figure(4);figure(5);figure(6);
% 边际谱,用论坛中破凰的程序,作了小的修改 figure(7);
IMF=imf(1,:);
=size(IMF);
N=col;
nIMF=row;
=hhspectrum(IMF(1:nIMF,:));    %Hilbert-Huang变换,计算瞬时频率和瞬时幅值
=toimage(A,fa,tt,length(tt));
NN=size(E,1);
for k=1:NN
    bjp(k)=sum(E(k,:))*1/NN;
end
f=(0:N-3)/N*(sf/2);
figure;
plot(f,bjp);
xlabel('频率(Hz)');
ylabel('幅值');

% Hilbert-Huang时频谱 figure(8)
=hhspectrum(imf(1,:));
=toimage(A,f);
disp_hhs(im,tt,[],sf);
ylim();xlabel('时间(s)');ylabel('频率(Hz)');
运行时出现如下错误:
Error in ==> hhspectrum at 20
ifnargin < 2

??? Output argument "A" (and maybe others) not assigned during call to
"C:\Users\YIN_LAB\Desktop\hht工具箱\hht工具箱\hhspectrum.m>hhspectrum".

cwb 发表于 2014-9-11 21:11

你好,可以解释一下toiamge得到的结果中E到底是什么意思吗?它的行和列是受toiamge函数中的参数个数控制的,我一直都没搞明白为什么默认的行是400行。。。如果加上tt和length(tt)的话又出错,,,还有为什么对E的每一行进行累加得到的就是边际谱,难道E的每一行就代表某个频率在整个时间跨度上的幅度值吗?
如能得到解答,感激不尽,谢谢!!!
页: [1]
查看完整版本: 请教HHT做边际谱的问题