声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1927|回复: 4

[FFT] 请问做完FFT后怎么求幅度最大值的频率

[复制链接]
发表于 2012-11-6 15:55 | 显示全部楼层 |阅读模式

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

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

x
请问各位大侠,做完FFT后怎么求幅度最大值的频率?
回复
分享到:

使用道具 举报

发表于 2012-11-6 23:05 | 显示全部楼层
Xk=fft(xn);
mag=abs(Xk);
[m i]=max(mag);
m就是振幅的最大值,i是他所在的位置。
希望对你能有帮助
 楼主| 发表于 2012-11-7 09:42 | 显示全部楼层

嗯,谢谢啊,弱弱再问一句,比如一个sin(2*t);我对其做FFT,那么可以做一个频谱,那为什么频谱不在2HZ处,而是周围都有幅值啊?这应该是FFT算法问题吧,比如有用信号为sin(2*t),加了个噪声,我能不能通过FFT变换只将2HZ附近的幅值保留,而将其他的置零,这样滤波可以吗?这不是理想的滤波器吗?然后在做IFFT得到原始信号.这样做为什么不准确啊?
发表于 2012-11-7 17:37 | 显示全部楼层
倔强的笨蛋 发表于 2012-11-7 09:42
嗯,谢谢啊,弱弱再问一句,比如一个sin(2*t);我对其做FFT,那么可以做一个频谱,那为什么频谱不在2HZ处,而是周 ...

首先,频率为f的正弦信号,是sin(2*pi*f*t),所以sin(2*t),的频率不是2Hz.另外用FFT的时候注意采样点是2的N次方。我做了一下,没有任何问题。看下图:
untitled.jpg
你的滤波器设计我不太好评判,应该可行吧。不过真要用滤波器还是建议照着书本来
 楼主| 发表于 2012-11-7 17:42 | 显示全部楼层
党大当家 发表于 2012-11-7 17:37
首先,频率为f的正弦信号,是sin(2*pi*f*t),所以sin(2*t),的频率不是2Hz.另外用FFT的时候注意采样点是2 ...

不好意思那个频率写错了,主要是我这样做有很大的频谱泄露,恢复时有困难,这样做能频谱校正吗?我想在问下关于kaiser窗滤波后的数据怎么校正?不好意思本人没有学过信号,问的问题有些低
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-11 05:16 , Processed in 0.070044 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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