李歡歡
(牡丹江師范學院 圖書館,黑龍江 牡丹江 157011)
隨著生活水平的不斷提高,人們更加期望舒適、安靜的環境。但是如今的噪聲污染問題使得這一任務變得更加艱巨。強烈的噪聲會對人們的聽力系統、神經系統和消化系統等造成一定的損傷。我軍平戰時的數據表明:高炮兵、裝甲兵的聲損傷發病率約為23.5%~48.3%,因聲損傷致殘約占評殘總數一半[1]。為有效降低噪聲的影響,最初的解決方案是利用聲音與聲學材料或聲學結構相互作用進行噪聲控制,稱為被動噪聲控制技術。在被動噪聲控制中,吸聲材料的體積與噪聲波長成正比。所以對于低頻噪聲,被動噪聲控制裝置的體積就會變的極其龐大,增加了設備成本。此外,被動噪聲控制技術的降噪頻帶比較窄,各頻率的吸聲系數固定,不具有自適應特性,無法有效降低時變噪聲。為適應更加復雜噪聲環境,提高降噪效果,主動噪聲控制(active noise control, ANC)技術應用而生。
ANC系統是基于聲波相消干涉原理的電聲學裝置,主要包含參考傳聲器、次級揚聲器、誤差傳聲器和自適應控制器[2-3]。參考傳聲器用來測量待處理的噪聲信號,次級揚聲器產生一個與待處理噪聲幅度相同、相位相反的聲音信號,誤差傳聲器采集聲音疊加后的殘余誤差信號,自適應控制器用來控制次級揚聲器產生合適的次級噪聲。隨著高速信號處理技術的不斷發展, ANC技術的應用更加多樣化,各式各樣的ANC控制算法脫穎而出,其中基于線性有限脈沖響應(finite impulse response, FIR)結構的濾波-X最小均方誤差(filtered-X least mean square, FXLMS)算法就是最流行的算法之一[4-5]。但是在實際ANC系統應用中,信號的傳輸路徑可能具有非線性特性[6],如電子器件老化、揚聲器飽和、較強聲壓聲音在管道中傳播等。此時,這種線性控制算法的降噪效果就會變差,甚至失效。因為FIR濾波器不具備描述非線性模型的能力。
為了解決ANC的非線性問題,許多優秀的非線性控制方法被提了出來[7-8],主要分為兩類:人工神經網絡和多項式濾波器,分別以函數鏈接人工神經網絡(functional link artificial neural network, FLANN)[9-12]和基于沃爾泰拉(Volterra)濾波器的FXLMS(VFXLMS)算法為代表[13-14]。FLANN利用三角函數展開擬合非線性模型。這種擬合具有廣泛的適用性,但不具有明確針對性,限制了FLANN的收斂速度,需經過較長時間進行精確擬合。Volterra濾波器為常見的非線性模型,可以完整表征多數非線性系統,因此VFXLMS收斂速度較快。但是Volterra濾波器的拓展階數需要先驗知識進行設定,而實際的非線性系統模型階數往往是未知的,因此容易產生偏差,限制VFXLMS的降噪效果。此外,VFXLMS計算量偏大,很難滿足實際應用需求。為了緩解VFXLMS中的缺陷,研究學者提出了基于雙線性(Bilinear)濾波器的FXLMS(BFXLMS)[15-17]。BFXLMS采用非線性遞歸結構,繼承了VFXLMS的收斂優勢,但是不受拓展階數的限制,且計算量少。與FLANN算法相比,BFXLMS收斂速度快,但是降噪性能較差。
基于上述原因,本文對BFXLMS和FLANN進行有效結合,提出了一種新的ANC算法——CBFLANN(combined bilinear FLANN)。在相同參數條件下,該算法同時繼承了BFXLMS收斂速度快和FLANN降噪量大的優勢。
基于FLANN算法的非線性ANC系統,如圖1所示。從圖中可以看出,在FLANN算法中,首先將輸入信號以正弦方式進行非線性拓展。然后將拓展的結果利用線性濾波器組進行處理,每組濾波器處理后的結果為yi(n),表示為
yi(n)=Hi(n)Vi(n)T,i=1,2,…,2P+1
(1)
式中,P為函數拓展的階數,其中
Hi(n)=[hi,0(n),hi,1(n),…,hi,N(n)]
(2)

圖1 基于FLANN算法的非線性ANC系統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為濾波器存儲階數。次級輸出表示為
(4)
在FLANN算法中,線性濾波器組的權重更新為
(5)
(6)

e(n)=p(n)-d(n)
(7)
(8)

將式(1)~式(3)代入式(4)得

