FIR滤波器与线性相位
在专业音频领域,人们一谈论FIR滤波器(有限脉冲响应滤波器),往往会同时想到其线性相位特性,并将之视为相对于IIR滤波器的主要优势。“线性相位”几乎成为FIR滤波器的固有标签,简单说几个现象为证:
1
一些音频处理器厂家,在设计处理器的FIR滤波器功能时,贴心地提供了延时补偿功能,其原理是将加载了抽头数最长的FIR滤波器通道相对于其它通道的延时差,自动添加到其它FIR滤波器抽头较少的通道,以保证在加载FIR滤波器之后,通道之间的延时保持一致。而FIR滤波器的延时计算,则默认取滤波器长度的一半,这是线性相位FIR滤波器的典型特性(后文将说明);
2
一些专业音频计算工具,可以根据用户输入的FIR滤波器采样率和抽头数,计算滤波器的长度和延时,其延时值为滤波器长度的一半,这可能是默认FIR滤波器就是线性相位;
3
作者在日常和同行朋友们交流时,一谈到要用FIR滤波器,就会有朋友拿起手机算起FIR滤波器的延时,并考虑该延时量是否可以接受,但却并不讨论FIR滤波器是否为线性相位,似乎FIR滤波器必然会造成一个确定的延时;
诚然,FIR滤波器可以实现线性相位,这是它相对于IIR滤波器的重要区别。但是FIR滤波器并不必须是线性相位,也并不必然带来额外的处理延时。认识这一点,对于进一步发挥FIR滤波器的潜力非常必要。
假设我们要使用FIR滤波器来优化一只音箱的频率响应,这是一只有源的5寸两分频音箱,音箱的近似直达声频率响应曲线如图1所示,可以看到在整个工作频段内,幅度响应有明显的峰谷,相位响应偏移约3个周期。请留意图1上方的实时脉冲视图,脉冲峰值位于6.31毫秒处,即测量信号相比于参考信号晚了6.31毫秒,这其中包括信号链路中的数字处理器时滞及声音从音箱至测量话筒的传播延时。后续的音箱测量中,我们始终保持音箱和话筒的位置一致,处理器的通道延时值保持为0毫秒,因此后续测量的延时变化均是由FIR滤波器造成的。
图1:音箱的“初始”频率响应
接下来我们通过FIRDesigner软件来设计一个96kHz,1024抽头的FIR滤波器,对该音箱的频率响应进行优化,优化目标是尽可能得到较为平直的幅度曲线和相位曲线。由于滤波器长度的限制,该滤波器在300Hz以下的频率分辨率不足,因此我们基本不处理300Hz以下的频段。
我们将设计三个不同相位版本的滤波器,分别是线性相位、最小相位和混合相位,并在FIRDesigner软件的滤波器导出页中观察滤波器系数(即其脉冲响应)、滤波器频率响应和滤波器偏差。
线性相位FIR滤波器的响应如图2所示:
图2:线性相位FIR滤波器的系数、频率响应与加窗后偏差
图2的中间绘图区的红色相位响应全频段位于0°刻度线上,说明这是一个线性相位滤波器。从上方的滤波器系数视图中,其峰值位于滤波器中间位置,即512抽头处,滤波器系数关于其中点对称(这是实现线性相位的要求)。
最下方图像为对理想滤波器加窗截短后,实际滤波器与理想滤波器的偏差。所谓理想滤波器,可以理解为抽头数非常大的滤波器,如果我们将滤波器长度增加至16K(16384个抽头),则全频段的偏差接近于0。然而,实际滤波器抽头数往往由硬件计算资源决定,比如我所使用的这台处理器支持最多1024个抽头,因此我需要从理想滤波器系数中“截取”出1024个系数,这种截取会造成频率响应的偏差。当前加窗后的滤波器显示误差在±1dB之内,对于大部分应用场景来说,这应该都是可接受的。
滤波器长度和延时
已知采样率为96KHz,则相邻的采样样本之间的时间间隔是1/96K s,滤波器有1024个抽头,相当于该滤波器包含了1024的样本,不难计算该FIR滤波器的时间长度为
这与FIRDesigner软件中显示的滤波器长度基本一致。
对于线性相位FIR滤波器,其滤波器系数必须要对称才能实现线性相位,因此滤波器的脉冲响应峰值应位于滤波器1/2处,而脉冲峰值的位置即为该滤波器的延时。本例中,该滤波器脉冲响应峰值位于512个样本处,对应的延时值约为5.3毫秒。经该FIR滤波器处理后的音箱系统响应如下图:
图3:经线性相位FIR滤波器优化后的音箱频率响应
然而线性相位只是FIR滤波器的一种可能的状态,FIR滤波器也可以是最小相位滤波器。按照最小相位为目标得到的滤波器脉冲响应位于滤波器起始处,即滤波器延时为0毫秒,此时滤波器依然能够实现和上述线性相位FIR滤波器相同的幅度响应,不过其相位响应表现为最小相位特性,和常用的IIR滤波器效果类似。注意,此时滤波器的长度是不变的,因为采样率和抽头数没有变。
这就是说,我们利用最小相位FIR滤波器实现了同样的幅度响应,却不会带来处理延时!这对于现场扩声应用来说,意义重大。
最小相位FIR滤波器的系数与频率响应如图4:
图4:最小相位FIR滤波器的系数、频率响应与加窗后偏差
经该滤波器处理后的音箱系统响应如图5:
图5:经最小相位FIR滤波器优化后的音箱频率响应
最后,我们再设计一个混合相位FIR滤波器,在滤波器设计过程中,选用最小相位特性滤波来校正较大的幅度偏差,选用最大相位特性滤波校正音箱分频造成的相位偏移(中高频),选用线性相位特性滤波校准幅度和相位的细节偏差,最后得到的综合结果是一个混合相位FIR滤波器。通过对滤波器脉冲峰值的移动,在维持其频率响应偏差不超过±1dB的前提下,将滤波器的延时减小到2毫秒左右,注意此时的滤波器长度依然为1024抽头(约10.67毫秒)。
图6:混合相位FIR滤波器的系数、频率响应与加窗后偏差
经该滤波器处理后的音箱系统频率响应如图7:
图7:经混合相位FIR滤波器优化后的音箱频率响应
FIR滤波器的线性相位
真的如此重要么?
勿容置疑,在很多应用场景中,线性相位对于FIR滤波器确实非常重要,这些应用不限于音频信号处理,而是遍及医疗(心电图)、军事(雷达)、图像处理、数据分析等各行各业的数字信号处理场景。然而,当我们仅讨论用FIR滤波器校正或优化音箱系统频率响应时(比如优化上文中的音箱响应),这是个值得讨论的问题。
我们选择使用线性相位FIR滤波器时,往往基于这样一个假设:音箱系统的相位偏移是一种失真,因为该系统不能维持输入信号的原始波形,我们且称之为相位失真。这种失真是对输入信号的一种扭曲,我们希望消除这种失真,因此要尽量减小或校正相位偏移,使系统能够达到线性相位。(这种假设虽然尚存争议,但却是很多人选择FIR滤波器的原因,也是本文后续讨论的前提。如果你不同意这种假设也完全没问题,但那是另外一回事)。
在一个音箱系统中,扬声器单元自身的带通滤波器效应、单元之间的物理位置差、分频电路、波导管、号角、倒相孔等因素,都不可避免地使得音箱系统的相位发生扭曲偏移。如果相位失真不好,我们要消除它,我们应该希望经过FIR校正后的整个系统是线性相位,而不是FIR滤波器本身的线性相位,因为我们的耳朵听到的是整个系统输出的声信号,而不是FIR滤波器输出的卷积样本。线性相位FIR滤波器仅仅是没有让相位失真没有变得更差,却也没有解决原有的任何相位偏移问题!我们将上述三个滤波器优化后的音箱频响结果对比来看:
图8:不同相位特性FIR滤波器优化后的音箱频率响应对比
其中,蓝色曲线为音箱优化前的响应,三个FIR滤波器的对幅度的优化结果非常接近,差别在于相位。线性相位滤波器(橙色)处理后的相位与处理前完全一致;最小相位滤波器(紫色)对原始相位曲线中的小幅扭曲做了校正,因此紫色相位曲线相比蓝色曲线,显得更加平滑;而混合相位滤波器对音箱的相位做了“线性化”,在大约1kHz以上将相位处理成“0相位”。相比之下,线性相位FIR滤波器优化的“功效”最小,造成的延时却是最大的。
为了方便理解线性相位FIR滤波器在此音箱响应优化过程中的作用,我们打个比方。
假设你是一家生产型企业的老板,最近这两年你发现车间员工的工作积极性差、纪律松散、生产效率低下,这严重拖累了企业效益,让你苦心经营的产业陷入危机。于是你痛下决心,决定花高薪聘请了一位厂长,希望彻底改变这种状况。然而,这位厂长到岗将近三个月了,你发现他本人的工作态度很端正,也还称得上勤奋,遵守公司纪律,但是对于车间存在的工作积极性差和工作纪律问题却充耳不闻。请问,作为老板,你打算让这位独善其身的厂长转正么?
在我看来,如果你想用FIR滤波器来校正音箱的频率响应,并坚持采用线性相位FIR,相当于高薪请了这一位独善其身、无所作为的厂长。他只是没有让问题变得更糟糕,却也没有解决什么问题,还占用了更多的资源——厂长要求的薪资比普通员工更高,而线性相位FIR滤波器则造成更大的处理延时。
可能有人会反驳,线性相位FIR滤波器虽然没有对相位做优化,却也还能优化幅度响应。我们要知道,最小相位FIR滤波器也能优化幅度响应,同时还能校正音箱系统中部分最小相位特性的相位扭曲,它在优化了幅度响应的同时,也优化了相位响应,并且不会产生额外的处理延时。那我们为什么不选择最小相位FIR滤波器呢?
为什么不要把FIR滤波器
等同于线性相位?
根据上述讨论,仅就使用FIR滤波器校正或优化音箱的频率响应这一应用场景来说,线性相位FIR滤波器往往不是首选。本文仅以技术角度讨论这一问题,建议有兴趣的读者按照本文的方法,找一款或多款音箱,设计不同相位特性的FIR滤波器加以优化,并对比不同相位特性滤波器的听感,从听感的角度来验证。
最近十年,尤其是最近五年以来,以FIRDesigner / FilterHose / FIRCapture等为代表的音频FIR滤波器设计软件日趋成熟,这些软件的优胜之处在于能够很方便地设定优化目标,选择不同相位特性的FIR滤波器,设计混合相位FIR滤波器并优化滤波器延时。线性相位并不是FIR滤波器的唯一选择,且往往不是首选。
将FIR滤波器与线性相位和“额外延时”绑定,相当于让FIR滤波器背负了“莫须有”的罪名。秉持这种观点,也会大大限制音响工程师对于FIR滤波器潜力的挖掘和应用。因此我们要抛弃“言FIR,必线性相位”观点,给FIR和线性相位松松绑。
最后,引用著名专业音频教育者Pat Brown先生在2016年发表的FIR-ward thinking系列文章中的观点来结束本文的讨论:
“A combination of linear phase FIRs for HF equalization and min phase FIRs for LF equalization seems to be the way to go. These are called “mixed phase” filters and in my opinion they are the future. ”
— Pat Brown
“对高频应用线性相位FIR滤波器,对低频应用最小相位FIR滤波器的组合似乎是一种解决方法。这被称为“混合相位”滤波器,我认为,这将是未来的发展趋势。”
参考资料:
1. 数字信号处理(第三版),Understanding Digital Signal Processing Third Edition,Richard G. Lyons
2. FIR-ward Thinking–Part 5 Are More Taps Better? , Pat Brown
3. 音频FIR滤波器(Understanding Audio FIR Filtering), Michael John
4. 有意义的扬声器相位响应(A Meaningful Loudspeaker Phase Response), Hadi Sumoro
来源/启音课堂