|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
%仿真信号
N=1000;
n=1:N;
fs=1000;t=n/fs;
fx=20;
fy=60;
x=cos(2*pi*fx*t);
y=10*cos(2*pi*fy*t);
z=x+y;
data=z;
subplot(421);plot(t,data);
ylabel('幅值');xlabel('时间');title('原始信号时域图');
[c,l]=wavedec(x,3,'db10');
cd1=detcoef(c,l,1);
subplot(422);plot(cd1);
ylabel('cd1');
cd2=detcoef(c,l,2);
subplot(423);plot(cd2);
ylabel('cd2');
cd3=detcoef(c,l,3);
subplot(424);plot(cd3);
s1=hilbert(cd1);
s2=hilbert(cd2);
s3=hilbert(cd3);
ydata=abs(s1);
y1=ydata.^2;
w1=sqrt(cd1.^2+y1);
imf=emd(w1);
cemd_visu(w1,1:length(w1),imf);
Imf=imf(1:3,1:509);[A,f,t]=hhspectrum(Imf);
[E,t,Cenf]=toimage(A,f);
for k=1:size(E,1)
bjp(k)=sum(E(k,:))*1/fs;
end
figure(3);
plot(Cenf(1,:)*fs,bjp);
xlabel('频率 / Hz');
ylabel('幅值');
我是用红色的这行程序取的imf分量,总感觉不对,请高手指点! |
|