張 帥,王巖松,張心光,李文武
(上海工程技術大學 汽車工程學院,上海201620)
隨著汽車技術的發展和汽車行駛速度的提高,汽車NVH(Noise,Vibration,Harshness)問題越來越引起消費者的關注。車內噪聲是汽車NVH 的核心問題之一,會直接影響車上乘員的乘坐舒適性和身心健康,提高發生汽車事故的概率[1]。
汽車車內噪聲的控制方法主要包括被動控制方法[2–3]和有源控制方法[4–5]。被動噪聲控制方法是利用聲學材料或消聲結構來抑制噪聲,對中高頻噪聲特別是高頻噪聲有較好的效果,但對低頻噪聲抑制效果不佳。與被動噪聲控制方法相比,有源噪聲控制方法可以有效抑制低頻噪聲,并且有系統體積小、便于安裝和輕量化設計等優點,已被廣泛應用于汽車車內的噪聲控制[6–7]。
在車內噪聲有源控制方法中,噪聲有源控制算法的研究是關鍵?;诰S納濾波推出的最小均方算法(Least Mean Square,LMS)因其具有算法結構簡單、計算量小和魯棒性強等優點,被廣泛應用于汽車車內噪聲的有源控制。如馮[8]等采用LMS算法對制動噪聲進行有源控制,并取得較好的效果;為了改善傳統LMS 算法不能同時提高算法收斂速度和降低穩態誤差的缺陷,余[9]和Guo[10]等分別提出了汽車內部噪聲主動控制變步長LMS(Variable Step-size LMS,VS-LMS)算法。但LMS 算法以及VS-LMS 算法未考慮到噪聲有源控制系統中次級通路存在的影響,會造成車內噪聲有源控制系統的穩定性變差。而濾波LMS算法(Filtered-x LMS,FxLMS)考慮了次級通路的影響,具有更好的實用性[11]。與VS-LMS算法類似,文獻[12]基于反正切函數提出了一種VSFxLMS 算法,但該變步長方法還存在著算法收斂速度易受到輸入信號功率影響的問題,為保證最大輸入信號功率的收斂速度,必須犧牲輸入信號功率低時的收斂速度;文獻[13]提出了一種基于輸入信號功率歸一化的變步長方法可以有效改善這一問題。文獻[14]提出一種改進FxLMS (modified FxLMS,MFxLMS)算法,與FxLMS算法相比,MFxLMS算法具有更好的收斂性能和穩定性[15],但VS-MFxLMS算法還不多見。
本文結合反正切函數和歸一化方法,提出了一種新的變步長方法,并依據該方法提出一種VSMFxLMS 算法。采集了汽車車內乘員耳側噪聲,并應 用VS-MFxLMS 算 法、MFxLMS 算 法 和VSFxLMS 算法對采集的汽車車內噪聲進行有源控制仿真實驗。噪聲有源控制的結果表明VS-MFxLMS算法解決了MFxLMS 算法不能同時提高算法收斂速度和降低穩態誤差的缺陷;且與VS-FxLMS 算法相比,VS-MFxLMS 算法對車內噪聲有源控制具有更好的效果。
FxLMS算法在LMS算法基礎上進行改進,其結構如圖1所示。

圖1 FxLMS算法框圖
其中:x(n)是傳聲器在噪聲源處采集的參考信號,P(z)表示x(n)傳遞到人耳的初級通路,d(n)作為期望信號,W(n)是線性橫向濾波器,可輸出次級噪聲信號u(n)。S(z)表示u(n)傳遞到人耳的次級通路是S(z)的估計,理論上兩者是相等的。xf(n)是濾波輸入信號,y(n)表示次級聲波,與d(n)相抵消并產生誤差信號e(n)。
FxLMS算法以最小均方誤差為準則,基于最速下降法的原理進行計算,其計算過程如下:
1)計算濾波器的輸出信號u(n)

式中:w(n)=[w(1),w(2),…,w(L)]是濾波器的系數向量,x(n)=[x(L),x(L-1),…,x(1)]是對應的輸入信號向量,T 表示轉置運算,L 表示濾波器的長度。
2)輸出信號u(n)傳遞到人耳

式中:*表示線性卷積運算,s(n)是S(z)的脈沖響應。
3)誤差信號e(n)可表示為

4)計算濾波x信號xf(n)

5)最后自適應更新濾波器W(n)的系數

式中:μ為步長因子,它的收斂范圍如下式所示

