【问题标题】:How can I get hilbert marginal spectrum with matlab2018a?如何使用 matlab2018a 获得希尔伯特边缘谱?
【发布时间】:2019-07-02 01:32:43
【问题描述】:

我可以在我的信号数据上实现 eemd 和 hht,以使用 matlab2018a 获得 imf 和希尔伯特谱。但是,我不知道如何获得希尔伯特边缘谱。

我找到了一些代码,但我认为它们不适合我的 matlab 版本。我发现的代码包含 matlab2018a 无法识别的“hhspectrum”和“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');

我还找到了 hhspectrum.m 和 toimage.m,但是在我实现它们时出现了一些错误,我不知道如何修复它们。

我已经使用如下代码实现了我的信号数据:

imf=eemd(globalsignal,3,100);

[hs,f,T]=hht(imf,fs); 

得到了 imf 和 hilbert 谱 hs。

我的问题是如何根据 imf、hs、emd 和 hht 获得希尔伯特主谱?另外,怎么才能画出时间、频率、能量的3D图呢?我只知道边缘谱是通过希尔伯特谱积分得到的,但是如何积分呢?

请帮帮我,非常感谢!!!

【问题讨论】:

    标签: matlab


    【解决方案1】:

    我必须使用旧 matlab 版本的代码。但现在我得到了边缘希尔伯特谱。因此,如果您对新的 matlab 版本的边际希尔伯特谱有更好的答案,请留言。 衷心感谢!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-25
      • 1970-01-01
      • 2010-09-11
      • 2018-11-26
      • 1970-01-01
      • 2020-12-16
      • 1970-01-01
      • 2019-10-16
      相关资源
      最近更新 更多