音频中的 FFT radix-2 - 分辨率问题 - 对数刻度 - 采样率 VS 缓冲区大小

信息处理 fft 声音的 频谱 频域 解析度
2022-02-05 04:00:33

请问如何处理音频DSP。FFT 对处理音频有好处吗?我正在开发一个应用程序,它会产生一个单一的脉冲,将其路由到一个 EQ 插件,插件的输出通过 FFT 运行,以查看插件所做的确切更改。而且我发现了 FFT 的一些问题,我不确定如何解决:FFT 为您提供了在整个频率范围内相同的分辨率。如果我的采样率为 48 kHz,缓冲区(和 DTFT)大小为 1024 个样本,则分辨率为 48000/1024 = 46.875 Hz。相同的分辨率适用于较低、中等和最高频率,一言以蔽之,适用于整个范围。但是在音频中,我们经常使用对数刻度。所以我们需要比高频更好的低频分辨率。你怎么处理?

当然,我可以存储缓冲区大小的数据,直到我有 48000 个样本,然后通过 FFT 运行它,然后我将获得 1 Hz 的分辨率。很好,但起初:然后我每秒至少只能刷新一次,第二:我仍然认为我不需要这么高的高频分辨率,第三,如果我们有,它并没有解决我的问题其他采样率,如 44100,不是 2^L。

那么,FFT 是否不是一个好的选择,请告诉我在音频行业中哪些情况下使用 radix-2 FFT 比较好?据我所知,对于滤波,还有更好的选择,例如 FIR 滤波器。那么所有这些 FFT 是怎么回事呢?:)

1个回答

如果重叠,您可以在每个样本或每 M 个样本刷新 N 个长 FFT,无需等待整个 1 秒或 N 个样本。

无需找到 2^n 的采样率,因为大多数现代 FFT 库都支持几个小素数的任何合理乘积。

对于分析,无需对低频和高频(或中频、中上频或整个八度等)使用相同大小的 FFT

为什么选择 FFT?O(NLogN) 提供了一种加速,在古代史前允许 DFT 在远少于几百万个晶体管的芯片上运行,而今天仍然允许在适合手表或助听器或注入。当计算机是使用纸和铅笔的女性时,甚至可以允许对数据进行一些傅立叶分析。与更现代的音频技巧相比,DFT 的方阵推导需要更少的粉笔在教室黑板上(今天:更少的 iPad 滚动)。

但是,如果你有一个更大的电源和现代硬件/芯片/iPhone,你可以使用成堆的小波、大型滤波器组、心理声学模型、Goertzels 和其他几种算法,这些算法的效率远低于 O(NLogN) 速度-up DFT,但在一起仍然可以轻松地运行得比实时要求的更快。

其它你可能感兴趣的问题