李歡歡
(牡丹江師范學(xué)院 圖書館,黑龍江 牡丹江 157011)
隨著生活水平的不斷提高,人們更加期望舒適、安靜的環(huán)境。但是如今的噪聲污染問題使得這一任務(wù)變得更加艱巨。強(qiáng)烈的噪聲會對人們的聽力系統(tǒng)、神經(jīng)系統(tǒng)和消化系統(tǒng)等造成一定的損傷。我軍平戰(zhàn)時的數(shù)據(jù)表明:高炮兵、裝甲兵的聲損傷發(fā)病率約為23.5%~48.3%,因聲損傷致殘約占評殘總數(shù)一半[1]。為有效降低噪聲的影響,最初的解決方案是利用聲音與聲學(xué)材料或聲學(xué)結(jié)構(gòu)相互作用進(jìn)行噪聲控制,稱為被動噪聲控制技術(shù)。在被動噪聲控制中,吸聲材料的體積與噪聲波長成正比。所以對于低頻噪聲,被動噪聲控制裝置的體積就會變的極其龐大,增加了設(shè)備成本。此外,被動噪聲控制技術(shù)的降噪頻帶比較窄,各頻率的吸聲系數(shù)固定,不具有自適應(yīng)特性,無法有效降低時變噪聲。為適應(yīng)更加復(fù)雜噪聲環(huán)境,提高降噪效果,主動噪聲控制(active noise control, ANC)技術(shù)應(yīng)用而生。
ANC系統(tǒng)是基于聲波相消干涉原理的電聲學(xué)裝置,主要包含參考傳聲器、次級揚(yáng)聲器、誤差傳聲器和自適應(yīng)控制器[2-3]。參考傳聲器用來測量待處理的噪聲信號,次級揚(yáng)聲器產(chǎn)生一個與待處理噪聲幅度相同、相位相反的聲音信號,誤差傳聲器采集聲音疊加后的殘余誤差信號,自適應(yīng)控制器用來控制次級揚(yáng)聲器產(chǎn)生合適的次級噪聲。隨著高速信號處理技術(shù)的不斷發(fā)展, ANC技術(shù)的應(yīng)用更加多樣化,各式各樣的ANC控制算法脫穎而出,其中基于線性有限脈沖響應(yīng)(finite impulse response, FIR)結(jié)構(gòu)的濾波-X最小均方誤差(filtered-X least mean square, FXLMS)算法就是最流行的算法之一[4-5]。但是在實(shí)際ANC系統(tǒng)應(yīng)用中,信號的傳輸路徑可能具有非線性特性[6],如電子器件老化、揚(yáng)聲器飽和、較強(qiáng)聲壓聲音在管道中傳播等。此時,這種線性控制算法的降噪效果就會變差,甚至失效。因?yàn)镕IR濾波器不具備描述非線性模型的能力。
為了解決ANC的非線性問題,許多優(yōu)秀的非線性控制方法被提了出來[7-8],主要分為兩類:人工神經(jīng)網(wǎng)絡(luò)和多項式濾波器,分別以函數(shù)鏈接人工神經(jīng)網(wǎng)絡(luò)(functional link artificial neural network, FLANN)[9-12]和基于沃爾泰拉(Volterra)濾波器的FXLMS(VFXLMS)算法為代表[13-14]。FLANN利用三角函數(shù)展開擬合非線性模型。這種擬合具有廣泛的適用性,但不具有明確針對性,限制了FLANN的收斂速度,需經(jīng)過較長時間進(jìn)行精確擬合。Volterra濾波器為常見的非線性模型,可以完整表征多數(shù)非線性系統(tǒng),因此VFXLMS收斂速度較快。但是Volterra濾波器的拓展階數(shù)需要先驗(yàn)知識進(jìn)行設(shè)定,而實(shí)際的非線性系統(tǒng)模型階數(shù)往往是未知的,因此容易產(chǎn)生偏差,限制VFXLMS的降噪效果。此外,VFXLMS計算量偏大,很難滿足實(shí)際應(yīng)用需求。為了緩解VFXLMS中的缺陷,研究學(xué)者提出了基于雙線性(Bilinear)濾波器的FXLMS(BFXLMS)[15-17]。BFXLMS采用非線性遞歸結(jié)構(gòu),繼承了VFXLMS的收斂優(yōu)勢,但是不受拓展階數(shù)的限制,且計算量少。與FLANN算法相比,BFXLMS收斂速度快,但是降噪性能較差。
基于上述原因,本文對BFXLMS和FLANN進(jìn)行有效結(jié)合,提出了一種新的ANC算法——CBFLANN(combined bilinear FLANN)。在相同參數(shù)條件下,該算法同時繼承了BFXLMS收斂速度快和FLANN降噪量大的優(yōu)勢。
基于FLANN算法的非線性ANC系統(tǒng),如圖1所示。從圖中可以看出,在FLANN算法中,首先將輸入信號以正弦方式進(jìn)行非線性拓展。然后將拓展的結(jié)果利用線性濾波器組進(jìn)行處理,每組濾波器處理后的結(jié)果為yi(n),表示為
yi(n)=Hi(n)Vi(n)T,i=1,2,…,2P+1
(1)
式中,P為函數(shù)拓展的階數(shù),其中
Hi(n)=[hi,0(n),hi,1(n),…,hi,N(n)]
(2)
圖1 基于FLANN算法的非線性ANC系統(tǒng)Fig. 1 Nonlinear ANC system based on FLANN algorithm
V1(n)=[x(n),x(n-1),…,x(n-N)]
?
V2P(n)=[sin(Pπx(n)),…,sin(Pπx(n-N))]
V2P+1(n)=[cos(Pπx(n)),…,cos(Pπx(n-N))]
(3)
式中,N為濾波器存儲階數(shù)。次級輸出表示為
(4)
在FLANN算法中,線性濾波器組的權(quán)重更新為
(5)
(6)
e(n)=p(n)-d(n)
(7)
(8)
將式(1)~式(3)代入式(4)得
(9)
從式(9)可以看出,等式右邊第一項為線性控制,第二項為非線性控制。由三角函數(shù)的麥克勞林展開得
(10)
(11)
此時,式(9)非線性控制部分可進(jìn)一步寫成
(12)
將式(9)式(12)代入式(8),此時次級噪聲可以表示為
(13)
在ANC系統(tǒng)中,初級路徑一般都是連續(xù)的函數(shù),因此總是可以通過Volterra模型表示為
(14)
式中:T(T>1)為非線性聲學(xué)路徑的階數(shù);hr(k1,…,kr)和K+1分別為第r個非線性多項式的系數(shù)和采樣長度。對比觀察式(13)和式(14)可知,F(xiàn)LANN算法是利用三角函數(shù)的非線性展開擬合非線性初級噪聲。這種擬合具有廣泛的適用性,但不具有明確針對性,限制了FLANN的收斂速度,需經(jīng)過較長時間進(jìn)行精確擬合。
由上述分析可知,在非線性ANC系統(tǒng)中,F(xiàn)LANN具有良好的降噪量,只是收斂速度欠佳。BFXLMS采用非線性多項式濾波器作為控制器,對初級噪聲中各非線性部分具有明確針對性,因此收斂速度較快。為了提高FLANN的收斂速度,利用自適應(yīng)混合參數(shù)將FLANN和BFXLMS進(jìn)行并行凸組合,提出了CBFLANN算法,如圖2所示。通過混合參數(shù)的調(diào)節(jié),使CBFLANN在收斂過程中降噪性能主要依賴于BFXLMS,而在接近穩(wěn)態(tài)時,降噪性能主要依賴于FLANN。因此與FLANN相比,CBFLANN采用了BFXLMS的收斂速度,加快了收斂過程。提出的CBFLANN具體設(shè)計過程如下。
圖2 提出的CBFLANN算法Fig.2 Diagram of the proposed CBFLANN algorithm
在提出的CBFLANN中,次級輸出表示為
y(n)=λ(n)yb(n)+(1-λ(n))yf(n)
(15)
式中:yf(n)為FLANN的輸出;yb(n)為BFXLMS的輸出;λ(n)為[0,1]區(qū)間內(nèi)的自適應(yīng)參數(shù),其表達(dá)式為
(16)
FLANN的輸出yf(n)如式(1)~式(4)所示。Bilinear拓展表示為
G1(n)=[x(n),x(n-1),…,x(x-N)]
G2(n)=[y(n-1),y(n-2),…,y(n-N)]
(17)
其輸出為
yb(n)=A(n)G1(n)T+B(n)G2(n)T+C(n)G3(n)T
(18)
其中,
(19)
定義
H(n)=[H1(n),H2(n),…,H2P+1(n)]T
(20)
為FLANN權(quán)重向量
W(n)=[A(n)B(n)C(n)]T
(21)
為BFXLMS權(quán)重向量。
在CBFLANN算法中,權(quán)重向量H(n)和W(n)分別進(jìn)行獨(dú)立更新。定義
(22)
(23)
式中,E[·]為獲取信號的期望值。
(24)
為FLANN獨(dú)立作用時產(chǎn)生的估計誤差噪聲
(25)
(26)
其中,
(27)
xf(n)=[V1(n),…,V2P,V2P+1(n)]T
(28)
W(n)更新表達(dá)式為
(29)
其中,
(30)
xb(n)=[G1(n)G2(n)G3(n)]T
(31)
自適應(yīng)混合參數(shù)λ(n)通過調(diào)整α(n)進(jìn)行實(shí)時控制,以獲得更佳消噪效果。α(n)同樣通過LMS算法進(jìn)行更新。定義
ξ(n)=E[e2(n)]
(32)
式中,誤差信號e(n)表達(dá)如式(7)所示,不同的是此時次級輸出y(n)不再是單一的FLANN輸出,而是FLANN與BFXLMS的有效結(jié)合。α(n)通過式(33)更新
(33)
其中,
(34)
為FLANN與BFXLMS的次級路徑估計濾波差分輸出。
觀察式(15)、式(16)以及式(33)可知,混合參數(shù)λ(n)是一個實(shí)時變化的量,其取值決定于CBFLANN的總體誤差e(n)以及BFXLMS和FLANN的輸出差值yb(n)-yf(n),類似于一個軟開關(guān),通過改變BFXLMS和FLANN輸出的作用強(qiáng)度,得到最后輸出。這意味著CBFLANN的輸出通過混合參數(shù)在同一時刻趨向于選取BFXLMS和FLANN的最優(yōu)值,有望實(shí)現(xiàn)BFXLMS收斂性能和FLANN降噪量的有效結(jié)合。
以上分析表明,通過自適應(yīng)混合參數(shù)的調(diào)節(jié),提出的CBFLANN有望實(shí)現(xiàn)BFXLMS和FLANN的優(yōu)勢互補(bǔ),同時具有BFXLMS的收斂速度和FLANN的降噪量。為進(jìn)一步驗(yàn)證,在不同初級路徑與不同信噪比的參考噪聲環(huán)境下,將提出的CBFLANN與FXLMS,BFXLMS以及FLANN進(jìn)行比較,其中FLANN采用一階拓展,即P=1。比較結(jié)果采用歸一化均方誤差(NMSE)
(35)
S(z)=z-2+1.5z-3-z-4
(36)
次級路徑估計通過離線訓(xùn)練的方式獲得,訓(xùn)練的信號為高斯白噪聲,最終取其穩(wěn)態(tài)時3 000個點(diǎn)的均值作為次級路徑估計的系數(shù)。次級路徑估計時的參數(shù)設(shè)置如表1所示。
表1 次級路徑估計參數(shù)設(shè)置
在該仿真中,參考信號x(n)為200 Hz正弦信號,信噪比為20 dB。初級路徑為
p(n)=x(n)+0.8x(n-1)+0.3x(n-2)+
0.4x(n-1)x(n-3)-
0.8x(n)x(n-1)+0.9x(n)x(n-2)+
0.7x(n)x(n-1)x(n-3)
(37)
各算法的降噪效果如圖3~圖5所示。其中:圖3為穩(wěn)態(tài)時的頻域結(jié)果;圖4為NMSE結(jié)果;圖5為各算法的誤差信號和參數(shù)λ(n)的控制曲線。觀察圖3可知,參考噪聲經(jīng)過初級路徑后可以產(chǎn)生200 Hz,400 Hz和600 Hz三種頻率。FXLMS只對200 Hz噪聲成分具有明顯消噪效果,對400 Hz和600 Hz噪聲成分沒有消噪作用。BFXLMS對200 Hz和400 Hz噪聲成分都具有明顯消噪效果,但是對600 Hz噪聲成分的降噪效果較弱。FLANN和CBFLANN對三個頻率成分都有明顯的降噪效果,且降噪量基本一致。這說明提出的CBFLANN繼承了FLANN降噪量大的優(yōu)勢。這一結(jié)論在圖4和圖5中的穩(wěn)態(tài)結(jié)果中均有體現(xiàn)。觀察圖4和圖5中各算法的收斂特性,可知提出的CBFLANN具有與BFXLMS相同的初始收斂速度,比FLANN的收斂速度快。這說明CBFLANN也繼承了BFXLMS收斂速度快的優(yōu)勢,優(yōu)于FLANN?;谝陨纤?,F(xiàn)XLMS,BFXLMS,F(xiàn)LANN以及CBFLANN的降噪效果對比結(jié)果如表2所示。提出的CBFLANN既收斂速度快,又穩(wěn)態(tài)誤差小。
圖3 20 dB各算法頻域降噪結(jié)果Fig.3 De-noising performance of each algorithm for 20 dB in frequency-domain
圖4 20 dB各算法NMSE收斂曲線Fig.4 NMSE learning curve of each algorithm for 20 dB
表2 降噪效果比較
產(chǎn)生上述效果的原因可以通過觀察圖5中λ(n)的控制曲線得知。初始狀態(tài)時,λ(n)的值趨近于1,觀察式(15)可知此時CBFLANN的降噪效果主要取決于BFXLMS。之后λ(n)的值逐漸接近于0,此時CBFLANN的降噪效果主要取決于FLANN。整個過程是根據(jù)誤差信號調(diào)節(jié)的自適應(yīng)過程,通過式(16)和(33)計算得到。同時由此可知,參數(shù)λ(n)的變化趨勢直接影響CBFLANN的收斂速度和最終的穩(wěn)態(tài)誤差。
圖5 20 dB各算法誤差信號及混合參數(shù)λ(n)的變化曲線Fig.5 Error noise of each algorithm and the learning curve of mixing parameter λ(n) in 20 dB
在該仿真中,參考信號頻率及初級路徑與仿真一設(shè)置相同,信噪比變?yōu)?0 dB。此時,各算法的降噪效果如圖6、圖7和圖8所示,與仿真一結(jié)果類似。FLANN和CBFLANN擁有相同的穩(wěn)態(tài)誤差,優(yōu)于BFXLMS和FXLMS。但是CBFLANN的收斂速度卻明顯快于FLANN。在信噪比40 dB時,與20 dB的降噪效果相比,各算法的降噪量都有極大提高。這說明,在非線性ANC系統(tǒng)中,窄帶參考噪聲比寬帶參考噪聲更加容易實(shí)現(xiàn)噪聲消除。
觀察圖6可知,BFXLMS、FLANN以及CBFLANN的穩(wěn)態(tài)誤差頻譜中包含了目標(biāo)頻率成分以外的頻率,如800 Hz,1 000 Hz,1 200 Hz,1 400 Hz等。這是因?yàn)锽FXLMS中的乘積項x(n-i)y(n-j)和FLANN中的三角函數(shù)項{sin(pπx(n)),cos(pπx(n))}都可展開成無限個非線性多項式。這種現(xiàn)象在一定程度上會影響非線性ANC系統(tǒng)的降噪效果。改變步長參數(shù),該問題會得到緩解,但卻無法根本消除。而且在不同信噪比參考噪聲中,該影響也不相同,如20 dB中BFXLMS和FLANN的降噪結(jié)果中這種高階非線性噪聲就明顯較少。
圖6 40 dB各算法頻域降噪結(jié)果Fig. 6 De-noising performance of each algorithm for 40 dB in frequency-domain
圖7 40 dB各算法NMSE收斂曲線Fig.7 NMSE learning curve of each algorithm for 40 dB
在該仿真中,參考信號為200 Hz正弦信號,信噪比為40 dB。初級路徑的傳遞函數(shù)變?yōu)橐粋€三階多項式模型
p(n)=u(n-2)+0.08u2(n-2)-0.04u3(n-2)
(38)
式中:u(n)為參考信號x(n)與函數(shù)f(n)的卷積結(jié)果,f(n)為傳遞函數(shù)F(z)的脈沖響應(yīng),F(xiàn)(z)的表達(dá)式為
F(z)=z-3-0.3z-4+0.2z-5
(39)
圖8 40 dB各算法誤差信號及混合參數(shù)λ(n)的變化曲線Fig.8 Error noise of each algorithm and the learning curve of mixing parameter λ(n) in 40 dB
各算法仿真結(jié)果如9圖所示,其中圖9為NMSE結(jié)果,圖10為參數(shù)λ(n)的變化曲線。觀察圖9可知,在該仿真環(huán)境下,F(xiàn)XLMS收斂速度最快,但是降噪效果最差;BFXLMS收斂速度次之,降噪效果與FXLMS幾乎相同;FLANN收斂速度最慢,降噪效果最好;CBFLANN同時擁有BFXLMS的收斂速度和FLANN的降噪量。
通過以上三個仿真結(jié)果討論,可知提出的CBFLANN同時繼承了BFXLMS收斂速度快和FLANN降噪量大的優(yōu)勢,解決了傳統(tǒng)算法快速收斂與低穩(wěn)態(tài)誤差二者不可兼得的問題。
圖9 NMSE學(xué)習(xí)曲線Fig.9 NMSE learning curves
圖10 混合參數(shù)λ(n)的變化曲線Fig.10 Learning curve of mixing parameter λ(n)
本文介紹了FLANN在非線性ANC系統(tǒng)中的降噪原理,并分析了其收斂速度慢的原因。為有效提升FLANN的收斂性能,本文利用自適應(yīng)混合參數(shù)將BFXLMS和FLANN進(jìn)行并行凸組合,提出了CBFLANN算法。利用混合參數(shù)實(shí)時調(diào)節(jié)BFXLMS和FLANN的作用強(qiáng)度,使CBFLANN同時繼承了BFXLMS收斂速度快和FLANN穩(wěn)態(tài)誤差小的優(yōu)勢。不同參考信號和聲學(xué)路徑的仿真實(shí)驗(yàn)也充分驗(yàn)證了提出CBFLANN在非線性ANC系統(tǒng)中的降噪優(yōu)勢。CBFLANN的研究也為解決同一個ANC系統(tǒng)不能同時兼顧收斂速度和穩(wěn)態(tài)誤差的問題提供了新思路。因?yàn)镃BFLANN是兩個獨(dú)立系統(tǒng)的并行組合,在實(shí)際應(yīng)用中可以采用雙核控制器進(jìn)行實(shí)現(xiàn),不會降低原有獨(dú)立系統(tǒng)的降噪效率。