濾波器越長(zhǎng)越好?我們身處的時(shí)代崇尚“越大越好”,但這一至理名言也許并不適用于FIR濾波器長(zhǎng)度。
DSP支持的濾波器長(zhǎng)度通常為1024點(diǎn)(tabs),有些高達(dá)4096點(diǎn)。為什么人們不想要或不需要長(zhǎng)度更長(zhǎng)的FIR濾波器?如果生廠商在DSP中引入8192點(diǎn)的FIR濾波器,人們會(huì)舍棄競(jìng)爭(zhēng)產(chǎn)品而選擇它嗎?
頻率越低,時(shí)間越長(zhǎng)
首先,我們需要一份用于練習(xí)和實(shí)驗(yàn)的文件??墒褂脫P(yáng)聲器的測(cè)量數(shù)據(jù),但稍微簡(jiǎn)單的文件更易于幫助我們發(fā)現(xiàn)重要的點(diǎn)。
請(qǐng)查看圖1作為參考。我在FIRCapture軟件中創(chuàng)建該系列提升濾波器(分離的以一個(gè)倍頻程為帶寬的對(duì)稱均衡器)并保存為WAV文件??赏ㄟ^(guò)任何9段參量均衡器輕松創(chuàng)建此響應(yīng)。
我選擇Q=6以最大化減少濾波器之間的重疊。這一組濾波器又構(gòu)成了一個(gè)濾波器,它與揚(yáng)聲器的響應(yīng)并無(wú)二致,更別提在最高頻和最低頻處必不可少的高通和低通響應(yīng)了。如果這就是一個(gè)揚(yáng)聲器的響應(yīng)(讓我們假設(shè)如此),我們將希望對(duì)凸起部分進(jìn)行均衡處理,以獲得整體較為平坦的響應(yīng)。通過(guò)該文件,我們可以很好地考察FIR濾波器的頻率解析度。
頻域視圖顯示頻率響應(yīng)的振幅、相位和群延時(shí)。請(qǐng)注意,相位和群延時(shí)是兩種不同的方式,顯示信號(hào)通過(guò)時(shí),濾波器如何改變其時(shí)間行為。由于相位是相對(duì)的,因此每個(gè)凸起的相位行為都相同。
在之前的文章中我演示過(guò),一個(gè)帶通濾波器的最小相位響應(yīng)首先呈正向,然后在濾波器的中心頻率回到原點(diǎn),最后為負(fù)向。這個(gè)相位偏移將使得通過(guò)濾波器的信號(hào)產(chǎn)生與頻率相關(guān)的振鈴現(xiàn)象(Ringing)。振鈴現(xiàn)象持續(xù)的時(shí)間由群延時(shí)圖顯示。
圖2是該濾波器的頻域/時(shí)域綜合圖。圖3顯示了每個(gè)分離倍頻程的中心頻率的波長(zhǎng)。二者有何相關(guān)?由于聲速約為1英尺/毫秒(ft/ms),每個(gè)倍頻程的中心頻率波長(zhǎng)大約等同于一周期所需時(shí)間。波長(zhǎng)的概念以十分形象的方式顯示聲波與時(shí)間和空間有關(guān),而濾波器的響應(yīng)也是如此。
群延時(shí)(GD)與濾波器的頻率波長(zhǎng)成正比關(guān)系,頻率越低,群延時(shí)越長(zhǎng)。單從名稱來(lái)看,似乎指的是信號(hào)通過(guò)濾波器所造成的延時(shí),這有點(diǎn)誤導(dǎo)人。濾波器的儲(chǔ)存屬性造成了振鈴現(xiàn)象,即信號(hào)中增加了多余周期。
群延時(shí)顯示了提升濾波器占據(jù)的時(shí)長(zhǎng)。低頻凸起具有很長(zhǎng)的振鈴,這不足為奇。群延時(shí)與濾波器頻率成反比(與波長(zhǎng)成正比),相位偏移相等時(shí),頻率越低,群延時(shí)越長(zhǎng)。
為方便演示,我們以圖4所示的信號(hào)處理鏈路為例。我們輸入一個(gè)測(cè)試信號(hào),看看將發(fā)生什么。圖5為2通道示波器顯示的結(jié)果。藍(lán)色軌跡為1000Hz 6.5周期的小波。這是Don Keele測(cè)試信號(hào)中的一個(gè)。紅色軌跡為此信號(hào)通過(guò)一個(gè)1000 Hz提升濾波器之后的結(jié)果。請(qǐng)注意,原信號(hào)和通過(guò)濾波處理的信號(hào)相位一致,但是經(jīng)過(guò)濾波器的信號(hào)周期增加了。這是在時(shí)域觀察的振鈴現(xiàn)象。一個(gè)削減濾波器的振鈴現(xiàn)象將占據(jù)同等時(shí)長(zhǎng)。
IIR均衡
一個(gè)模擬或數(shù)字無(wú)線脈沖響應(yīng)濾波器(IIR filter)如何校正響應(yīng)?必須是產(chǎn)生與凸起相反的振幅響應(yīng)和相位偏移。由于IIR濾波器是循環(huán)的,即利用反饋將一部分輸出信號(hào)返回到輸入端進(jìn)行再處理(可類比電容的充電和放電)。
因此,IIR濾波器在操作過(guò)程中沒(méi)有低頻限制(起碼與FIR濾波器相比時(shí)如此),而且不會(huì)造成大量處理延時(shí)。只要有輸入信號(hào),就會(huì)有輸出信號(hào),濾波器的脈沖響應(yīng)(理論上)永遠(yuǎn)不會(huì)衰減到零。
正向群延時(shí)是窄頻段提升濾波器的標(biāo)志(圖1),而負(fù)向群延時(shí)是削減濾波器的標(biāo)志。圖7顯示了通過(guò)一款受歡迎的DSP的EQ模塊實(shí)現(xiàn)的一組IIR濾波器。通過(guò)對(duì)比圖1每個(gè)凸起以及圖7每個(gè)陷波的振幅以及相位,可以發(fā)現(xiàn)圖7的均衡器可以完全校正我文件的響應(yīng)。
順便提一句,窄頻段信號(hào)的群延時(shí)并不代表信號(hào)延時(shí),而顯示了濾波器振鈴現(xiàn)象所占的時(shí)長(zhǎng)。音頻中有些術(shù)語(yǔ)并非字面上的含義,比如“恒定電壓”(Constant voltage),但這是另外一個(gè)話題,這里不再贅述。
最小相位FIR EQ
下面讓我們討論最小相位FIR。它的響應(yīng)可以和參量均衡器生成的IIR濾波器一模一樣。關(guān)鍵的區(qū)別在于FIR濾波器的響應(yīng)與驅(qū)動(dòng)信號(hào)完全無(wú)關(guān)。它是有限長(zhǎng)度的脈沖響應(yīng),頻率解析度與長(zhǎng)度相關(guān)。
由于T = 1/F,要影響的頻率越低,需要的濾波器長(zhǎng)度越長(zhǎng)(時(shí)間跨度,更多點(diǎn)位數(shù))。對(duì)低頻凸起進(jìn)行校正需要在每一個(gè)頻率引入振幅和相位的共軛,這也會(huì)與群延時(shí)共軛。對(duì)于低頻凸起而言,這是非常長(zhǎng)的時(shí)間跨度。
再看回圖1。由于該濾波器是最小相位濾波器,因此處理延時(shí)很小,與IIR濾波器的差不多。差別在于FIR濾波器的帶寬由它的長(zhǎng)度決定(圖6),因此需要一個(gè)長(zhǎng)度非常長(zhǎng)的濾波器對(duì)低頻凸起進(jìn)行均衡處理。這與創(chuàng)建濾波器所采用的處理算法無(wú)關(guān)。
頻率解析度
從圖6中可看出,一個(gè)1024點(diǎn)、采樣率為48 kHz的最小相位FIR濾波器,長(zhǎng)度為21毫秒。由于T=1/F,此濾波器的頻率解析度為47.6 Hz。
這意味這什么?這意味著在頻域視圖下,每個(gè)數(shù)據(jù)點(diǎn)之間的間隔。
它同時(shí)也表示濾波器能影響的最低頻率。而事實(shí)上的頻率解析度還要低一些(能影響的最低頻率還要稍高一些),因?yàn)橥枰獛讉€(gè)周期的波形才能確定某一頻率。
要是增加更多點(diǎn)位呢?濾波器長(zhǎng)度加倍將使得頻率解析度加倍,使得數(shù)據(jù)點(diǎn)之間的頻率間隔變成24 Hz。
它還使得低頻限制下潛一半,去到24Hz。這一趨勢(shì)將繼續(xù),點(diǎn)位數(shù)每加倍,將使得濾波器的響應(yīng)下潛一個(gè)倍頻程。因此,長(zhǎng)度更長(zhǎng)的FIR濾波器將使得:1) 濾波器擴(kuò)展至更低頻率。2)濾波器的頻率響應(yīng)呈現(xiàn)更多細(xì)節(jié),因?yàn)閿?shù)據(jù)點(diǎn)更加密集。
在最小相位FIR濾波器這種情況下,更多點(diǎn)位數(shù)大有裨益,因?yàn)檫@意味著濾波器可以擴(kuò)展至更低頻率。由于這是最小相位濾波器,因此相比IIR濾波器并沒(méi)有增加額外的處理延時(shí)。要使我的示范文件獲得平滑的響應(yīng),大約需要4096點(diǎn),這遠(yuǎn)超過(guò)現(xiàn)有DSP能支持的點(diǎn)位數(shù),這使得需要更多點(diǎn)位數(shù)的爭(zhēng)論愈演愈烈。
先別著急下結(jié)論
讓我們?cè)僬J(rèn)真考慮。最小相位FIR的行為與最小相位IIR濾波器一樣,只不過(guò)需要足夠多的點(diǎn)位數(shù)才能影響欲達(dá)到的最低頻率。低頻均衡需要更長(zhǎng)的濾波器長(zhǎng)度。
但是為什么要在DSP中通過(guò)占用大量系統(tǒng)資源的FIR濾波器模塊來(lái)創(chuàng)建一個(gè)最小相位濾波器呢?一個(gè)精心調(diào)節(jié)的參量均衡模塊(IIR)將占用少得多的系統(tǒng)資源,但產(chǎn)生同樣平滑的響應(yīng),且頻率解析度更佳(圖7)。使用盡可能少的系統(tǒng)資源得到所需結(jié)果,在音頻行業(yè)是最佳實(shí)踐,而使用FIR濾波器進(jìn)行最小相位均衡并不高效,
接下來(lái)讓我們思考校正的響應(yīng)不是最小相位的這種情況。我在參考文件中,將一個(gè)二階全通濾波器(500 Hz)添加至響應(yīng)中(圖8)。這將在濾波器的整個(gè)帶寬中造成相位偏移,但是對(duì)振幅響應(yīng)的影響最小。在事實(shí)應(yīng)用中,這種全通行為可能源于使用了分頻網(wǎng)絡(luò)。最小相位FIR濾波器不能補(bǔ)償這樣的額外的相位偏移。
線性相位FIR
一個(gè)線性相位FIR具有對(duì)稱的脈沖響應(yīng),主信號(hào)到達(dá)時(shí)間位于脈沖響應(yīng)(IR)的中間(圖9)。我們將到達(dá)峰值設(shè)為相對(duì)時(shí)間零,在此之前的時(shí)間跨度提供了“負(fù)時(shí)間”到達(dá),用于共軛主到達(dá)峰值之后的能量到達(dá)。
這些“預(yù)延時(shí)”與事實(shí)時(shí)間之間存在因果關(guān)系,但是與主要的信息到達(dá)時(shí)間沒(méi)有因果關(guān)系。這允許濾波器通過(guò)相反的“負(fù)時(shí)間”響應(yīng)對(duì)反射能量進(jìn)行補(bǔ)償。
所以,如果點(diǎn)位長(zhǎng)度為1024個(gè)點(diǎn),線性相位FIR濾波器將把主到達(dá)時(shí)間置于T/2處,讓一半濾波器長(zhǎng)度提供預(yù)到達(dá)時(shí)間,以共軛揚(yáng)聲器或房間產(chǎn)生的后到達(dá)能量。它還允許引入所需的負(fù)向群延時(shí),以補(bǔ)償分頻器的全通響應(yīng)。
因?yàn)閷⒁话氲臑V波器長(zhǎng)度用于“負(fù)時(shí)間”校正,濾波器的頻率解析度將減半。例如,1024點(diǎn)的最小相位FIR濾波器頻率解析度為47.6 Hz。而同樣長(zhǎng)度的線性相位FIR濾波器頻率解析度為95.2 Hz,因?yàn)轭A(yù)留了一半長(zhǎng)度用于相位均衡。
點(diǎn)位數(shù)越多越好?
對(duì)于最小相位FIR濾波器而言,似乎如此。問(wèn)題在于非最小相位濾波器需要預(yù)留一半長(zhǎng)度用于相位均衡。這會(huì)表現(xiàn)為處理延時(shí)(常錯(cuò)誤地被稱為延遲)。與最小相位FIR濾波器不同,隨著線性相位FIR濾波器的長(zhǎng)度增加以提高其頻率解析度,它的延時(shí)也會(huì)增長(zhǎng)。這不是由DSP的速度造成,而源于TF = 1。
現(xiàn)在再調(diào)出我的參考文件,只不過(guò)這次是一系列的削減濾波器,削減的頻率與原有提升濾波器(圖10)一致。從之前的討論中得知,群延時(shí)視圖(藍(lán)線)顯示濾波器振鈴現(xiàn)象的時(shí)間長(zhǎng)度。請(qǐng)注意,它現(xiàn)在呈負(fù)向,但這僅意味著這個(gè)濾波器產(chǎn)生的相位偏移在整個(gè)帶寬不斷擴(kuò)大。并不表示出現(xiàn)了“時(shí)間提前”或者濾波器的響應(yīng)是非因果關(guān)系的。
無(wú)法回避的是,頻率越低,濾波器發(fā)揮影響需要的時(shí)間越長(zhǎng),在最低倍頻程的中心頻率(31.5 Hz)這個(gè)時(shí)間將變得非常長(zhǎng)(~40 ms)。對(duì)于現(xiàn)場(chǎng)演出和許多固定安裝應(yīng)用來(lái)說(shuō),這么長(zhǎng)時(shí)間的處理延時(shí)是不可接受的。一個(gè)1024點(diǎn)的FIR濾波器(48 kHz采樣率)時(shí)長(zhǎng)為21毫秒,意味著處理延時(shí)大約為10.5毫秒。
將采樣率提升至96 kHz并不會(huì)降低處理延時(shí),因?yàn)楸仨毺幚淼牟蓸訑?shù)量也加倍了。無(wú)法改變的事實(shí)是,21毫秒的長(zhǎng)度最低僅可以影響48Hz,而事實(shí)上的頻率解析度是48Hz的3倍,或者說(shuō)是150 Hz。
問(wèn)題變得更糟糕
線性相位FIR濾波器還有另一個(gè)缺點(diǎn)。由于“相對(duì)時(shí)間零”位于濾波器時(shí)長(zhǎng)的中間,其頻率解析度是最小相位FIR濾波器的一半。
因此,如果一個(gè)1024點(diǎn)的最小相位FIR濾波器最低可以影響150Hz,那么一個(gè)1024點(diǎn)的線性相位FIR濾波器最低只可以影響300Hz。
影響的頻率要下潛至150Hz將需要一個(gè)2048點(diǎn)的濾波器,意味著處理延時(shí)也要從10.7毫秒翻倍到21毫秒。
而針對(duì)我的示范文件,將需要一個(gè)8196點(diǎn)的FIR濾波器才能使整個(gè)通帶的響應(yīng)變得平滑。所需的處理延時(shí)約為85毫秒。
表面來(lái)看,F(xiàn)IR濾波器的長(zhǎng)度越長(zhǎng),好處似乎是可以提高頻率解析度,從而:1)影響更低頻率。2)在整個(gè)帶寬包含更多細(xì)節(jié)。
我已經(jīng)向大家展示,至少對(duì)于線性相位FIR濾波器而言,要影響更低頻率(更多點(diǎn)位數(shù))將提高處理延時(shí)。這不是因?yàn)樘幚砟芰Σ蛔愣斐桑从跁r(shí)間和頻率的相關(guān)性。低頻持續(xù)較長(zhǎng)時(shí)間,而且占據(jù)大量空間。數(shù)字處理無(wú)法改變此現(xiàn)狀。
部分好處
在可聽(tīng)頻譜內(nèi)一共有10個(gè)倍頻程,所以每個(gè)倍頻程占據(jù)整體的十分之一(對(duì)數(shù)標(biāo)尺)。濾波器長(zhǎng)度加倍,將使得處理延時(shí)加倍,而這僅僅使得你均衡處理的頻譜多了十分之一。
就好比讓功放的功率加倍只為了得到3dB提升一樣,有時(shí)到了一個(gè)臨界點(diǎn),得到的回報(bào)很少,根本就不值得。在功放的例子中代價(jià)是金錢,而對(duì)線性相位FIR濾波器而言,代價(jià)是延時(shí)??梢哉f(shuō),數(shù)字處理的貨幣就是時(shí)間。你可以得到很好的效果,前提是可以等待足夠長(zhǎng)時(shí)間。
在大多數(shù)房間中,最低的兩個(gè)倍頻程(次低頻)位于施洛德頻率曲線(Schroder Frequency)下方,這時(shí)房間模式(room modes)對(duì)每個(gè)座位的頻率響應(yīng)有深刻影響。即便我們通過(guò)線性相位FIR濾波器,將房間中某一點(diǎn)的響應(yīng)處理得非?!巴昝馈?,在其它座位響應(yīng)也是不一樣的,這樣做的意義何在?
那需要更高的濾波器精度嗎?一個(gè)1024點(diǎn)的濾波器,數(shù)據(jù)點(diǎn)之間的頻率間隔約為48Hz。如果這還不夠校正你的頻率響應(yīng),很可能你在嘗試校正一些根本不應(yīng)該訴諸均衡處理的東西,比如由于房間反射造成的梳狀濾波。頻率響應(yīng)中的“細(xì)節(jié)”越多,則時(shí)間響應(yīng)越多與“位置相關(guān)”,因?yàn)檫@些細(xì)節(jié)由從不同表面而來(lái)的反射造成。
移動(dòng)測(cè)試話筒,則響應(yīng)發(fā)生很大改變。一個(gè)精度很高的FIR濾波器只適合“校正”空間中的一個(gè)點(diǎn)。這可能適用于在特定的話筒位置對(duì)會(huì)議系統(tǒng)進(jìn)行回聲消除,但這無(wú)益于整個(gè)觀眾區(qū)。更長(zhǎng)的FIR濾波器對(duì)現(xiàn)場(chǎng)應(yīng)用并沒(méi)有太大意義。
更高采樣率是否有幫助?
純屬坊間傳言。很遺憾并非如此。再回到圖6,濾波器點(diǎn)位的時(shí)間間隔dt=1/SR(采樣率),乘以點(diǎn)位數(shù)(N)可以得到濾波器的時(shí)間長(zhǎng)度(T)。頻率解析度(F)為1/T。
這是簡(jiǎn)單的關(guān)系,顯示了如果采樣率加倍,濾波器的頻率解析度將降低一半。我們把問(wèn)題弄得更糟了!如果采樣率加倍,那么需要處理的采樣數(shù)量要乘以2,這樣必須要使得濾波器長(zhǎng)度加倍,才能保持同樣的頻率解析度。
讓我們考察相反的情況。采樣率減半將提高濾波器的頻率解析度。但是要犧牲高頻響應(yīng),只能擴(kuò)展至SR/2。奈奎斯特采樣定理(Nyquist-Shannon)是不能否定的。
這一切都不能改變線性相位FIR濾波器所需的處理延時(shí),即濾波器時(shí)長(zhǎng)的一半。更高(更低)的采樣率不能改變信號(hào)的時(shí)間、頻率或波長(zhǎng)。
結(jié)論
毫無(wú)疑問(wèn),隨著技術(shù)的發(fā)展我們將來(lái)會(huì)擁有更長(zhǎng)的數(shù)字濾波器。芯片不斷完善,使用芯片的產(chǎn)品也如此。我們可能還記得16 bit/44.1 kHz的“CD級(jí)”音頻曾經(jīng)都是幾乎不可能實(shí)現(xiàn)的。但是如今很多人都認(rèn)為它解析度很低。FIR濾波器也將沿著這樣的軌跡發(fā)展。
但是實(shí)現(xiàn)更長(zhǎng)的濾波器還會(huì)遇到一些障礙,而這與技術(shù)無(wú)關(guān)。我在上面的文章中已顯示,最主要的障礙是處理延時(shí),這由濾波器必須影響的時(shí)間長(zhǎng)度有關(guān)(見(jiàn)圖1)。
在現(xiàn)場(chǎng)音響系統(tǒng)中,我們只能容忍一點(diǎn)延時(shí)。這個(gè)標(biāo)準(zhǔn)不是很精確,但是大部分人會(huì)同意超過(guò)20毫秒的濾波處理是比較長(zhǎng)的時(shí)間。這一不可避免的處理延時(shí)會(huì)增加信號(hào)鏈中其它數(shù)字設(shè)備的延遲,一般會(huì)額外增加10毫秒。處于時(shí)間考慮,我們不得不放棄對(duì)低頻進(jìn)行線性相位均衡處理,至少對(duì)現(xiàn)場(chǎng)應(yīng)用如此。
對(duì)高頻應(yīng)用線性相位FIR濾波器,對(duì)低頻應(yīng)用最小相位FIR濾波器似乎是一種解決方法。這被稱為“混合相位”濾波器,我認(rèn)為,這將是未來(lái)的發(fā)展趨勢(shì)。有些人開(kāi)始認(rèn)為IIR濾波器無(wú)用武之地了,但是不可否認(rèn),它們有最寬的帶寬、最低的處理延時(shí)而且使用的系統(tǒng)資源比其它任何數(shù)字濾波器都要少。請(qǐng)不要拿走我的參量均衡器模塊!
點(diǎn)位數(shù)量不能無(wú)限度多,意味著我們必須思考校正的重點(diǎn)是什么及其背后的理由。就好比罐子里只剩下一勺花生醬時(shí),我們要好好利用。我的均衡處理如何影響揚(yáng)聲器的整個(gè)覆蓋區(qū)域,而不僅限于測(cè)試話筒所擺放的“黃金位置”?要是考慮多個(gè)座位的情況,那線性相位FIR濾波器的魔法光環(huán)會(huì)迅速褪去。
好好運(yùn)用一個(gè)1024點(diǎn)的FIR濾波器,比稀里糊涂使用一個(gè)長(zhǎng)度更長(zhǎng)的濾波器要好。人類認(rèn)知為模數(shù)轉(zhuǎn)換所需的采樣率和位深設(shè)置了合理限制,時(shí)間、頻率、波長(zhǎng)和延遲也限制了更長(zhǎng)FIR濾波器所能帶來(lái)的好處。在音頻行業(yè),把東西弄得更大總是值得商榷,數(shù)字濾波器也不例外。這也并非壞事,可以保持平衡,并且促使人們思考是追求真正產(chǎn)生好聲音,還是規(guī)格參數(shù)表的數(shù)據(jù)更好看。
這又詮釋了“少即是多”。
評(píng)論
查看更多