【问题标题】:Meaning of the function numpy.fft.fftfreq函数 numpy.fft.fftfreq 的含义
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2020-05-15
      • 2012-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-16
      • 2015-10-08
      • 2014-03-12
      • 2015-05-01
      相关资源
      最近更新 更多