函数 numpy.fft.fftfreq 的含义

Dav*_*anò 3 python numpy fft frequency audio-analysis

几天前,我遇到了这个关于FFT使用的答案

在答案中有一段这样的代码:

w = np.fft.fft(data)
freqs = np.fft.fftfreq(len(w))
Run Code Online (Sandbox Code Playgroud)

我在 numpy 文档(这里)中阅读了函数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
Run Code Online (Sandbox Code Playgroud)

在我的情况下,d var 等于 1 和n是偶数。

所以我的问题是:fftfreq 的真正目的是什么

我想知道它是否是一种三角窗函数。

Adi*_*ava 5

返回的浮点数组 f 包含每单位样本间距的频率仓中心(以零开头)。例如,如果样本间隔以秒为单位,则频率单位为周期/秒。

fftfreq 给出了傅立叶变换的可能频率范围。


Her*_*erb 1

np.fft.fftfreq尝试将频率范围 (y) 映射到一种“索引”范围 (x),如下图所示。注意blue line-> 正频率,orange line-> 负频率。