matlab中运行hhspectrum函数的错误instfreq

这篇博客介绍了如何使用MATLAB初识希尔伯特黄变换(HHT),通过实例演示了EMD分解和HHT谱的计算过程,包括EMD工具箱和TFTB时间序列工具箱的安装问题与解决。读者将学到HHT在信号处理中的应用和关键步骤。
摘要由CSDN通过智能技术生成

初次学习希尔伯特黄变换HHT,并用matlab编程实现。
这是网上比较经典的一个例子:

%示例程序
N=100;
n=1:N;
fs=1000;
t=n/fs;
fx=50;
fy=150;
x=2*sin(2*pi*fx*t);
y=sin(2*pi*fy*t);
z=x+y;
data=z;
imf=emd(data);  % 对输入信号进行EMD分解    
[A,f,t]=hhspectrum(imf);    % 对IMF分量求取瞬时频率与振幅:A:是每个IMF的振幅向量,f:每个IMF对应的瞬时频率,t:时间序列号
[E,t,Cenf]=toimage(A,f);    % 将每个IMF信号合成求取Hilbert谱,E:对应的振幅值,Cenf:每个网格对应的中心频率。这里横轴为时间,纵轴为频率。即时频图(用颜色表示第三维值的大小)和三维图(三维坐标系:时间,中心频率,振幅)        
cemd_visu(data,1:length(data),imf); % 显示每个IMF分量及残余信号
disp_hhs(E);    % 希尔伯特谱

安装了EMD工具箱和TFTB时间序列工具箱后,运行以上程序报错:instfreq不应为负值。检查程序后发现无误,其实是工具箱安装问题。
Empirical Mode Decomposition Toolbox(EMD Toolbox)

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值