李雅榕,郭 輝,王巖松,張 亮,劉寧寧
(上海工程技術大學 汽車工程學院,上海 201620)
已有被動降噪技術成功降低了車內(nèi)高頻噪聲,對低頻噪聲控制效果不佳。而主動噪聲控制(ANC)技術[1-4]能有效控制低頻噪聲,具有良好的應用前景。
目前,主動噪聲控制技術最核心的部分就是對自適應算法的研究。由Widrow和Hoff在1959年提出的LMS算法,因其容易實現(xiàn)而很快得到了廣泛應用,成為自適應濾波的標準算法。然而LMS算法存在無法同時兼顧收斂速度和穩(wěn)態(tài)誤差固有缺陷[5],在工程實際中,由于次級路徑的存在,其已不能保證ANC系統(tǒng)的穩(wěn)定性。對此,Morgan[6]提出了解決方案,即在LMS算法權(quán)重更新之前放置一個與次級路徑脈沖響應相同的濾波器,實現(xiàn)了所謂的濾波型LMS(FxLMS)算法。1981年,Burgess[7]將FxLMS算法應用于ANC系統(tǒng)。
結(jié)構(gòu)簡單、計算復雜度低的FxLMS算法[8-10]廣泛應用于主動噪聲控制領域,國內(nèi)外學者在FxLMS算法用于ANC中的研究中取得了一定成果。Kuo等[11]發(fā)現(xiàn)時域FxLMS(TD-FxLMS)算法對穩(wěn)態(tài)和非穩(wěn)態(tài)噪聲控制的魯棒性都較好,但因為其收斂速率由參考信號的自相關矩陣特征值確定,當特征值分布范圍大時收斂速度就慢。Kosaka等人[12]和Kuo等人分別對頻域FxLMS(FD-FxLMS)算法進行了研究,發(fā)現(xiàn)FD-FxLMS算法在計算復雜度和收斂速率上有優(yōu)勢,但是并不適用于非穩(wěn)態(tài)噪聲。為了克服非穩(wěn)態(tài)噪聲下收斂速度慢的問題,Huang等提出了一種可變步長的FxLMS(VSS-FxLMS)算法[13]。針對實際系統(tǒng)中由于參考輸入信號會混入與其不相關的干擾信號,束建華等人[14]利用跟蹤微分濾波器和非線性變換函數(shù)分別對參考輸入信號和反饋誤差信號進行處理,同時,以濾波器更新向量的差值最小為優(yōu)化條件推導出改進的FxLMS算法,結(jié)果證明改進后的算法在存在噪聲干擾的情況下體現(xiàn)出更好的穩(wěn)定性。Chen等人提出了頻譜重塑算法,以提高實際ANC應用的收斂速度和穩(wěn)定性[15]。Tang等人[16]不再拘泥于單獨的時域或頻域,提出了基于短時傅里葉變換(STFT)的時頻域FxLMS算法,通過仿真試驗證明了該算法適用于非穩(wěn)態(tài)噪聲,計算復雜度和收斂速度都優(yōu)于TD-FxLMS和FD-FxLMS算法。然而,短時傅里葉變換存在固定分辨率問題,Qiu等人[17]應用離散小波變換的自適應算法,彌補了短時傅里葉變換的固定分辨率的缺陷。
然而,Qiu等人使用的Haar小波消失矩僅為1,對信號局部正則性的度量較差。而且,Haar小波在時域上是不連續(xù)的,作為小波基的性能不佳。因此,本文在此基礎上選擇正則性較好和近似對稱[18]的symlet小波函數(shù)進行離散小波變換,同時,根據(jù)重構(gòu)信號的能力和識別信號特征準確度的能力[19],選擇symlet小波函數(shù)族中的sym6小波與FxLMS算法結(jié)合,形成DWT-FxLMS主動控制算法。建立基于DWT-FxLMS算法的ANC系統(tǒng)模型,通過計算機仿真將采集的車內(nèi)噪聲用DWT-FxLMS算法進行處理,并與TD-FxLMS算法、FD-FxLMS算法對所采噪聲的控制效果進行比較分析。
在LMS算法的基礎上,F(xiàn)xLMS算法考慮了揚聲器和誤差麥克風之間的次級路徑。為了補償次級路徑對ANC系統(tǒng)的影響,在LMS算法的參考信號與濾波器之間放置估計的次級路徑。由此,基于FxLMS算法的噪聲主動控制原理如圖1所示。