式中:L 是濾波器的長度,pfx是濾波輸入信號的功率,Δ 是因次級通道的存在而導致的延遲。
在FxLMS算法中,因為次級通道的存在而導致的延遲會降低算法的收斂速度。在MFxLMS 算法中,增加了一個輔助路徑以解決該問題,如圖2所示。

圖2 MFxLMS算法框圖
圖2中,輔助路徑用于修正誤差信號,即為


濾波器系數自適應更新時從而避免了采用FxLMS算法,而是直接應用LMS算法

此時,步長因子μ的收斂范圍變為

由于2/LPfx>2/(L+Δ)Pfx,可以選取較大的μ,因此MFx LMS 算法的收斂性能會得到一定程度的提高。
為解決傳統FxLMS 算法不能同時兼顧收斂速度和穩態誤差的缺陷,文獻[12]優化了μ值的調整原則,提出一種基于反正切函數的VS-FxLMS算法,在算法處于初始階段或人耳周圍聲環境變化較大時,使μ取得一個較大值以提高算法的收斂速度和更好跟蹤環境的變化;隨著算法趨于收斂,誤差信號將逐漸變小,使μ 值也跟著變小,以提高算法的估計精度,同時μ值的減小也會使誤差信號進一步降低,直到算法達到一個最優的收斂狀態。
文獻[12]提出的變步長函數如下

式中:a tan表示反正切函數,α、β、γ為參數。
從式(6)中可以看出,如果輸入信號功率變化較大或有脈沖信號時,為保證輸入信號功率最大時的收斂穩定性,必須犧牲輸入信號功率較低時的收斂速度,通過對輸入信號功率歸一化處理可以有效改善這一不足。
本文基于修正反正切函數和歸一化的方法,提出一種新的變步長函數,即

將其應用到MFxLMS算法上,此時式(9)對濾波器進行自適應更新的迭代公式變為

由于式(11)有3個參數,這里將定性分析不同參數值對算法收斂性能的影響。分析過程中,由于式(11)分母部分是為了化解輸入信號功率對算法收斂速度的影響,可以先不給予考慮。主要根據μ(n)函數分子部分采用控制變量法進行分析。通過調整不同參數值,得出μ(n)值與e(n)值的一系列函數曲線,如圖3 所示,其中μ(n)值大小一定程度上反映了算法的收斂速度,而曲線一定范圍的波谷寬度反映了算法的穩定性。
由圖3(a)可以看出,α 值對μ(n)值大小和波谷寬度影響都比較大。α值越大,μ(n)值越大,曲線的開口越窄,此時算法的收斂速度整體較快,但波谷的寬度較窄,表示算法在達到收斂時,能夠維持穩態誤差較高精度的能力降低;如果α值越小,則剛好與其相反,但波谷寬度不宜過大,否則變步長函數將退變成固定步長因子的狀況。
由圖3(b)可以看出,β值整體上對曲線的波谷寬度影響較小,主要對μ(n)值大小帶來影響。由于β是函數方程的外圍系數,可用于限制μ(n)值的界限,β 值的選取應確保μ(n)值處于算法的收斂范圍之內。
由圖3(c)可以看出,γ 值對μ(n)值大小和波谷寬度也都有影響。γ值越大,μ(n)值越大,波谷寬度越寬。而γ 的取值不宜過大,否則會造成變步長函數的計算量成指數級的增長,反而會影響算法的穩定性。
通過以上的分析可知不同參數值對算法的收斂性能影響不同,且同一個參數的不同取值對算法的收斂性能影響也很大。由于在分析過程中,并未考慮到式(11)分母中輸入信號功率對算法收斂性能的影響。因此在實際應用中,可以參考以上的分析對參數進行調試,最終可以得出算法較好的收斂狀態。

圖3 μ(n)與e(n)的函數曲線
采集汽車車內噪聲信號的試驗選用車輛為榮威某款轎車,該車為4 門5 座3 廂車,外形長、寬、高為4 624 mm×1 827 mm×1 480 mm,在市面上較為常見,具有較強的代表性。實驗場所為上海工程技術大學半消聲室,采集設備為西門子生產的噪聲與振動數據采集設備LMS.test.Lab,如圖4所示。

圖4 汽車車內噪聲采集
數據采集依據國家標準GB/T 18697_2002 (聲學—汽車車內噪聲測量方法)進行。汽車車內噪聲的采集分兩組,一組是汽車處于怠速工況,噪聲為穩態噪聲;另一組是汽車發動機轉速從0增加到3 000 r/min 并保持一段時間的工況,期間還有突發噪聲,在紅色線圈內可見,噪聲為非穩態噪聲。每組采集時間均為10 s,并通過歸一化幅值顯示,如圖5所示。