(9)
從式(9)可以看出,等式右邊第一項為線性控制,第二項為非線性控制。由三角函數的麥克勞林展開得
(10)
(11)
此時,式(9)非線性控制部分可進一步寫成
(12)
將式(9)式(12)代入式(8),此時次級噪聲可以表示為
(13)
在ANC系統中,初級路徑一般都是連續的函數,因此總是可以通過Volterra模型表示為
(14)
式中:T(T>1)為非線性聲學路徑的階數;hr(k1,…,kr)和K+1分別為第r個非線性多項式的系數和采樣長度。對比觀察式(13)和式(14)可知,FLANN算法是利用三角函數的非線性展開擬合非線性初級噪聲。這種擬合具有廣泛的適用性,但不具有明確針對性,限制了FLANN的收斂速度,需經過較長時間進行精確擬合。
由上述分析可知,在非線性ANC系統中,FLANN具有良好的降噪量,只是收斂速度欠佳。BFXLMS采用非線性多項式濾波器作為控制器,對初級噪聲中各非線性部分具有明確針對性,因此收斂速度較快。為了提高FLANN的收斂速度,利用自適應混合參數將FLANN和BFXLMS進行并行凸組合,提出了CBFLANN算法,如圖2所示。通過混合參數的調節,使CBFLANN在收斂過程中降噪性能主要依賴于BFXLMS,而在接近穩態時,降噪性能主要依賴于FLANN。因此與FLANN相比,CBFLANN采用了BFXLMS的收斂速度,加快了收斂過程。提出的CBFLANN具體設計過程如下。