圖1 FxLMS算法對噪聲進行主動控制的框圖
其中,自適應濾波器的輸出為

式中:x(n)是輸入信號,w(n)是自適應濾波器的權(quán)系數(shù),L是濾波器的階數(shù)。
參考信號經(jīng)過估計的次級路徑,形成新的輸入信號x'(n),其表達式為

自適應濾波器權(quán)系數(shù)的更新表達式為


式中:d(n)是期望的噪聲信號。
對于離散小波變換的離散函數(shù)Uf(a,b),將尺度因子a和偏移因子b設置為a=a0j,b=a0jnb0(j,n∈Ζ,a0>1,b0>0),為了使小波變換與待分析信號的非平穩(wěn)性相適應,可以用二進制動態(tài)網(wǎng)格使小波函數(shù)有變焦功能,即當a0=2,b0=1時,每個網(wǎng)格對應的尺度為2j,平移尺度為2jn,因此小波函數(shù)為



根據(jù)多分辨率分析理論[20],Mallat塔式算法采用離散時間的二進制子帶樹結(jié)構(gòu)濾波器,將連續(xù)的時間信號f(t)?L2(R)分解成一組近似值和不同分辨率下的細節(jié)值。分解近似和細節(jié)的特征在于具有信號f(t)所選母小波的尺度函數(shù)Φ和小波函數(shù)Ψ的內(nèi)積集,表示如下

式中:Ajf和Djf是信號f(t)在分辨率第j層下的離散近似和細節(jié),t∈Z,j=1,2,3…,J(J∈Z),J=log2N。根據(jù)Mallat金字塔算法,高分辨率Aj+1f可以用來計算低分辨率Ajf和Djf。假設H和G是一對正交濾波器,它們的脈沖響應滿足方程f和可以通過和濾波器H、G的卷積獲得。h和g是重構(gòu)的一對正交鏡像濾波器,它們的脈沖響應和可以由H、G的脈沖響應來表示

式(10)、式(11)是一維快速小波的分解過程。而Mallat金字塔算法的重構(gòu)方程為

離散小波變換將輸入的時域信號進行分解,將分解后的轉(zhuǎn)換域信號即子帶信號進行算法處理,待算法收斂后,轉(zhuǎn)換域信號再經(jīng)離散小波的逆變換重構(gòu)為時域信號輸出。本文用離散小波變換對信號進行一層分解(j=1),圖2即為所提DWT-FxLMS算法對噪聲進行主動控制的框圖。
(1)參考信號經(jīng)小波變換后的輸出


圖2 DWT-FxLMS算法對噪聲進行主動控制的框圖
式中:Rk(n)是小波分解的數(shù)據(jù)向量,包含近似A1f與細節(jié)D1f。T是正交小波的變換矩陣。其中N為xk(n)的數(shù)據(jù)塊大小。

式中:X是經(jīng)估計的次級路徑(n)輸出的頻域濾波信號。
(2)小波變換中的自適應濾波器Wk的計算

式中:μ是步長是特征值的最大值)。Ek(n)是第一層的殘余誤差信號。因此,當輸入信號被分解到第一層時,可以得到第一層的自適應濾波更新系數(shù)

式中:Wk.D1f和Wk.A1f是第一層時濾波器的細節(jié)和近似系數(shù)。Ek.D1f和Ek.A1f是細節(jié)和近似誤差信號。
(3)通過下式計算第一層的小波變換域濾波器的輸出

通過小波重建或小波逆變換,將小波變換域的輸出變?yōu)闀r域輸出y(n)。