圖5 車內噪聲采集信號
通過計算機在MATLAB 環境中對所采集車內噪聲進行有源控制仿真實驗。所用車輛車內噪聲初級通路傳遞函數以及次級通路傳遞函數分別為[0.001 0.005-0.5 0.75 0.9 0.75 0.5 0.2-0.35-0.01]和[0.01-0.01 0.95 0.01-0.75]。
考慮到次級通路的影響,在進行仿真之前,首先對車內次級通路進行擬合。為保證次級通路擬合精度,的初始長度要比S(z)長一些,設置的長度為8,其擬合結果如圖6 所示??梢钥闯觯那? 個數據與S(z)完全重合,后3 個數據是0,說明已經達到了較為理想的擬合狀態。

圖6 次級通路的擬合
將所提出變步長方法應用到MFxLMS 算法和FxLMS 算法上,可分別實現VS-MFxLMS 算法和一種新的VS-FxLMS算法。分別應用VS-MFxLMS算法、VS-FxLMS 算法以及MFxLMS 算法對所采集車內噪聲進行有源控制。通過對MFxLMS 算法的步長因子進行調試,得出當MFxLMS算法處于最佳收斂狀態時μ=0.08;再對式(11)中的各個參數進行調試,得出VS-MFxLMS 算法和VS-FxLMS 算法的各參數值如表1所示。

表1 參數值
(1)實驗一為車內穩態噪聲有源控制
首先應用各種算法對所采集車內穩態噪聲進行有源控制,結果如圖7所示,并分別計算各種算法對車內穩態噪聲進行有源控制后誤差信號幅值均值,其結果如表2所示。
從表2中可以看出,VS-MFxLMS算法的穩態誤差與MFxLMS 算法相比,降低了55 %;與VSFxLMS算法相比,降低了28%。

圖7 車內穩態噪聲有源控制結果

表2 車內穩態噪聲有源控制誤差均值
圖8 給出了3 種算法對車內穩態噪聲進行有源控制的收斂速度對比,其中橫軸表示迭代次數,縱軸表示均方誤差(Mean Square Error,MSE)。

圖8 車內穩態噪聲有源控制收斂速度對比
從圖9 中可以看出,MFxLMS 算法在迭代60 次左右時收斂,VS-FxLMS 算法在迭代24 次左右時收斂,而VS-MFxLMS算法在迭代15次左右就已收斂。與MFxLMS 算法相比,VS-MFxLMS 算法的收斂速度提高了3 倍左右,與VS-FxLMS 算法相比,VSMFxLMS算法的收斂速度提高了60%左右。
(2)實驗二為車內非穩態噪聲有源控制
應用各種算法對所采集非穩態車內噪聲進行有源控制,結果如圖9 所示。分別計算各種算法對車內非穩態噪聲進行有源控制后誤差信號幅值均值,其結果如表3所示。

圖9 車內非穩態噪聲有源控制結果

表3 車內非穩態噪聲有源控制誤差均值
從表2中可以看出,VS-MFxLMS算法的穩態誤差與MFxLMS 算法相比,降低了60 %左右;與VSFxLMS算法相比,降低了32%左右。
圖10給出了3種算法對車內非穩態噪聲進行有源控制的收斂速度對比。

圖10 車內非穩態噪聲有源控制收斂速度對比
從圖10 中可以看出,MFxLMS 算法在迭代100次左右時收斂,VS-FxLMS 算法在迭代50 次左右時收斂,而VS-MFxLMS 算法在迭代40 次左右就已收斂。與MFxLMS 算法相比,VS-MFxLMS 算法的收斂速度提高了1.5 倍左右,與VS-FxLMS 算法相比,VS-MFxLMS算法的收斂速度提高了25%左右。
綜合以上2種情況,說明VS-MFxLMS算法對車內噪聲的有源控制具有更好的效果。
由于LMS 算法未考慮到汽車車內噪聲有源控制系統中次級通路對算法穩定性的影響,相比之下,FxLMS算法以及MFxLMS算法具有更好的實用性。應用MFxLMS 算法、VS-FxLMS 算法和VSMFxLMS算法分別進行汽車車內噪聲有源控制。結果表明,VS-MFxLMS 算法解決了MFxLMS 算法的缺陷,且與VS-FxLMS 算法相比具有更快的算法收斂速度和較小的穩態誤差。