|
回复 69 # cassie920920 的帖子
您的意思是对原信号分解后的比如IMF1单分量求HT?
给你举个例子,您参考一下:
clear;
fs=1000;
tspan=2;
t=1/fs:1/fs:tspan;
N=length(t);
x=sin(2*pi*20*t);
y=sin(2*pi*60*t+140);
z=x+y;
plot(t,z);
imf=emd(z);
cemd_visu(z,1:length(z),imf);
%imf1的Hilbert变换
xn1=hilbert(imf(1,:));
xr1=real(xn1);
xi1=imag(xn1);
A1=sqrt(xr1.^2+xi1.^2);
figure,subplot(2,1,1);plot(t,A1);
xlabel('时间(t)');ylabel('瞬时振幅');title('imf1')
%imf1的瞬时相位
P1=atan2(xi1,xr1);
figure,subplot(2,1,1);plot(t,P1);
xlabel('时间(t)'); ylabel('瞬时相位');title('imf1')
%imf1瞬时频率
xh1=unwrap(P1);
fs=1000;
xhd1=fs*diff(xh1)/(2*pi);
figure,subplot(2,1,1);plot(t(1:1999),xhd1); xlabel('时间(t)');ylabel('瞬时频率');title('imf1')
|
|