假设我有一个采样为$ 48000 $ Hz的音频信号,并且我想设计一个低通滤波器,将低于$ 60 $ Hz的所有信号隔离开。在数字世界中,这是一个低通滤波器,其通带为$ [-\ frac {\ pi} {400},\ frac {\ pi} {400}] $。同样,过渡带也应合理。为此构建一个FIR滤波器会产生很多抽头,从长远来看会影响精度。 IIR滤波器太不理想,因为音频在滤波器中会受到非线性相位响应的影响,因此除非对信号进行滤波,然后再对它进行反向和滤波,否则它实际上不是一个选择。

小波变换是否可以比一次性进行常规滤波更好?

评论

您是否有理由不希望抽干?

不,只要我能得到想要的东西,抽取就可以了。

什么是“合理的”过渡带?这将确定过滤器的顺序。例如,如果您的阻带始于300 Hz,则您可能处于良好状态。如果您想要在60.1 Hz左右的高衰减,那将是很长的。较长的FIR滤波器不一定坏,

您需要一个实际的过滤器规格,否则该问题将毫无意义。说明可接受的通带纹波,阻带抑制,过渡带宽度等。

说得通。会的。

#1 楼

如果您正在优化工程时间,并且使用的平台很好地支持大型FFT(即非固定点),那么请遵循hotpaw2的建议并使用快速卷积。它比单纯的FIR实现要好得多,并且应该相对容易实现。

另一方面,如果您有一些时间花在此上以获得最佳实现,或者是固定的点平台,您应该使用多速率下滤-上减法结构。但是,要正确解决所有问题比较棘手。

我可以使用受信任且经过高度优化的快速卷积和多速率过滤工具的实现。与多速率结构相比,快速卷积花费大约3倍的时间才能获得等效的信号性能。此外,甚至在浮点平台上。间隙将在固定点dsp上显着扩大。

一般而言:

下变频:

使用8级半带,抽取-by-2滤波器将48kHz信号转换为187.5 Hz信号。下采样的第一阶段可以具有非常宽的过渡带,只要能量不会混叠回到60 Hz以下范围,就可以混叠能量。随着阶段的进展,抽头的数量需要增加,但是它们将以逐渐降低的采样率应用,因此每个阶段的总成本仍然很小。

过滤:

对60 Hz bw进行严格的滤波,以保持最终要减去的能量。在低速率下进行严格的过滤有双重优势:


1Hz的过渡带宽相对于原始速率而言,低频率下的数字频率要大256倍。因此,滤波器的每个抽头的功率是其256倍。
信号本身的速率较低,因此滤波器只需要处理1/256数据。

上转换:

本质上,这是抽取阶段的相反过程。 8个内插器级中的每个级都通过估计连续输入采样之间的采样来使速率加倍。采样率越高,过渡带越宽。

减去:

从原始信号中减去全速率低通滤波后的信号。如果您已针对所有组延迟进行了适当调整,则整个结构将是具有窄转换带宽的高通滤波器。

评论


$ \ begingroup $
这是一个了不起的答案。我可以对此发表您的评论吗? dsp.stackexchange.com/questions/29655/…
$ \ endgroup $
–richieqianle
16 Mar 23 '16 at 10:31

#2 楼

尝试使用具有最长FFT / IFFT的重叠添加/保存卷积滤波器,以适合您的延迟和计算性能约束。使用此方法时,如果您需要使用更长的FFT,则可以设计出非常长的FIR滤波器。

如果您可以在一个很长的FFT + IFFT中对整个歌曲或整个音频信号文件进行FFT,对于不适合dcache或RAM的长向量的FFT算法),您不需要进行任何重叠的添加/保存处理,并且可以获得非常狭窄的过渡带。

#3 楼

显然有两种选择:FIR和IIR。如前所述,FIR需要很长的时间(抽头数以千计),并且在内存方面很昂贵,MIPS和延迟以及重叠添加/保存是最有效的选择。但是,延迟可能是一个实际问题。如果要将它用作家庭影院低音炮的高通,则延迟会非常高,以至于您将失去与视频的口型同步。

IIR的价格要便宜几个数量级,而且因此经常使用。它确实具有非平坦的相位响应,但是在许多情况下这不是问题,或者可以解决。例如,如果您需要一个高通滤波器来保护低音音箱中的驱动器,则相位响应就不是很重要,因为整个系统的相位响应主要由驱动器,外壳和房间中的声音决定。过滤器在这里只起次要作用。
在许多情况下,您还需要保持“相对”相位而不是绝对相位。假设您要对信号A施加高通而不对信号B施加高通,则可以简单地在信号B上放置一个匹配的全通,以使A和B的相对相位保持不变。这种方法的整体延迟和群延迟仍然比FIR方法要少得多。