圖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]區間內的自適應參數,其表達式為
(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權重向量
W(n)=[A(n)B(n)C(n)]T
(21)
為BFXLMS權重向量。
在CBFLANN算法中,權重向量H(n)和W(n)分別進行獨立更新。定義
(22)
(23)
式中,E[·]為獲取信號的期望值。
(24)
為FLANN獨立作用時產生的估計誤差噪聲
(25)
(26)
其中,
(27)
xf(n)=[V1(n),…,V2P,V2P+1(n)]T
(28)
W(n)更新表達式為
(29)
其中,
(30)
xb(n)=[G1(n)G2(n)G3(n)]T
(31)
自適應混合參數λ(n)通過調整α(n)進行實時控制,以獲得更佳消噪效果。α(n)同樣通過LMS算法進行更新。定義
ξ(n)=E[e2(n)]
(32)
式中,誤差信號e(n)表達如式(7)所示,不同的是此時次級輸出y(n)不再是單一的FLANN輸出,而是FLANN與BFXLMS的有效結合。α(n)通過式(33)更新

(33)
其中,
(34)
為FLANN與BFXLMS的次級路徑估計濾波差分輸出。
觀察式(15)、式(16)以及式(33)可知,混合參數λ(n)是一個實時變化的量,其取值決定于CBFLANN的總體誤差e(n)以及BFXLMS和FLANN的輸出差值yb(n)-yf(n),類似于一個軟開關,通過改變BFXLMS和FLANN輸出的作用強度,得到最后輸出。這意味著CBFLANN的輸出通過混合參數在同一時刻趨向于選取BFXLMS和FLANN的最優值,有望實現BFXLMS收斂性能和FLANN降噪量的有效結合。
以上分析表明,通過自適應混合參數的調節,提出的CBFLANN有望實現BFXLMS和FLANN的優勢互補,同時具有BFXLMS的收斂速度和FLANN的降噪量。為進一步驗證,在不同初級路徑與不同信噪比的參考噪聲環境下,將提出的CBFLANN與FXLMS,BFXLMS以及FLANN進行比較,其中FLANN采用一階拓展,即P=1。比較結果采用歸一化均方誤差(NMSE)
(35)
S(z)=z-2+1.5z-3-z-4
(36)
次級路徑估計通過離線訓練的方式獲得,訓練的信號為高斯白噪聲,最終取其穩態時3 000個點的均值作為次級路徑估計的系數。次級路徑估計時的參數設置如表1所示。

表1 次級路徑估計參數設置
在該仿真中,參考信號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為穩態時的頻域結果;圖4為NMSE結果;圖5為各算法的誤差信號和參數λ(n)的控制曲線。觀察圖3可知,參考噪聲經過初級路徑后可以產生200 Hz,400 Hz和600 Hz三種頻率。FXLMS只對200 Hz噪聲成分具有明顯消噪效果,對400 Hz和600 Hz噪聲成分沒有消噪作用。BFXLMS對200 Hz和400 Hz噪聲成分都具有明顯消噪效果,但是對600 Hz噪聲成分的降噪效果較弱。FLANN和CBFLANN對三個頻率成分都有明顯的降噪效果,且降噪量基本一致。這說明提出的CBFLANN繼承了FLANN降噪量大的優勢。這一結論在圖4和圖5中的穩態結果中均有體現。觀察圖4和圖5中各算法的收斂特性,可知提出的CBFLANN具有與BFXLMS相同的初始收斂速度,比FLANN的收斂速度快。這說明CBFLANN也繼承了BFXLMS收斂速度快的優勢,優于FLANN。基于以上所述,FXLMS,BFXLMS,FLANN以及CBFLANN的降噪效果對比結果如表2所示。提出的CBFLANN既收斂速度快,又穩態誤差小。

圖3 20 dB各算法頻域降噪結果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 降噪效果比較
產生上述效果的原因可以通過觀察圖5中λ(n)的控制曲線得知。初始狀態時,λ(n)的值趨近于1,觀察式(15)可知此時CBFLANN的降噪效果主要取決于BFXLMS。之后λ(n)的值逐漸接近于0,此時CBFLANN的降噪效果主要取決于FLANN。整個過程是根據誤差信號調節的自適應過程,通過式(16)和(33)計算得到。同時由此可知,參數λ(n)的變化趨勢直接影響CBFLANN的收斂速度和最終的穩態誤差。

圖5 20 dB各算法誤差信號及混合參數λ(n)的變化曲線Fig.5 Error noise of each algorithm and the learning curve of mixing parameter λ(n) in 20 dB
在該仿真中,參考信號頻率及初級路徑與仿真一設置相同,信噪比變為40 dB。此時,各算法的降噪效果如圖6、圖7和圖8所示,與仿真一結果類似。FLANN和CBFLANN擁有相同的穩態誤差,優于BFXLMS和FXLMS。但是CBFLANN的收斂速度卻明顯快于FLANN。在信噪比40 dB時,與20 dB的降噪效果相比,各算法的降噪量都有極大提高。這說明,在非線性ANC系統中,窄帶參考噪聲比寬帶參考噪聲更加容易實現噪聲消除。
觀察圖6可知,BFXLMS、FLANN以及CBFLANN的穩態誤差頻譜中包含了目標頻率成分以外的頻率,如800 Hz,1 000 Hz,1 200 Hz,1 400 Hz等。這是因為BFXLMS中的乘積項x(n-i)y(n-j)和FLANN中的三角函數項{sin(pπx(n)),cos(pπx(n))}都可展開成無限個非線性多項式。這種現象在一定程度上會影響非線性ANC系統的降噪效果。改變步長參數,該問題會得到緩解,但卻無法根本消除。而且在不同信噪比參考噪聲中,該影響也不相同,如20 dB中BFXLMS和FLANN的降噪結果中這種高階非線性噪聲就明顯較少。

圖6 40 dB各算法頻域降噪結果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。初級路徑的傳遞函數變為一個三階多項式模型
p(n)=u(n-2)+0.08u2(n-2)-0.04u3(n-2)
(38)
式中:u(n)為參考信號x(n)與函數f(n)的卷積結果,f(n)為傳遞函數F(z)的脈沖響應,F(z)的表達式為
F(z)=z-3-0.3z-4+0.2z-5
(39)

圖8 40 dB各算法誤差信號及混合參數λ(n)的變化曲線Fig.8 Error noise of each algorithm and the learning curve of mixing parameter λ(n) in 40 dB
各算法仿真結果如9圖所示,其中圖9為NMSE結果,圖10為參數λ(n)的變化曲線。觀察圖9可知,在該仿真環境下,FXLMS收斂速度最快,但是降噪效果最差;BFXLMS收斂速度次之,降噪效果與FXLMS幾乎相同;FLANN收斂速度最慢,降噪效果最好;CBFLANN同時擁有BFXLMS的收斂速度和FLANN的降噪量。
通過以上三個仿真結果討論,可知提出的CBFLANN同時繼承了BFXLMS收斂速度快和FLANN降噪量大的優勢,解決了傳統算法快速收斂與低穩態誤差二者不可兼得的問題。

圖9 NMSE學習曲線Fig.9 NMSE learning curves

圖10 混合參數λ(n)的變化曲線Fig.10 Learning curve of mixing parameter λ(n)
本文介紹了FLANN在非線性ANC系統中的降噪原理,并分析了其收斂速度慢的原因。為有效提升FLANN的收斂性能,本文利用自適應混合參數將BFXLMS和FLANN進行并行凸組合,提出了CBFLANN算法。利用混合參數實時調節BFXLMS和FLANN的作用強度,使CBFLANN同時繼承了BFXLMS收斂速度快和FLANN穩態誤差小的優勢。不同參考信號和聲學路徑的仿真實驗也充分驗證了提出CBFLANN在非線性ANC系統中的降噪優勢。CBFLANN的研究也為解決同一個ANC系統不能同時兼顧收斂速度和穩態誤差的問題提供了新思路。因為CBFLANN是兩個獨立系統的并行組合,在實際應用中可以采用雙核控制器進行實現,不會降低原有獨立系統的降噪效率。