【发布时间】:2017-06-26 11:31:21
【问题描述】:
几天前我遇到了这个关于FFT用法的答案
在答案中有这样一段代码:
w = np.fft.fft(data)
freqs = np.fft.fftfreq(len(w))
我在 numpy 文档 (here) 中读到了函数 fftfreq,我发现它返回了一个包含以下内容的数组:
f = [0, 1, ..., n/2-1, -n/2, ..., -1] / (d*n) if n is even
f = [0, 1, ..., (n-1)/2, -(n-1)/2, ..., -1] / (d*n) if n is odd
在我的例子中,d var 等于 1,n 是偶数。
所以我的问题是:fftfreq 的目的到底是什么?
我想知道它是不是一种三角窗函数。
【问题讨论】:
-
这只是一组与 FFT 输出相匹配的频率,用于绘图或其他目的。
-
@AhmedFasih 好吧,我明白了。所以每个数组元素都应该乘以采样率,以获得频率。我还是不明白为什么:(
-
您可以将样本间距传递给
fftfreq,它会为您缩放输出,但是可以。我喜欢使用fftfreq,因为根据奇数/偶数来获取信号长度和频率值之间的关系有点棘手。
标签: python numpy fft frequency audio-analysis