具有几何间隔的 bin 的 DFT?

信息处理 fft 自由度
2021-12-25 02:29:03

传统的离散傅里叶变换 (DFT) 及其近亲 FFT 产生等间距的 bin。换句话说,你会在第一个 bin 中获得前 10 赫兹,在第二个 bin 中获得 10.1 到 20 赫兹,等等。但是,我需要一些不同的东西。我希望每个 bin 覆盖的频率范围以几何级数增加。假设我选择 1.5 的乘数。然后我们在第一个 bin 中有 0 到 10,我希望在第二个 bin 中有 11 到 25,在第三个 bin 中有 26 到 48,等等。是否可以修改 DFT 算法以这种方式运行?

2个回答

引用我的论文:

一组变换被命名为常数 Q,类似于傅里叶变换。

当使用快速傅里叶变换时,离散傅里叶变换的计算会非常有效。然而,我们注意到信号的能量在整个频谱中被分成大小均匀的频率桶。虽然在许多情况下这很有用,但我们注意到这种均匀分布不是最佳的情况。通过分析音乐频率可以观察到这种情况的一个重要例子。在西方音乐中,构成音阶的频率是几何间隔的。因此,我们看到离散傅立叶变换的频率区间与音阶频率之间的映射在区间匹配不佳的意义上是不够的。常数 Q 变换解决了这个问题。

常数 Q 的目的是产生一组对数间隔的频率区间,其中频率区间的宽度是前一个的乘积。因此,我们可以在整个可听频谱中为每个音符生成相同数量的 bin,从而为每个音符保持恒定的准确度。频率仓向着较高频率变得更宽,向着较低频率变得更窄。这种频率检测精度的扩展非常接近人类听觉系统对频率的响应方式。

此外,西方音阶中音符的紧密匹配使得常数 Q 在音符检测中特别有用;识别音符值而不是明确的频率值。此外,常数 Q 简化了音色分析的过程。乐器演奏的音符的频率通常由与谐波相关的部分组成。乐器的音色可以通过谐波的比率来表征。使用恒定 Q 变换,无论基频如何,谐波都等距分布在 bin 上。这极大地简化了识别乐器演奏音阶中任意位置的过程,只需通过跨箱转移特征即可。

Brown 和 Puckette (1992)详细介绍了一种将离散傅立叶变换(可以用 FFT 计算)转换为常数 Q 变换的有效算法。

DFT(FFT)中有重要的数学假设。在这种情况下,最重要的是您正在执行截断的无限时间正弦变换。第二个是截断的时间和截断的频率信号被假设为模包裹(圆形)。在正常 FFT 中间隔开的 bin 仅因为这些假设(以及偶数的算术意义间距)而形成正交集。因此,时间 <-> 频率对是完全可逆的。

常数 Q 变换不会很好地截断,因此任何实际实现都不会产生完美的正交正交配对。内核是无限长的指数衰减正弦曲线,因此不能具有上述循环优势。如果你不截断,它们会形成一个正交集。

小波变换通常是 2 的幂次方,这对于细粒度的频率估计不是很有用。

对标准正弦 DFT 进行不均匀间隔的建议将丢失大间隔区域中的信息,同时会复制密集间隔区域中的信息。除非对每个频率使用不同的变迹函数......非常昂贵。

一种实用的解决方案是执行半谱-> 抽取 2 重复过程,以获得基于倍频程的子部分,以满足每个倍频程的一些极小极大估计误差。部分频谱->按比率抽取可以设置为任何比率以实现任何粒度需求。不过,仍然是计算密集型的。