(4)殘余噪聲信號e(n)表示為

式中:d(n)是期望信號,y(n)是自適應濾波器輸出的重構(gòu)信號。
(5)殘余噪聲信號反饋回系統(tǒng)

計算復雜度分析對評估主動控制算法的有效性是很重要的,計算復雜度低將會大大減少計算時間。文獻[16]中給出了TD-FxLMS算法和FD-FxLMS算法復雜度的計算,本文所提的DWT-FxLMS算法復雜度計算主要分為五步:(1)經(jīng)過自適應算法輸出y(n);(2)用估計的次級路徑對參考信號進行濾波;(3)濾波器權(quán)系數(shù)W(n)的更新;(4)在參考信號、濾波器權(quán)系數(shù)和殘余噪聲信號處進行的三次FFT變換;(5)在參考信號、濾波器權(quán)系數(shù)和殘余噪聲信號處進行的3次小波變換(每一次小波變換的復雜度為O(mNlogN)[21])。根據(jù)式(13)至式(16)、式(18)、式(20)即可以針對上述5個步驟評估DWT-FxLMS算法的計算復雜度并與TD-FxLMS算法、FD-FxLMS算法的計算復雜度進行比較。其中,F(xiàn)D-FxLMS算法的計算復雜度需要用到以下公式。
頻域自適應濾波器的輸出

式中:Wk是頻域自適應濾波器的系數(shù),Xk=FFT[xk(i)]。
自適應濾波器權(quán)系數(shù)的更新

表1中總結(jié)了3種算法所需的計算復雜度,F(xiàn)為輸出的樣本數(shù);為塊數(shù);此處的N為采樣數(shù);L為自適應濾波器W(z)的長度;P為估計的次級路徑的長度;TM(×)和TA(+)為總乘法數(shù)和總加法數(shù)。為了定量比較3種算法的復雜度,表2中給出了每個算法總操作量的示例。
從表2中可以看出,DWT-FxLMS算法的計算復雜度要高于FD-FxLMS算法,但遠低于TD-FxLMS算法的復雜度。
通過計算機仿真來比較TD-FxLMS算法、FDFxLMS算法和DWT-FxLMS算法在消除穩(wěn)態(tài)和非穩(wěn)態(tài)噪聲上的性能。其中穩(wěn)態(tài)噪聲源為汽車在勻速工況下的車內(nèi)噪聲,非穩(wěn)態(tài)噪聲源為汽車在加速工況下的車內(nèi)噪聲。
用兩個低通濾波器來模擬初級路徑和次級路徑,該初級路徑和次級路徑即為所建主動控制系統(tǒng)的真實初級、次級路徑,其時域和頻域上的特征如圖3所示。
本文使用離線DWT-FxLMS算法來設計估計的次級路徑。首先,為提高重構(gòu)信號的能力和識別信號特征準確度的能力,將離散小波的小波基定為sym6小波,并且將輸入信號分解為兩個子帶信號;其次,設定離線DWT-FxLMS算法的各個參數(shù),包括信號長度為16 384和估計的次級路徑濾波器長度為512;再次,當算法收斂后,可以在兩個子帶上分別得到估計次級路徑的細節(jié)響應系數(shù)D1f和近似響應系數(shù)A1f,如圖4所示。

表1 3種主動控制算法的計算復雜度

表2 3種主動控制算法復雜度的定量比較
最后,用離散小波的逆變換將近似系數(shù)和細節(jié)系數(shù)進行重構(gòu),得到最終重構(gòu)后的估計次級路徑的響應系數(shù)。圖5為真實次級路徑響應與估計次級路徑響應的對比,可以看出估計次級路徑的響應與真實次級路徑的響應幾乎完全重疊,因此次級路徑的估計很準確。

圖3 初級路徑和次級路徑的時、頻域特征

圖4 用DWT-FxLMS算法得到的兩子帶的細節(jié)和近似系數(shù)

