FFT窗口大小的意义

Posted

技术标签:

【中文标题】FFT窗口大小的意义【英文标题】:Significance of window size of FFT 【发布时间】:2013-11-15 02:50:12 【问题描述】:

我需要为一个非常大的数组计算 FFT。 (数组大小 = 4198320)

我有一种方法可以计算 FFT 并计算给定块大小的大小。该方法的一个要求是块大小必须是 2 的幂。

对于给定的块大小,假设块大小为 1024,它将为更大数组中的每 1024 个元素计算 FFT 和 Magnitude。

对于块大小 = 2,我得到诸如 17.0、1.0、15.0、1.0、12.0、0.0、12.0 等值

对于块大小 = 4096,我得到诸如 2334.0、166.05、235.84、313.74 等值

这里的问题是,为什么我会得到不同大小的不同大小的值,尽管输入数组是相同的。

这里的输入数组是一个字节数组,代表一个音频文件。使用的理想块大小是多少?

【问题讨论】:

你忘了归一化因子吗? 【参考方案1】:

更改变换长度时数字不同的原因有两个:

窗口越长,幅度必然越大(这是一个总和)。 窗口的长度需要计算频率。

没有可使用的“理想”长度。更长的长度提供更“准确”的频率相关信息(更好的分辨率),更短的长度提供更“准确”的时间相关信息(更快的响应)。

【讨论】:

以上是关于FFT窗口大小的意义的主要内容,如果未能解决你的问题,请参考以下文章

EZAudio:如何将缓冲区大小与 FFT 窗口大小分开(希望更高的频率 bin 分辨率)。

FFT的大小实际上是啥意思

固定 Kivy 程序的窗口大小

DSP FFT基频wav文件

使用 vDSP 的 FFT 频率范围

js各种宽高意义总结