声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1112|回复: 0

[编程技巧] 得到emd分量频谱图,只想要得到正半轴的频率,如何该?

[复制链接]
发表于 2013-3-19 15:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
源程序:
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表示一边的)

图2,想到得到的imf1和2

图2,想到得到的imf1和2

我自己得到的imf1和2

我自己得到的imf1和2

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-10 10:28 , Processed in 0.058091 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表