我可以在我的信号数据上实现eemd和hht,用matlab2018a获得imf和hilbert谱。然而,我不知道如何得到希尔伯特边际谱。
我发现了一些代码,但它们不适合我的matlab版本。我发现的代码包含了matlab2018a无法识别的“The谱”和"toimage“。我发现的代码如下:
[A,f,tt]=hhspectrum(imf);
[E,tt,Cenf]=toimage1(A,f);
disp_hhs(E);
E=flipud(E);
NN=size(E,1);
for k=1:size(E,1)
bjp(k)=sum(E(k,:))*1/Fs;
end
ff=(0:NN-1)/NN*(Fs/2);
figure(3);
plot(ff,bjp);
% plot(Cenf(1,:)*Fs,bjp);
xlabel('Frequency / Hz');
ylabel('Amplitude');
我还发现了hh谱um.m和toimage.m,但是当我插入它们时会出现一些错误,而我不知道如何修复它们。
我使用如下代码实现了我的信号数据:
imf=eemd(globalsignal,3,100);
[hs,f,T]=hht(imf,fs);
得到了国际货币基金组织和希尔伯特谱hs.
我的问题是,如何得到基于imf,hs,emd和hht的希尔伯特原始谱?此外,如何用时间、频率和能量绘制三维图形?i只知道通过积分希尔伯特谱得到边缘谱,但如何进行积分?
请帮帮我,非常感谢!
发布于 2019-07-04 02:36:09
我必须用旧的matlab版本的代码。但现在我得到了边际希尔伯特谱。所以,如果你有一个更好的答案,边际希尔伯特谱与新的matlab版本,请留下你的单词。衷心感谢!
https://stackoverflow.com/questions/56844241
复制相似问题