bgpz2007 发表于 2013-3-19 15:44

得到emd分量频谱图,只想要得到正半轴的频率,如何该?

源程序:
clc;
clear;
fs=2560;
t=(0:1/fs:0.2);
n=512;
a=pi;
x=(1+0.2*sin(2*a*7.5*t)).*cos(2*a*30*t+0.5*sin(2*a*15*t))+sin(2*a*120*t);
plot(t,x);
xlabel('t/s');ylabel('x');
imf=emd(x);
cemd_visu(x,1:length(x),imf);
x1=imf(1,:);%经过分解后得出的IMF1
FY=fft(x1);%傅里叶变换得出频谱函数
FY1=fftshift(FY);%频谱校正
f=(0:n)*fs/n-fs/2;
figure(3);
subplot(2,1,1);
plot(f,abs(FY1),'r');
ylabel('imf1');
xlabel('频率f/Hz');
grid;
x2=imf(2,:);%经过分解后得出的IMF2
FYY=fft(x2);%傅里叶变换得出频谱函数
FYY1=fftshift(FYY);%频谱校正
ff=(0:n)*fs/n-fs/2;
subplot(2,1,2);
plot(ff,abs(FYY1),'r');
ylabel('imf2');
xlabel('频率f/Hz');
grid;

结果是图1这样的形式,想得到imf1和imf2频率的绝对值如图2
怎么做?怎么改改程序?(我记得以前哪个帖子说过除以2,是正负两边的;不除以2表示一边的)

页: [1]
查看完整版本: 得到emd分量频谱图,只想要得到正半轴的频率,如何该?