|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
用EMD做一个频率突变的例子,但是瞬时频率好像不对,两端应该是5HZ啊,程序如下:
x=0:0.0001:1;
y1=zeros(size(x));
y2=zeros(size(x));
y3=zeros(size(x));
N=length(x);
for k=1:N
if x(k)<0.63&x(k)>=0
y1(k)=cos(2*pi*5*x(k)) ;
elseif x(k)>=0.63&x(k)<0.6357
y2(k)=-1.02*x(k)+1.2354;
else
y3(k)=cos(2*pi*5*x(k)-0.2);
end
end
y=y1+y2+y3;
figure(1)
plot(x,y);
imf=emd(y);
[m,n]=size(imf);
figure(2)
for i=1:m
subplot(m,1,i);
plot(x,imf(i,:));
end
figure(3)
P=hilbert(imf(1,:));
th = unwrap(angle(P));%Hilbert变换的相位
d = diff(th)*10000/(2*pi);%求导,得到频率:f = (1/2*pi)*d(th)/dt
plot(d)
图如下:
1、原始信号
原始信号
2、EMD分解
EMD分解
3、IMF1瞬时频率
IMF1瞬时频率
|
|