深入了解滤波器的原理
2023-08-03 来源:elecfans
我们认识了音频滤波器,讲解了音频滤波器同时具有相位调制的功能。但前文中我们略过了滤波器最重要的功能:移除频谱中的一部分谐波从而创造新的声音。但滤波器的工作方式可远没有听起来简单,本文我们将继续深入了解滤波器的原理。
图 1:一个简单的低通滤波器电路
图 1 展示的是我们在上一篇文章中介绍的被动低通 RC 滤波器(之所以称它为「被动」是因为我们将只需要输入信号,不需要额外供电的电子元器件称之为「被动元件」,因此电阻器、电容器以及电感器均为被动元件,而晶体管以及其他放大器则不是被动元件)。如果你有阅读上一篇文章,那么你可能还记得 RC 滤波器的截止频率可以通过其电路中的两个被动元件的容量决定。
输入进滤波器的信号与经过滤波器处理的输出信号之间的关系叫做传递函数。准确来说,传递函数描述的是滤波器的振幅相应(滤波器对音量的影响)以及相位响应,但由于我们已经在上一篇文章中讨论了滤波器对音频相位的影响,本文中我们只将关注振幅相应。理想状态下,我们的 RC 滤波器的传递函数非常简单:每高于截止频率(本文中记作 Fc)的两倍,信号的输出就将会减半(见图 2)。
图 2:RC 低通滤波器在理想状态下的响应图示
所以,打比方说 Fc 为 1kHz,那么信号在 2kHz 位置处的增益为 1/2(也就是说一半的音量),4kHz 的位置输出增益为 1/4(四分之一音量),以此类推...由于频率每翻一倍音高就上升一个八度(octave),同时增益每减半一次振幅就衰减 6 个分贝(6dB),因此这一响应又被称为 6dB/octave 滤波。
但尽管类似图 2 的图示在音乐界中被广泛应用,它其实并不准确。图 3 为一个更精确的传递函数图示。
图 3:较为精确的 RC 低通滤波器响应图示
可以看到,信号在截止频率的位置已经衰减了 3dB。这并不是一个错误,实际上,在电工学中截止频率就是信号衰减 3dB 的位置。所以本文要总结的第一条规律就是:
被动低通滤波器在什么位置开始工作并不是由截止频率决定的;截止频率是信号已经衰减了 3dB 的位置。另外,由于 3dB 的衰减可以轻易被人耳感知,这也就意味着,信号在截止频率的位置已经受到了明显的影响。
让我们回过头来想想看简易的低通滤波器会对常见波形产生什么样的影响。简单起见,我们将以图 2 中的理想低通滤波器为例,因为它的尖锐「拐点」能够将滤波器的工作简化许多。
图 4:锯齿波的前 200 个谐波
图 4 是最常见的模拟合成器波形之一——锯齿波的谐波结构。其所有谐波均存在,各谐波的幅度与基频幅度呈 1/n 的简单关系(n 为谐波次数)。
图 5:使用对数轴表示的上述 100Hz 锯齿波的谐波结构
图 4 展示的使用传统单位表示的锯齿波的前 200 个谐波的幅度。然而,与图 4 相比,使用图 5 中的对数轴来展示这些谐波要合适得多。但即使你不懂什么是对数也没有关系,因为尽管图 4 与图 5 看起来很不同,两者其实表示的是同样的信息。之所以我在这里选择使用对数图表是因为使用对数表示的振幅是一条直线,因此能够更明确地展示滤波器对其的影响。实际上,如果你回过头来观察图 2 和图 3,这两张图中使用的其实也是对数轴。
图 6:3kHz,6dB/octave 低通滤波器对于 100Hz 锯齿波的影响
假如说我们有一个截止频率为 3kHz 的 6dB/octave RC 滤波器,让我们来看看它会对基频为 100Hz 的锯齿波造成什么样的影响。图 6 展示的是该滤波器对于 3kHz 以上的频率的衰减。不难发现图 6 中的图形与图 5 相比有一个「折叠」,该图形符合上文提到的 6dB/octave 的规律。
图 7 - 8:理想状态下的 100Hz 锯齿波波形(上);经 3kHz 滤波器处理过的该锯齿波波形(下)
现在再看图 7 与图 8,图 7 展示的是上文中理想状态下 100Hz 锯齿波的波形,图 8 则是经过我们的 3kHz 滤波器处理过的该锯齿波。尽管这两个波形在视觉方面并没有太大的区别,因为 3kHz 的截止频率允许该波形的前三十个谐波通过,只有低幅度的高频谐波收到影响,但由于人耳十分敏锐,当你将这两个波形对比来听的时候,很明显可以听到经过滤波的波形更加「暗淡」,或者缺乏「高频」。
6dB/octave 的滤波器被广泛运用于音响系统的音色控制单元中,偶尔也被合成器用来作为辅助功能的亮度控制,但它们通常不会被真正的音色合成所使用。这是因为它们通常不会对音色造成明显的变化——经过 6dB/octave 滤波器处理的波形听起来就像是原来的波形一样,只不过更暗淡了一些。显然,要想创造全新的音色我们还需要更强大的滤波器。
所以我们需要使用什么样的被动元件才可以制造出 12dB/octave、18 dB/octave、甚至 24dB/octave 的滤波器呢?不幸的是,没有任何被动元件可以满足这样的需求,所以我们需要一个不同的手段。为什么不把一系列的的 RC 滤波器组合起来从而得到我们需要的更陡峭的频率响应呢?比如说两个 RC 滤波器组合起来可以得到一个 12dB/octave 滤波器,叠加三个就可以得到 18dB/octave 滤波器,四个则是 24dB/octave…理想状态下这样的由四个 RC 滤波器叠加组成的电路与图 9 看起来类似。如果这一滤波器工作正常,其理想状态下的传递函数则应该类似于图 10 中所展示的图形。
图 9:由四个 6dB/octave 滤波器叠加组成的 24dB/octave 低通 RC 滤波器
图 10:上述假想的 24dB/octave 对于高频谐波的衰减
然而滤波器的工作方式并没有想象中的这么简单。我们的被动 RC 滤波器响应模型对于其输入与输出值需要有一定的假设,尽管单一的 RC 电路可以满足这一要求,但如果你将多个这样的电路叠加在一起,得到的响应则将会完全不同。所以我们到底应该怎样才可以制造出我们需要的滤波器呢?
如果你已经对合成器有所了解了的话,你可能听说过 12dB/octave 有时又被称作「2-pole」滤波器,24dB/octave 滤波器被称为「4-pole」滤波器。所以你可能因此而假设图 9 中的每个 6dB/octave 的模块为一个「pole」。然而这样的假设并不准确。
其实「2-pole」、「4-pole」这样的名字是由一个叫做「拉普拉斯变换」的数学运算的结果。这一变换可以方便数学家们分析音频信号的线形响应(至于什么是「线性系统」以及其背后的数学原理由于其过于复杂,本文将不予探讨)。总而言之,我们之所以用「pole」来描述滤波器,是因为 RC 滤波器的拉普拉斯变换图表看起来像是一个由帐篷柱支撑起来的橡胶平面。单一的 6dB/octave 滤波器有一个这样的「帐篷柱」,因此被称为「1-pole」滤波器,12dB/octave 的滤波器则有两个这样的「帐篷柱」,以此类推…
图 11:1-pole(左)、2-pole(中)与 3-pole(右)滤波器的拉普拉斯变换图示
因此,如果你想制造一个 24dB/octave 单一截止频率的被动 RC 滤波器的话,你需要使得四个 pole 处在图中的同一位置。但正如我之前的说明,使用被动元件不可能达到这样的效果,因为多个被动元件之间会产生交互,组合起来的被动元件的工作方式与单一被动元件的工作方式并不相同。所以说,四个 6dB/octave RC 滤波器组成的频率响应并不能达到图 10 中的理想效果,反之,实际情况中我们会得到的是一条具有四个「拐点」的传递函数曲线,如图 12。
图 12:由四个 6dB/octave 滤波器叠加构成的传递函数曲线
我们因此可以得到一个重要的结论:尽管被动 4-pole 滤波器在高频位置会接近于于 24dB/octave 的响应,但在某些频段中,其响应会多少与 6dB/octave、12dB/octave、以及 18dB/octave 类似。另外,如果你仔细观察上面的图线,你可以发现中间的这些区域并不是精确的直线,也就是说频率与输入输出的信号并不像之前那样直接。
尽管我们设计了一个理论上具备 24dB/octave 的电路,但由于滤波器之间的相互作用,其各自的截止频率都不尽相同。另外,每个截止频率出的拐点都是圆滑的,并且就算四个分滤波器的截止频率完全一致,合成起来的拐点也不会因此变得「尖锐」。而且,我们还忽略了其对于截止频率以下的频率造成的影响,低于截止频率的信号理论上不应该受到滤波器的影响,但实际上由于上述滤波器的工作原理,其截止频率以下的信号也会遭到一定程度上的衰减,并且还有可能产生一些其他我们不想要的结果。还有最后一点:我们还完全忽略了每个分滤波器对于波形相位造成的偏移。
听到这里你也许会想,拥有这么多副作用的滤波器八成没有什么实用性,但实际上我们可以通过为上述滤波器的电路中的每个滤波器之间添加一些元件,使它们之间的响应彼此分离(或者「缓冲」),因此解决上述的部分问题。这些元件包括运算放大器(operational amplifiers),通常被简称为「op-amp,运放」。运放等元件使得滤波器由「被动」变为「主动」。
不难想象,几乎所有模拟合成器中使用的滤波器均为主动滤波器(一小部分亮度控制或者基础均衡器中可能会用到被动滤波)。主动滤波器要比被动滤波器更加复杂,但它们的优势在于,在设计合理的情况下,你可以很容易地使他们以你需要的方式运作。比如说,有些滤波器会专注于在截止频率处保证一个尖锐的拐点;有些滤波器保证截止频率以下的信号尽量不受改变;还有一些滤波器能够实现某些独特的相位响应…不过这些优点很难同时实现,所以与录音设备制造的许多其他方面类似,好的滤波器设计通常是在各种优点之间权衡取舍的结果。
但还有另外一个因素需要考虑:即便是我们在讨论这些滤波器的基本问题的时候,我们也都认为电路中的各个元件是「理想」的。然而实际上许多电子元件的实际参数与其标称参数相差百分之一或者百分之二,甚至有时候相差百分之十几都是正常的情况。这也就意味着即便是两个表面上完全一致的电路之间通常也会有些许细微的差异。还以之前的 24dB/octave 滤波器为例,四个「pole」之间完全对齐的可能性非常之小。这也意味着我们之前对于被动滤波器总结的结论其实可以广泛适用:
4-pole 滤波器总会在高频位置接近于 24dB/octave,但在某些频段中也会表现出 6dB/octave、12dB/octave、以及 18dB/octave 的响应。
说了这么多,我们不难发现:滤波器的工作原理要比我们预想中复杂得多得多。尽管 Minimoog 和 ARP 合成器中都使用了 24dB/octave 滤波器,但两者的听感却明显不同。同样,MS20 与 Oberheim SEM 中的 12dB/octave 滤波器给人的听感彼此也大相径庭。所以,作为本文的最后一条结论,我想说的是:
不管彼此的差别是否明显,每种模拟滤波器的设计所造成的听感都会有所不同。
在设计滤波器的时候,运用一些技巧可以克服滤波器本身的固有缺陷。比如说,Marc Paping 在设计他的 Fénix 半模块化合成器的时候使用了一个 5-pole 设计(其理论上具备 30dB/octave 的响应),从而使得 Fénix 的「Moog 风格」低通滤波器实现了真正的 24dB/octave。
另一方面,设计滤波器的时候也很容易犯错。一个简单的计算错误导致了运用于某些 ARP 合成器中的臭名昭著的 ARP4075 滤波器。理论上这应该是一个顶尖水准的滤波器,但设计缺陷导致了其截止频率无法达到 12kHz 以上,因此使得运用了该滤波器的合成器听起来十分「浑浊」、「死气沉沉」。神奇的是,只需要换掉电路板上的四个电阻就可以简单地修复这一问题。