24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1159  |  回复: 0

xiao又又

新虫 (初入文坛)

[求助] 请教一下emd程序问题出在哪里,得到的许多都是负频

我的时间序列n=432,想运用emd分解多个IMF,并求出振幅与频率,但出现很多负频,新手一枚,请各位指点迷津,小女不胜感激。
z= Book1S2;
t=(1:1:432);
figure
plot(t, z)
title('原始信号')
% EMD
imf=emd(z);
emd_visu(z,t,imf)
[A,f,tt]=hhspectrum(imf);
[im,tt]=toimage(A,f,tt,length(tt));
disp_hhs(im);
xlabel('时间(月)')
ylabel('含沙量');
figure
disp_hhs(A,tt)
未定义与 'double' 类型的输入参数相对应的函数 'instfreq'。

出错 hhspectrum (line 79)
  f(i,=instfreq(an(i,',tt,l)';



z=imf1;
>> hx=hilbert(z);
xr=real(hx);xi=imag(hx);
%计算瞬时振幅
sz=sqrt(xr.^2+xi.^2);
%计算瞬时相位
sx=atan(xi./xr);sx=angle(hx);
%计算瞬时频率
dt=diff(t);
dx=diff(sx);
sp=dx./dt;
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiao又又 的主题更新
信息提示
请填处理意见