声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1296|回复: 3

[FFT] 请大家看看这个fft的结果是什么问题?!

[复制链接]
发表于 2008-7-8 15:54 | 显示全部楼层 |阅读模式

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

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

x
clear
fs=1;
N=1000;
t=0:fs:(N-1)*fs;
x1=sin(3*2*pi*t);
x2=cos(0.5*2*pi*t+cos(0.05*t));
x3=sin(0.06*2*pi*t);
z=x1+x2+x3;%%z包括一个调频信号和另外两个正弦信号
fhz=abs(fft(z));%快速傅里叶变换
ff=(0:N/2-1)*1/N;%用ff=(0:length(z)-1)*fs/length(z)
plot(ff,fhz);

如下图,其中一个正弦信号和调频信号的应该没有错,频率为3hz的怎么不对,请指教!
未命名3.jpg
回复
分享到:

使用道具 举报

发表于 2008-7-8 16:22 | 显示全部楼层
你的fs才1hz当然不行了。
发表于 2008-7-8 16:25 | 显示全部楼层

3赫正弦波显示不出来

取样频率fs为1赫,只能上显示最高频率为fs/2=0.5赫的正弦波,3赫正弦波显示不出来

另外t=0:fs:(N-1)*fs;  应为  t=0:1/fs:(N-1)/fs;

plot(ff,fhz)   应为 plot(ff,fhz(1:N/2));
 楼主| 发表于 2008-7-8 20:22 | 显示全部楼层
学习了,谢谢,忽略了耐奎斯特定理,用下面的程序就很好了

clear
fs=100;
N=1000;
t=0:1/fs:(N-1)*1/fs;
x1=sin(30*2*pi*t);
x2=cos(10*2*pi*t+90*cos(0.05*t));
x3=sin(5*2*pi*t);
z=x1+x2+x3;%%z包括一个调频信号和另外两个正弦信号
fhz=abs(fft(z));%快速傅里叶变换
ff=(0:N/2-1)*fs/N;%用ff=(0:length(z)-1)*fs/length(z)
plot(ff,fhz(1:N/2))
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-17 06:20 , Processed in 0.101940 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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