求教关于FFT超过预定采样率的判别,标题看不懂的进来看。

[复制链接]
3643|8
 楼主| hackthree 发表于 2012-2-20 17:03 | 显示全部楼层 |阅读模式
发在这个版块,其实也就是我用的STM32的DSP库做的FFT运算,
但是这个帖子和STM32没啥关系,只讨论FFT。
FFT的最大测量上限和AD的采样率有关,
根据奈奎斯特采样定理,AD的采样率必须是FFT测量上限的两倍以上。
如果小于,那就会出现信号重叠的情况。
比如FFT最大测量上限是1024HZ,那AD的采样率就至少要2048HZ的采样率。。
假如AD取2048HZ 的采样率,那么FFT最大只能测到1024HZ的频率。。
超过1024HZ的话,就会和前面的频率重叠。
那我现在想问的问题就是,如何判断FFT测量的信号是正确范围内的还是重叠后的?
比如只能测1024HZ,但是现在的实际信号是1200HZ,这时候测到的信号可能是任意一个值。。
怎么判断所测的信号已经超过了FFT的最大上限?(前提是我不知道被测信号的大小)
xwj 发表于 2012-2-20 17:49 | 显示全部楼层
LZ,先去看下输出数据,你就会明白了
 楼主| hackthree 发表于 2012-2-21 08:04 | 显示全部楼层
2# xwj
指的是经过FFT算过之后的那个输出数据?
sjnh 发表于 2012-2-21 08:48 | 显示全部楼层
你要分辨出1200的频率,采样频率只能超过2400。
“FFT最大测量上限是1024HZ”,FFT的点数影响你的频率分辨率,你用采样频率是2048,采样点是1024,那么频率分辨率是2Hz,
 楼主| hackthree 发表于 2012-2-21 08:52 | 显示全部楼层
4# sjnh
这个我知道,我现在的情况就是在固定的AD采样率的情况下,如果待测频率超过了AD采样率1/2的情况下,怎么判断它超过了?
mybao 发表于 2012-2-21 13:43 | 显示全部楼层
实际上,这里有个前提,楼主没注意到,

就是AD进来的数据,要经过防混叠滤波,比如8K的采样速率,那么进来的数据4K以上频率的要全部滤掉,不然,数据失真了。

所以你首先要清楚,需要处理的数据最高频率是多少,AD之前要加个低通滤波,滤掉高频
mybao 发表于 2012-2-21 13:45 | 显示全部楼层
需要处理的数据最高频率,是事先确定的。
 楼主| hackthree 发表于 2012-2-21 15:39 | 显示全部楼层
实际上,这里有个前提,楼主没注意到,

就是AD进来的数据,要经过防混叠滤波,比如8K的采样速率,那么进来的数据4K以上频率的要全部滤掉,不然,数据失真了。

所以你首先要清楚,需要处理的数据最高频率是多少,AD ...
mybao 发表于 2012-2-21 13:43

这些我都知道,我之所以没有这样处理,是因为判断是否超过上限对我有用。
mybao 发表于 2012-2-21 16:10 | 显示全部楼层
FFT只有下限,木有上限,一定要说上限,就是采样率的1/2
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

220

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部