声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1650|回复: 2

[FFT] 怎么计算频率突变信号的FFT

[复制链接]
发表于 2010-5-31 09:51 | 显示全部楼层 |阅读模式

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

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

x
clear;
clc;
T=1,fs=1000;
%-------------------频率突变信号------------------------
t1=0:1/fs:T/2-1/fs;
t2=T/2:1/fs:T-1/fs;
t=[t1,t2];
x=[sin(2*pi*50*t1),sin(2*pi*100*t2)];
% plot(t,x)
Y = fft(x,512);
Pyy = Y.* conj(Y) / 512;
f = 1000*(0:255)/512;
plot(f,Pyy(1:256))
title('Frequency content of x')
xlabel('frequency (Hz)')

以上是程序,可是最后画图的时候只有在50Hz的地方出现谱峰,在100Hz的地方就没有,请问该怎么解决?
回复
分享到:

使用道具 举报

发表于 2010-5-31 10:24 | 显示全部楼层
因为你算FFT时只取了前面频率为50Hz的500个点,还有频率为100Hz的12个点,能量太小,显示不出来。
注意你这一句:
clear;
clc;
T=1,fs=1000;
%-------------------频率突变信号------------------------
t1=0:1/fs:T/2-1/fs;
t2=T/2:1/fs:T-1/fs;
t=[t1,t2];
x=[sin(2*pi*50*t1),sin(2*pi*100*t2)];
% plot(t,x)
Y = fft(x,512);   %计算FFT时只取了512个点
Pyy = Y.* conj(Y) / 512;
f = 1000*(0:255)/512;
plot(f,Pyy(1:256))
title('Frequency content of x')
xlabel('frequency (Hz)')

评分

1

查看全部评分

 楼主| 发表于 2010-5-31 11:32 | 显示全部楼层
谢谢LS,已经解决了。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-18 08:07 , Processed in 0.046790 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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