假设我有一个以 Hz 采样的音频信号,我想设计一个低通滤波器来隔离 ~ Hz 以下的所有信号。的低通滤波器。此外,过渡带也应该是合理的。为此构建 FIR 滤波器可能有很多抽头,从长远来看会影响精度。IIR 滤波器不太理想,因为音频在滤波器中会受到非线性相位响应的影响,因此除非信号被过滤,然后再反转并再次过滤,否则它不是一个真正的选择。
小波变换在这方面会比一次性常规过滤更好吗?
假设我有一个以 Hz 采样的音频信号,我想设计一个低通滤波器来隔离 ~ Hz 以下的所有信号。的低通滤波器。此外,过渡带也应该是合理的。为此构建 FIR 滤波器可能有很多抽头,从长远来看会影响精度。IIR 滤波器不太理想,因为音频在滤波器中会受到非线性相位响应的影响,因此除非信号被过滤,然后再反转并再次过滤,否则它不是一个真正的选择。
小波变换在这方面会比一次性常规过滤更好吗?
如果您正在优化工程时间并且在一个支持大型 FFT 的平台上(即不是固定点),那么请采纳 hotpaw2 的建议并使用快速卷积。它将比简单的 FIR 实现好得多,并且应该相对容易实现。
另一方面,如果您有一些时间花在这方面以获得最佳实现或在定点平台上,您应该使用多速率下过滤上减结构。但是把所有事情都做好有点棘手。
我可以访问快速卷积和多速率过滤工具的可信且高度优化的实现。与多速率结构相比,快速卷积需要大约 3 倍的时间才能获得等效的信号性能。此外,这甚至是在浮点平台上。在定点 dsp 上,差距会大大扩大。
笼统:
使用 8 级半带、2 倍抽取滤波器将 48kHz 信号转换为 187.5Hz 信号。这种下采样的第一阶段可以有一个非常宽的过渡带,只要它不混叠回到低于 60 Hz 的范围内,就允许能量混叠。随着阶段的进展,抽头的数量需要增加,但它们将以逐渐降低的采样率应用,因此每个阶段的总成本仍然很小。
在 60 Hz bw 附近执行严格过滤,以保持最终要减去的能量。以低速率进行紧密过滤有双重优势:
本质上,这与抽取阶段相反。通过估计连续输入样本之间的样本,8 个插值器级中的每一个都将速率加倍。随着采样率变高,过渡带变宽。
从原始信号中减去全速率低通滤波信号。如果您已正确调整所有群延迟,则整体结构将是一个具有窄过渡带宽的高通滤波器。
尝试使用符合您的延迟和计算性能限制的最长 FFT/IFFT 的重叠添加/保存卷积滤波器。当使用此方法和更长的 FFT 时,您可以设计极长的 FIR 滤波器。
如果您可以在一个非常长的 FFT+IFFT 中对整首歌曲或整个音频信号文件进行 FFT(对于不适合 dcache 或 RAM 的长向量有特殊的 FFT 算法),则无需执行任何操作重叠添加/保存处理,可以得到非常窄的过渡带。
显然有两种选择:FIR 和 IIR。如前所述,FIR 需要非常长的(1000 次抽头)脉冲响应,并且在内存、MIPS 和延迟方面非常昂贵,重叠添加/保存是最有效的选择。但是,延迟可能是一个真正的问题。如果您想将其用作家庭影院低音炮的高通,则延迟将非常高,以至于您将失去与视频的口型同步。
IIR 的成本要低几个数量级,因此经常使用。它确实具有非平坦相位响应,但在许多情况下,这不是问题或可以解决。例如,如果您需要一个高通滤波器来保护低音箱中的驱动器,那么相位响应并不是很重要,因为整个系统的相位响应由驱动器、外壳和房间中的声学控制。过滤器在这里只起次要作用。在许多情况下,您还需要保持“相对”阶段而不是绝对阶段。假设您想在信号 A 上应用高通而不是在信号 B 上应用高通,您可以简单地在信号 B 上放置一个匹配的全通,以便 A 和 B 的相对相位保持不变。这种方法的整体延迟和群延迟仍然比 FIR 方法小很多。