马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
因为国立中央大学的程序没有给出话希尔伯特普图的程序,所以我想用国立中央大学的瞬时频率程序求出瞬时频率,然后画出谱图,我写了个程序,但是运行的时候错误很多,不出结果,请各位帮我看看!程序如下:
>> clear
>> fs=200;
>> t=0:1/fs:1;
>> s=cos(10*pi*t)+2*cos(40*pi*t);
>> allmode=eemd(s,0,1);
>> for i=2:(size(allmode,1)-1)
omega(i,:)=ifndq(allmode(i,:),1/fs)
f(i,:)=omega(i,:)/2*pi
abs_allmode(i,:)=allmode(i,:)
for j=1:length(t)
abs_allmode(i,:)=allmode(i,:)
if abs_allmode(i,:)<0
abs_allmode(i,:)=-allmode(i,:)
end
end
Nnormal=5
for jj=1:Nnormal
[spmax,spmin,plag]=extrema(abs_allmode(i,:))
dd=1:length(t)
upper=spline(spmax(:,1),spmax(:,2),dd)
for k=1:length(t)
abs_allmode(k)=abs_allmode(k)/upper(k)
end
end
A=abs_allmode(i:2:length(t)-1)
[im,tt]=toimage(A,f);%画出希尔伯特谱
disp_hhs(im); |