圖5 次級路徑響應與估計次級路徑響應的比較
圖6為穩(wěn)態(tài)噪聲信號及其經(jīng)DWT-FxLMS算法、FD-FxLMS算法和TD-FxLMS算法處理后的比較圖。從圖6中可以看出,3種算法在經(jīng)過一定的迭代之后,殘余噪聲信號幾乎都收斂為0,即3種算法都能有效地消除穩(wěn)態(tài)噪聲。
雖然TD-FxLMS算法、DWT-FxLMS算法和FDFxLMS算法都能有效地消除噪聲,但是三者的收斂速度是有差別的。為了檢驗各算法的收斂速度[22],通常使用歸一化均方誤差(NMSE)與迭代次數(shù)的關系圖來表示。

從圖7中可以得知,相同的迭代次數(shù)下,F(xiàn)DFxLMS和DWT-FxLMS算法的對應曲線在下降段的陡斜程度相近,即兩者的收斂速度相差不大。
而TD-FxLMS算法處理穩(wěn)態(tài)噪聲的收斂速度相對于前兩種算法較慢。

圖6 穩(wěn)態(tài)噪聲信號及其經(jīng)3種算法處理后的比較圖
圖8為非穩(wěn)態(tài)噪聲信號經(jīng)DWT-FxLMS算法、FD-FxLMS算法和TD-FxLMS算法處理后的比較圖。從圖中可以看出,DWT-FxLMS算法經(jīng)900次迭代后殘余噪聲信號基本為0,TD-FxLMS算法則要經(jīng)近4 000次迭代后殘余噪聲信號才幾乎為0,因此通過仿真結(jié)果證實了DWT-FxLMS算法的計算復雜度要低于TD-FxLMS算法。在處理非穩(wěn)態(tài)噪聲上TDFxLMS算法及DWT-FxLMS算法均能有效地消除噪聲,而噪聲信號經(jīng)FD-FxLMS算法處理后的殘余噪聲的幅值一直處于波動狀態(tài),收斂效果很差,因此并不能有效消除非穩(wěn)態(tài)噪聲。
TD-FxLMS和DWT-FxLMS算法都能有效消除非穩(wěn)態(tài)噪聲,且DWT-FxLMS算法的復雜度低于TD-FxLMS算法。為了凸顯DWT-FxLMS算法的優(yōu)勢,可以進一步比較它們的收斂速度。

圖7 3種算法處理穩(wěn)態(tài)噪聲時收斂速度的比較

圖8 非穩(wěn)態(tài)噪聲信號及其經(jīng)3種算法處理后的比較圖
從圖9中可以看出,在相同的迭代次數(shù)下,DWT-FxLMS算法對應的曲線最陡,下降速度最快。即DWT-FxLMS算法的收斂速度快于TD-FxLMS算法。然而,F(xiàn)D-FxLMS算法因為不能有效消除非穩(wěn)態(tài)噪聲,所以它的收斂效果很差。

圖9 3種算法處理非穩(wěn)態(tài)噪聲時收斂速度的比較
本文針對車內(nèi)噪聲的主動控制,提出了以sym6為小波基的DWT-FxLMS主動控制算法,采用計算機仿真的方法研究了該算法的特性,得出以下結(jié)論:
(1)DWT-FxLMS算法在計算復雜度上優(yōu)于TD-FxLMS算法,在消除穩(wěn)態(tài)和非穩(wěn)態(tài)噪聲的收斂速度上也比TD-FxLMS算法更快。
(2)計算機仿真證明了DWT-FxLMS算法在消除穩(wěn)態(tài)和非穩(wěn)態(tài)噪聲上都很有效,而FD-FxLMS算法不能有效消除非穩(wěn)態(tài)噪聲。
上述結(jié)論初步揭示了DWT-FxLMS算法在消除車內(nèi)穩(wěn)態(tài)和非穩(wěn)態(tài)噪聲上的優(yōu)良特性,為汽車ANC技術的發(fā)展提供了一定的理論指導,同時在實際工程應用方面也有一定的參考價值。