受约束环境中的FFT分辨率

时间:2013-04-23 08:41:00

标签: c embedded real-time signal-processing fft

所以我以每秒10公斤的样本从传感器采样数据。我将从这个传感器连续收集512个样本,然后尝试对其进行FFT。但问题是,我不得不对它进行16点FFT。因此,根据我的理解,我将512个样本的帧分成16个分区,并对它们分别进行FFT处理。一旦我这样做了,我就将它们并排合并。

我的问题:

如果我的采样频率是每秒10千个样本,而我的FFT大小是16,那么我的bin大小应该是625 Hz,对吗?

第二,我是否正确合并上述FFT输出?

我将非常感谢您的回复。

3 个答案:

答案 0 :(得分:3)

您还可以执行2层基数-16 FFT和位混洗,再加上1层基数-2 FFT蝶形,以产生与长度为512的FFT相同的结果。

答案 1 :(得分:1)

如果以512个样本块收集数据但受限于16点FFT,则必须对每个块执行32次FFT并对结果取平均值(对于每个块或整个记录 - 您的选择)。

采样率决定了您为FFT结果分配的频率值的上限,无论您是一次查看512个样本还是16个样本都无关紧要。您的最高频率将是采样率= 5 kHz的1/2。

一系列频率结果将是(以Hz为单位)......

5000 2500 1250 625 312.5 ... 等等,取决于传递给FFT的样本数量。

我不会问为什么你被限制在16点FFT!

答案 2 :(得分:1)

如果您使用的是16点FFT,那么您将获得的分辨率很低。它将能够捕获0-5 Sa / s的频率,只有8个独特的箱。

关于你的箱子大小的问题,我不明白为什么你需要它。

我认为为了获得更好的结果,您还可以对采样点进行平均以适合您的16点FFT。