如何设计一个非常窄的滤波器?


15

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

在这种情况下,小波变换会比一次性进行常规滤波更好吗?


您是否有理由不希望抽取?
Lorem Ipsum

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

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

5
您需要一个实际的过滤器规格,否则该问题将毫无意义。状态下的可接受的通带波纹,阻带抑制,过渡频带的宽度等
保罗- [R

说得通。会做。
声子

Answers:


20

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

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

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

笼统:

下转换:

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

过滤条件:

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

  1. 就低速率而言,1Hz的过渡带宽相对于原始速率而言是数字频率的256倍。因此,过滤器的每次点击都比其强大256倍。
  2. 信号本身的速率较低,因此滤波器只需要处理1/256数据。

上转换:

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

减去:

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


这是一个了不起的答案。我可以对此发表您的评论吗?dsp.stackexchange.com/questions/29655/...
richieqianle

6

尝试使用适合您的延迟和计算性能限制的最长FFT / IFFT的重叠添加/保存卷积滤波器。使用此方法甚至更长的FFT时,您可以设计非常长的FIR滤波器。

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


4

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.