1

执行 FFT 时,输出数组中每个元素的频率由下式表示:

元素 k 处的频率为 f(k) = k/NT

其中 N 是样本数(因此是输出数组中的元素数),T 是以秒为单位的时间滑动。f 以赫兹为单位

我的问题是,鉴于该公式,每个元素的频率将始终小于 1 HZ,并且 FFT 永远不会产生高于 1HZ 的频率

那么如何在更高的频率上运行呢?就像人耳能听到的一样(20HZ 到 20KHZ)

感谢:D

4

1 回答 1

4

这都是关于采样频率的。所以想象一下,你有一个 48 kHz 的采样率,这很常见。现在您正在对数据执行 FFT,其中包含N = 1024点。然后,您可以为每个人分配n in N一个特定的频率。这是怎么做到的?假设它N等于采样率。现在您可以检索每个其他的方程n。您选择N的越大,频率的间距就越小。

编辑还看看这个相关/类似的SO问题,尤其是Paul R的回答非常有帮助。

于 2012-04-27T20:36:09.007 回答