吳禮福 李佳強(qiáng) 陳 定 郭曉董 焦 坤
(1南京信息工程大學(xué)電子與信息工程學(xué)院 南京 210044)
(2江蘇省大氣環(huán)境與裝備技術(shù)協(xié)同創(chuàng)新中心 南京 210044)
隨著經(jīng)濟(jì)、社會(huì)的快速發(fā)展,噪聲污染已成為一大嚴(yán)峻的環(huán)境問(wèn)題[1?3]。有源噪聲控制(Active noise control,ANC)是一種通過(guò)主動(dòng)產(chǎn)生的次級(jí)聲信號(hào)與原噪聲信號(hào)相互作用的方式而達(dá)到降噪效果的方法[4?5],在有源降噪耳機(jī)[6]、有源降噪頭靠[7]、電力變壓器噪聲控制[8]等領(lǐng)域已有廣泛的應(yīng)用。反饋有源控制系統(tǒng)無(wú)需獲取參考信號(hào),系統(tǒng)構(gòu)造簡(jiǎn)單,成本低,具有重要的應(yīng)用前景。然而,反饋系統(tǒng)也有自身的不足,一是有效降噪頻帶較窄,二是系統(tǒng)穩(wěn)定性較差,三是存在水床效應(yīng),即不同頻段的噪聲衰減特性不是孤立的,一個(gè)頻段內(nèi)的噪聲衰減通常伴隨著另一頻段內(nèi)的噪聲放大[9?10]。
目前,反饋有源控制系統(tǒng)的設(shè)計(jì)方法可分為兩類。一類是離線設(shè)計(jì)方法,例如運(yùn)用H∞魯棒控制理論設(shè)計(jì)反饋系統(tǒng)[6]、基于H2/H∞的優(yōu)化方法設(shè)計(jì)反饋系統(tǒng)[7],文獻(xiàn)[10]采用最小二乘的優(yōu)化方法對(duì)水床效應(yīng)中的噪聲放大進(jìn)行展平來(lái)設(shè)計(jì)反饋控制系統(tǒng)。離線設(shè)計(jì)方法的主要思想是構(gòu)造一個(gè)和系統(tǒng)降噪性能有關(guān)的代價(jià)函數(shù)與約束條件,然后根據(jù)此代價(jià)函數(shù),通過(guò)某種優(yōu)化算法計(jì)算出控制器。然而,這些設(shè)計(jì)中采用的優(yōu)化算法通常都不能保證尋找到的一定是最優(yōu)解,且優(yōu)化算法一般對(duì)初始值的選擇都較為敏感,實(shí)際設(shè)計(jì)中通常需要足夠的經(jīng)驗(yàn)和多次嘗試才能獲得滿意的控制器參數(shù)。此外,這類方法不具有自適應(yīng)能力,即離線設(shè)計(jì)好的反饋系統(tǒng)不能隨著環(huán)境的變化而自適應(yīng)調(diào)整。另一類是在線設(shè)計(jì)方法,例如,Luo等[11]采用小波包分解噪聲信號(hào)的方法調(diào)整反饋控制系統(tǒng)的控制器;Wu等[12?13]提出了一種簡(jiǎn)化的自適應(yīng)反饋控制系統(tǒng),該系統(tǒng)將誤差信號(hào)直接用作參考信號(hào),從而省去了次級(jí)信號(hào)與次級(jí)路徑估計(jì)的濾波運(yùn)算,降低了系統(tǒng)的復(fù)雜度。同時(shí)文獻(xiàn)[12]中提出采用時(shí)域泄漏濾波-x最小均方(Filtered-x least mean square,FxLMS)算法可以改善系統(tǒng)的穩(wěn)定性。這些方法雖然可以根據(jù)環(huán)境的變化而自適應(yīng)調(diào)整,但是它們都沒(méi)有明確考慮反饋系統(tǒng)中固有的水床效應(yīng)引起的噪聲放大現(xiàn)象。
為了克服前述離線設(shè)計(jì)方法的不足,同時(shí)考慮噪聲放大現(xiàn)象,本文研究了一種反饋有源控制系統(tǒng)的自適應(yīng)設(shè)計(jì)算法,該算法在獲取降噪性能的同時(shí),能有效調(diào)節(jié)水床效應(yīng)引起的噪聲放大。
圖1(a)是基于內(nèi)模型控制(Internal model control)的自適應(yīng)反饋有源噪聲控制系統(tǒng)結(jié)構(gòu),它包含用于采集誤差信號(hào)e(n)的誤差傳感器,用于產(chǎn)生次級(jí)信號(hào)y(n)的次級(jí)聲源(揚(yáng)聲器),待降低的初級(jí)噪聲d(n),合成的參考信號(hào)x(n)和控制器W(z)。反饋系統(tǒng)的目標(biāo)是尋找合適的控制器W(z)對(duì)x(n)進(jìn)行處理得到次級(jí)信號(hào)y(n),y(n)經(jīng)次級(jí)路徑S(z)后到達(dá)誤差傳感器處與d(n)相抵消。次級(jí)路徑S(z)主要包括數(shù)模(D/A)轉(zhuǎn)換、重構(gòu)濾波器、功放、揚(yáng)聲器和揚(yáng)聲器與誤差傳聲器之間的聲學(xué)路徑、誤差傳聲器、前置放大、抗混疊濾波器和模數(shù)(A/D)轉(zhuǎn)換等。為了補(bǔ)償次級(jí)路徑的影響,可以利用次級(jí)路徑的估計(jì)?S(z)對(duì)參考信號(hào)x(n)進(jìn)行濾波后作為L(zhǎng)MS算法的輸入,因此稱作FxLMS算法。
圖1(b)是文獻(xiàn)[12]中提出的簡(jiǎn)化(Simplif i ed)自適應(yīng)反饋系統(tǒng)結(jié)構(gòu),與圖1(a)的區(qū)別是參考信號(hào)x(n)直接取自誤差信號(hào),而不是用經(jīng)過(guò)?S(z)濾波后的次級(jí)信號(hào)來(lái)合成。本文的算法完全適用于圖1所示兩種結(jié)構(gòu)的反饋系統(tǒng),因此,若無(wú)特別說(shuō)明,后續(xù)推導(dǎo)中不再明確區(qū)分。
圖1 自適應(yīng)反饋有源噪聲控制系統(tǒng)Fig.1 Block diagram of adaptive feedback ANC systems
反饋系統(tǒng)的水床效應(yīng)是指一個(gè)頻段內(nèi)的噪聲衰減通常伴隨著另一頻段內(nèi)的噪聲放大[9?10],因此,在反饋系統(tǒng)的離線設(shè)計(jì)中,將噪聲放大量作為一個(gè)約束條件,通過(guò)最小化誤差信號(hào)能量來(lái)求解控制器W(z)。從圖1可以看出,在z變換域,Y′(z)與初級(jí)噪聲D(z)在誤差傳聲器處相互抵消后有
Y′(z)滿足
其中,X′(z)=X(z)S(z)是用次級(jí)路徑的估計(jì)?S(z)對(duì)參考信號(hào)x(n)進(jìn)行濾波后的信號(hào)。由式(2)可知如果能夠限制控制器W(z)在某個(gè)頻段內(nèi)的幅度響應(yīng),則信號(hào)Y′(z)中該頻段內(nèi)的能量就會(huì)受限,最終可以調(diào)節(jié)E(z)中該頻段內(nèi)的噪聲放大量。這是本文算法的出發(fā)點(diǎn)。
常用的頻域LMS算法是塊LMS算法的快速實(shí)現(xiàn)方式,運(yùn)用快速傅里葉變換(Fast Fourier transform,FFT)及重疊保留法可以節(jié)省大量運(yùn)算量,但會(huì)有一個(gè)塊長(zhǎng)度的延時(shí)[14],這種延時(shí)會(huì)導(dǎo)致ANC系統(tǒng)性能的顯著下降,因此在ANC系統(tǒng)中采用的是圖2所示的頻域FxLMS算法,該算法是在時(shí)域?qū)崿F(xiàn)濾波操作以避免一個(gè)塊長(zhǎng)度的延時(shí),而在頻域完成濾波器系數(shù)的更新[15]。
圖2中控制器w是一個(gè)L階FIR(Finite impulse response)濾波器,即w(n)=[w0(n),w1(n),···,wL?1(n)]T,n是時(shí)間序號(hào),上標(biāo)T表示轉(zhuǎn)置。為了避免循環(huán)卷積效應(yīng),F(xiàn)FT和IFFT的長(zhǎng)度都為2L。xf(n)是利用次級(jí)路徑的估計(jì)?S(z)對(duì)參考信號(hào)x(n)進(jìn)行濾波后的信號(hào),誤差信號(hào)e(n)滿足
其中,
w(n)的迭代方式為
圖2 在時(shí)域?yàn)V波頻域更新系數(shù)的頻域FxLMS算法Fig.2 Frequency domain FxLMS algorithm with time domain f i ltering and frequency domain adaptation
其中,μ為步長(zhǎng),{·}+表示取因果部分操作,X?(k)表示X(k)的復(fù)共軛。頻域矢量X(k)和E(k)都是2L點(diǎn)的FFT系數(shù),分別由其對(duì)應(yīng)的時(shí)域矢量計(jì)算得到
式(7)中的0是L點(diǎn)的零矢量,e(n)為
式(5)~(8)描述的頻域算法的代價(jià)函數(shù)為
算法在迭代過(guò)程中僅考慮最小化式(9),而沒(méi)有考慮其他約束條件。
由前述分析可知,為了調(diào)節(jié)反饋系統(tǒng)中的噪聲放大量,可以對(duì)w(n)某些頻段內(nèi)的幅度響應(yīng)進(jìn)行限制,頻域自適應(yīng)算法恰好可以方便直接地限制控制器W(z)在某個(gè)頻段內(nèi)的幅度響應(yīng),即增加如下約束:
其中,W(k)是w的離散傅里葉變換的第k個(gè)系數(shù),即
此處,fk=[0 e?j2πk/L ··· e?j2π(L?1)k/L]T是離散傅里葉變換矩陣的第k個(gè)列矢量。將式(11)帶入式(10),并由|W(k)|2=W(k)W?(k)可得
因?yàn)閣TFw=|W(k)|2,所以矩陣F=f?kfTk是一個(gè)半正定陣。式(12)表明ck是w的二次型表達(dá)式,即式(12)是一個(gè)“凸”的約束條件,其中ck對(duì)w求偏導(dǎo)數(shù)可得
為了調(diào)節(jié)反饋系統(tǒng)中的噪聲放大量并同時(shí)獲得降噪量,本文提出在滿足式(12)的約束下,最小化式(9),為此將式(12)作為“懲罰項(xiàng)”添加到式(9)中得到新的代價(jià)函數(shù)為
其中,0<λ<1是“懲罰因子”。
從式(14)可以看出,當(dāng)ck6 0時(shí),也就是滿足式(12)的約束條件時(shí),符號(hào)函數(shù)sign(ck)=?1,“懲罰項(xiàng)”=0,式(14)與式(9)相同,此時(shí)以獲取最大降噪量為目標(biāo);當(dāng)ck>0時(shí),也就是不滿足式(12)的約束條件時(shí),符號(hào)函數(shù)sign(ck)=1,“懲罰項(xiàng)”ck=ck,此時(shí)要兼顧降噪量與噪聲放大,在降噪量與噪聲放大之間折衷。
依據(jù)最速下降法可以求得式(14)決定的w的更新方式為
與式(5)相比,式(15)的運(yùn)算量并沒(méi)有劇烈地增長(zhǎng),迭代過(guò)程中僅增加了4λLW(k)一項(xiàng)的開(kāi)銷。
圖3 有源降噪耳機(jī)實(shí)驗(yàn)系統(tǒng)的器件連接Fig.3 The devices connection in the active noise control headphone experiments
本文在有源降噪耳機(jī)的實(shí)例中驗(yàn)證算法性能,將市場(chǎng)上購(gòu)買的有源降噪耳機(jī)拆解后,引出參考傳聲器、誤差傳聲器、次級(jí)源的信號(hào)線,保持耳機(jī)整個(gè)結(jié)構(gòu)不變。按照?qǐng)D3所示搭建信號(hào)采集系統(tǒng),耳機(jī)佩戴到B&K公司的人工頭(4182C)上后[12],將耳機(jī)的參考傳聲器、誤差傳聲器經(jīng)過(guò)傳聲器前放后連接到B&K公司的PULSE,PULSE一方面將參考信號(hào),誤差信號(hào)與次級(jí)源信號(hào)輸送到電腦,另一方面也給揚(yáng)聲器(噪聲源)提供信號(hào)。
實(shí)驗(yàn)在全消聲室中進(jìn)行,如圖4(a)所示,初級(jí)聲源分別位于人工頭正前方、正左方、正右方和正后方,距離人工頭0.3 m。系統(tǒng)的采樣率為16000 Hz。首先利用次級(jí)源和誤差傳聲器信號(hào)為次級(jí)路徑S(z)建模得到?S(z),此處?S(z)為256階的FIR濾波器。
圖4 初級(jí)聲源的四個(gè)位置及消聲室中的實(shí)驗(yàn)場(chǎng)景Fig.4 Diagrammatic view of the 4 dif f erent incident directions of the primary noise and the experimental conf i guration in the anechoic chamber
對(duì)于圖1所示的自適應(yīng)反饋系統(tǒng),本文選用了如下三種算法分別迭代得到控制器后,對(duì)比三種算法的降噪量:式(5)所示的頻域自適應(yīng)算法(后文以“FDFxLMS”標(biāo)記),文獻(xiàn)[12]中使用的時(shí)域泄漏FxLMS算法(后文以“Leaky”標(biāo)記)和本文式(15)表示的頻域自適應(yīng)算法(后文以“cFDFxLMS”標(biāo)記)??刂破鱓(z)都為512階FIR濾波器,即式(4)中L=512。三種算法的參數(shù)設(shè)定列于表1中?!癋DFxLMS”算法中的步長(zhǎng)μ=0.003;“Leaky”算法中的μ =0.004,γ =0.05,相當(dāng)于泄漏因子為0.9998[12];“cFDFxLMS”算法中μ =0.004,λ =0.01,式(10)中k取值為153~256之間的自然數(shù),θ(k)=1.78,在16000 Hz系統(tǒng)采樣率時(shí),對(duì)應(yīng)于在2400 Hz~4000 Hz范圍內(nèi)限制W(z)的幅度小于5 dB。這是考慮到在降噪耳機(jī)的實(shí)際應(yīng)用中,有源控制主要是降低1000 Hz以下的噪聲,對(duì)于2000 Hz~4000 Hz頻段內(nèi)的噪聲放大容易讓人反感,因而此處參數(shù)設(shè)定是為了限制2400 Hz~4000 Hz頻帶內(nèi)的噪聲放大。需要指出的是,參數(shù)θ(k)只是限定了控制器W(z)的幅度相應(yīng),只能調(diào)節(jié)噪聲放大量,而無(wú)法與噪聲放大量精確對(duì)應(yīng),也就是說(shuō),本文算法很難通過(guò)噪聲放大量的閾值反推出具體的θ(k)。
表1 三種算法中的參數(shù)設(shè)定Table 1 Parameters setting in the FDFxLMS algorithm,the leaky FxLMS algorithm and the cFDFxLMS algorithm
三種算法的降噪量如圖5所示。圖5(a)是圖1(a)所示內(nèi)模型控制反饋系統(tǒng)的結(jié)果,可以看出,“FDFxLMS”算法的有效降噪頻帶是2000 Hz以下,在100 Hz~700 Hz范圍內(nèi)可以獲得10 dB以上的降噪量,在300 Hz附近可以獲得23 dB的最大降噪量;時(shí)域泄漏FxLMS算法的有效降噪頻帶是1000 Hz以下,在300 Hz附近可以獲得8 dB的最大降噪量;本文算法的有效降噪頻帶也是1000 Hz以下,在300 Hz附近可以獲得17 dB的最大降噪量。雖然“FDFxLMS”算法在三種算法中的降噪量最大,但是其噪聲放大也是最嚴(yán)重的,特別是在2400 Hz~4200 Hz范圍內(nèi),其噪聲放大量為5~9 dB;時(shí)域泄漏FxLMS算法的噪聲放大量最小,都低于2 dB并且近似均勻分布在1000 Hz~6000 Hz的范圍內(nèi);本文算法的噪聲放大量要高于時(shí)域泄漏FxLMS算法而低于“FDFxLMS”算法,其在1000 Hz~6000 Hz范圍內(nèi)的噪聲放大量均小于4 dB。
圖5(b)是圖1(b)所示簡(jiǎn)化反饋系統(tǒng)的結(jié)果,可以看出,“FDFxLMS”算法、時(shí)域泄漏FxLMS算法和本文算法的最大降噪量也是在300 Hz附近獲得,分別是21 dB、7 dB和13 dB。與圖5(a)的現(xiàn)象類似,“FDFxLMS”算法在三種算法中的噪聲放大也是最嚴(yán)重的,其在2500 Hz~3000 Hz范圍內(nèi)的噪聲放大量甚至在10~15 dB之間,而本文算法可以控制目標(biāo)頻帶內(nèi)的噪聲放大量小于4 dB。
圖5 FDFxLMS算法、時(shí)域泄露FxLMS算法和本文算法的降噪性能比較Fig.5 The ANC performance of the internal model control and the simplif i ed feedback systems based on the FDFxLMS algorithm,the leaky FxLMS algorithm and the proposed algorithm.
圖5 結(jié)果表明本文算法在最大降噪量上比“FDFxLMS”算法差,其原因可以從式(9)和式(14)的對(duì)比中看出,“FDFxLMS”算法在控制器系數(shù)的迭代過(guò)程中僅考慮最小化誤差信號(hào)的能量,而沒(méi)有考慮其他約束條件,因此其降噪量最好,然而其噪聲放大也最嚴(yán)重,而本文算法對(duì)控制器在某些頻段內(nèi)的幅度加以限制,當(dāng)控制器系數(shù)在迭代過(guò)程中違反了該限制時(shí),就會(huì)受到“懲罰”,算法不再只考慮最小化誤差信號(hào)的能量,而是要兼顧降噪量與噪聲放大,在降噪量與噪聲放大之間折衷。
圖5結(jié)果也表明本文算法在降噪性能上優(yōu)于時(shí)域泄漏FxLMS算法,其原因分析如下。時(shí)域泄漏FxLMS算法的代價(jià)函數(shù)為[16]
其中,0<γ<1,相應(yīng)的控制器系數(shù)迭代公式為
式(16)中也加入了懲罰項(xiàng)“γwT(n)w(n)”,而wT(n)w(n)= ∥w(n)∥2,即時(shí)域泄漏FxLMS算法在迭代過(guò)程中約束了控制器系數(shù)的二階范數(shù),等效于限制了控制器在整個(gè)頻帶內(nèi)的能量,而式(14)僅僅限制了在某些頻帶內(nèi)的幅度(仿真中為2400 Hz~4000 Hz),因此時(shí)域泄漏FxLMS算法可以看作是本文算法的一種特例。另一方面,如果將本文算法的迭代公式(15)中的k取全頻帶,取近似w(n)≈IFFT{W(k)}+,則式(15)中的第二行可以近似表示為
此時(shí)式(18)與式(17)相近,每次迭代過(guò)程中都將w(n)乘以一個(gè)泄漏因子(1?4μλL),這也表明時(shí)域泄漏FxLMS算法可以看作是本文算法的一種特例。綜前所述,與“FDFxLMS”算法相比,本文算法明確考慮了噪聲放大現(xiàn)象,與時(shí)域泄漏FxLMS算法相比,本文算法能夠更為直接精確地對(duì)控制器系數(shù)施加約束,從而在降噪量與某個(gè)頻段內(nèi)的噪聲放大量之間做好調(diào)節(jié)。
為了能在自適應(yīng)反饋系統(tǒng)中同時(shí)調(diào)節(jié)噪聲放大現(xiàn)象,本文理論分析后發(fā)現(xiàn)通過(guò)限制控制器在某個(gè)頻段內(nèi)的幅度響應(yīng)可以調(diào)節(jié)該頻段內(nèi)的噪聲放大量,據(jù)此提出了一種反饋有源控制系統(tǒng)的自適應(yīng)算法,其目標(biāo)函數(shù)在最小化誤差信號(hào)能量的同時(shí)加入“懲罰項(xiàng)”以調(diào)節(jié)噪聲放大量。在有源降噪耳機(jī)實(shí)例中的對(duì)比結(jié)果表明:與已有“FDFxLMS”算法相比,本文算法對(duì)噪聲放大量施加了約束;已有時(shí)域泄漏FxLMS算法可以看作是本文算法的一種特例,并且本文算法能夠更為直接精確地對(duì)指定頻段內(nèi)的噪聲放大量進(jìn)行調(diào)節(jié)。