李春陽金光燦 劉 浩李 錦
(1上海工程技術大學機械與汽車工程學院 上海201600)
(2上海理想汽車科技有限公司 上海201800)
有源噪聲控制(Active noise control,ANC)技術由于其優(yōu)秀的低頻降噪能力和被動降噪不具有的小體積、低成本、高靈活性的優(yōu)勢,近幾年被廣泛應用在耳機、汽車、家電、建筑、醫(yī)療等眾多領域中[1-2]。在ANC過程中,自適應濾波算法的優(yōu)劣對系統(tǒng)的降噪能力起到了關鍵作用。由于結構簡單、易于實現(xiàn)的特點,基于最小均方誤差準則(Minimum mean square error criterion,MMSE)的濾波-x最小均方(Filtered-x least mean square,FxLMS)算法被廣泛應用于高斯噪聲的有源降噪過程中[3]。
在實際應用中,脈沖噪聲的出現(xiàn)嚴重降低了ANC算法的降噪能力并影響整個系統(tǒng)的穩(wěn)定性。為了克服脈沖噪聲的不利影響,學者們研究了一系列專門針對脈沖噪聲的魯棒算法[4-6]。其中最典型的算法有基于最小誤差p范數(shù)的濾波-x最小p階矩算法(Filtered-x LMP,FxLMP)[7-8],然而該算法需要獲取噪聲信號的先驗信息,這在實際應用中并不容易實現(xiàn)。Wu等[9]利用平方誤差的對數(shù)矩提出了濾波-x對數(shù)最小均方算法(FxlogLMS),該算法雖然避免了參數(shù)估計,但算法存在權值更新死區(qū),以至于算法的降噪能力受到限制。為了克服FxlogLMS算法的缺陷,研究者們又分別提出了歸一化可切換的對數(shù)算法版本(Normalized switch FxlogLMS,NSFxlogLMS)[10]和能作用于非線性脈沖噪聲控制的魯棒濾波-s LMS算法(Robust filtered-s LMS RFsLMS)[11]。
最大相關熵準則(Maximum correntropy criterion,MCC)是來源于信息論(ILT)領域的一種魯棒優(yōu)化準則,不同于均方誤差(MSE)的全局度量,它表示兩個隨機變量之間的局部相似性,這對于抑制異常值和脈沖噪聲的不利影響十分有效[12],目前相關熵已經(jīng)被廣泛應用在機器學習、信號處理和自適應濾波等領域[13-14],近些年有研究人員將相關熵引入到了ANC的魯棒控制中[15]。2017年,Kurian等[16]基于MCC準則提出了濾波-s最大相關熵算法(Filtered-s maximum correntropy criterion,FsMCC),該算法在高斯和脈沖環(huán)境中都表現(xiàn)出了較好的降噪性能。但是FsMCC算法對核參數(shù)十分敏感,導致算法在面對復雜噪聲數(shù)據(jù)時性能明顯下降,為了保證降噪性能,一般需要在線更新核寬[15-16]。為了彌補FsMCC算法的不足,2020年,宋普查等[17]通過引入了最大混合相關熵準則(Maximum mixture correntropy criterion,MMCC),提出了濾波-x最大混合相關熵算法(Filtered-x maximum mixture correntropy criterion,FxMMCC)。該算法采用兩個不同大小的高斯核組成混合核來替換單一高斯核,仿真表明該算法有更好的降噪性能,但該算法仍面臨核寬敏感和強脈沖環(huán)境下降噪能力不足的問題。高斯核具有平滑、正定以及極強的逼近能力,因此使用高斯核來抑制異常值是十分合適的,但是高斯核并不一直都是最好的選擇。2021年,Ruan等[18]通過理論推導,證明了?1范數(shù)的拉普拉斯核相比?2范數(shù)的高斯核具有更強的抑制異常值的能力,此外拉普拉斯核對核寬的敏感性顯著降低。
考慮到拉普拉斯核具有更出色的抗脈沖能力和更低的核參數(shù)敏感度,本文使用高斯核和拉普拉斯核組成異構混合核作為成本函數(shù),推導了基于異構混合核的濾波-x最大相關熵算法(FxMCCmixture kernels,FxMCC-MK)。通過在對稱α穩(wěn)定(Symmetricα-stable,SαS)脈沖噪聲環(huán)境和真實噪聲錄聲環(huán)境下仿真,證明了所提出的算法具有更好的降噪能力。
單通道前饋ANC系統(tǒng)框圖如圖1所示。ANC系統(tǒng)的工作原理為聲波的疊加相消,其中x(n)為靠近噪聲端傳感器拾取的參考信號,d(n)為需要抵消的初級噪聲,P(z)代表主路徑系統(tǒng)響應,W(z)是ANC控制器(自適應濾波器),y(n)為控制濾波器輸出信號,S(z)代表次路徑系統(tǒng)響應,y′(n)為抵消揚聲器產(chǎn)生的抵消噪聲,e(n)為誤差傳感器拾取的殘余噪聲信號代表對S(z)的近似估計。
圖1 單通道前饋ANC系統(tǒng)框圖Fig.1 Single-channel feedforward ANC system block diagram
假設控制濾波器長度為L,則第n時刻輸出信號y(n)為
其中,w(n)=[w0(n),w1(n),···,wL-1(n)]T是n時刻控制濾波器的權系數(shù)向量,x(n)=[x(n),x(n-1),x(n-L+1)]T是n時刻最近的L個參考信號采樣值。
殘余誤差信號e(n)計算公式為
其中,初級噪聲d(n)=x(n)*p(n),抵消噪聲y′(n)=y(n)*s(n),*代表線性卷積。在實際ANC的實現(xiàn)過程中,e(n)直接通過誤差傳感器拾取,因此ANC的關鍵即為采用合適的算法自適應更新濾波器權系數(shù)向量w(n)。
相關熵表示任意兩個隨機變量X和Y之間的相似性,其定義式如下[12,19]:
其中,E[·]表示期望運算符;κσ(·,·)表示核寬為σ的Mercer核函數(shù);FX,Y(x,y)表示變量X和Y的聯(lián)合分布函數(shù)。在實際應用中,聯(lián)合分布函數(shù)FX,Y(x,y)是未知的,通常只能獲取有限的采樣數(shù)據(jù)因此采用公式(4)來近似估計相關熵:
常見的Mercer核是基于?2范數(shù)的高斯核函數(shù)[16],高斯核函數(shù)具有良好的抗干擾能力,但對核寬參數(shù)極敏感。而基于?1范數(shù)的拉普拉斯核可看作是高斯核的一個變種,它不僅提高了高斯核的抗干擾能力,并且降低了核寬的影響。它們的表達式分別如下:
高斯核:
拉普拉斯核:
在MCC下,可以通過最大化期望信號和輸出信號的相似性來求ANC系統(tǒng)的最優(yōu)濾波器權向量w,為了便于分析和對比,采用如下求最小值形式來表示ANC系統(tǒng)的代價函數(shù):
為了比較高斯核與拉普拉斯核,圖2繪制了高斯核和拉普拉斯核代價函數(shù)的性能表面。其中濾波器權向量簡化為二維數(shù)據(jù)w=[w1,w2],其最優(yōu)的權向量假設為w0=[10,10];參考噪聲信號x(n)使用零均值單位高斯變量。從圖2可以看出,在遠離最優(yōu)值時,拉普拉斯核代價函數(shù)性能表面平坦,梯度更加平滑,而高斯核則一直持續(xù)下降。這種差距意味著在遠離最優(yōu)權向量時,拉普拉斯核有更好的抑制異常值能力,魯棒性更好。在接近最優(yōu)濾波器向量時,拉普拉斯核代價函數(shù)性能表面是高度非凸的,而高斯核接近最優(yōu)值時表面為凸且平滑的,這意味著拉普拉斯核在最優(yōu)解處性能遠遠不如高斯核,其非凸性甚至會導致陷入局部最優(yōu)。
圖2 代價函數(shù)性能表面Fig.2 Cost function performance surface
由第1節(jié)的分析可知,高斯核和拉普拉斯核的性能各有優(yōu)劣。為了更好地增強相關熵算法的降噪能力,本文同時使用高斯核和拉普拉斯核組成混合核,引入異構混合相關熵作為代價函數(shù)[13],提出FxMCC-MK算法。
FxMCC-MK算法的代價函數(shù)表示為如下形式:
其中,λ是混合系數(shù),λ∈[0,1]。
圖3表示不同混合系數(shù)下異構混合相關熵的代價函數(shù)與誤差的變化關系。從圖3可以看出,隨著混合系數(shù)的增加,拉普拉斯核的作用越明顯,代價函數(shù)曲線在[-2σ,2σ]區(qū)間內(nèi)變化越尖銳,在區(qū)間外變化越平緩,這一變化特性對異常離群值有更好的抑制效果。
圖3 不同混合程度下混合相關熵代價函數(shù)Fig.3 Mixture correntropy cost function under different mixing coefficients
隨機梯度是一種簡單有效的在線求ANC最優(yōu)濾波器系數(shù)的方法,F(xiàn)xMCC-MK算法代價函數(shù)的瞬時梯度向量為
因此所提出的FxMCC-MK算法的權向量更新過程為
其中,μ表示算法更新步長,σ為核寬參數(shù),λ代表混合參數(shù)。
混合參數(shù)λ對算法的降噪性能至關重要,由2.1節(jié)的分析可知,在出現(xiàn)脈沖噪聲時,使用較大的λ能增加拉普拉斯核的比重,從而算法有更強的魯棒性;在無異常值出現(xiàn)時,更希望用較小的λ來保證算法能找到最優(yōu)權值。然而在ANC實際的實現(xiàn)過程中,復雜的聲環(huán)境造成λ無法被準確確定。因此本文繼續(xù)采用宋普查等[17]的方法,利用等式(11)來自動更新混合參數(shù)λ,保證λ隨著誤差信號的變化自動調(diào)整大小。其中,β是形狀參數(shù),β≥0。圖4為不同β下,混合參數(shù)隨誤差變化曲線。從圖4可以看出隨著誤差的增大,λ(n)逐漸增大,即拉普拉斯核起主要的作用,算法對異常值的抑制能力增強。對于形狀參數(shù)β的選取規(guī)則如下,在強脈沖環(huán)境下,其穩(wěn)態(tài)誤差e(n)相對較大,此時選用大的β,從而得到較大的λ(n),增強脈沖抗性;在低脈沖條件下,則相反選用小的β值。
圖4 不同β值下混合參數(shù)變化曲線Fig.4 Curves of mixed parameter variation under different β values
為了便于閱讀,F(xiàn)xMCC-MK算法的偽代碼總結在表1。
表1 FxMCC-MK算法偽代碼Table 1 Pseudocode of FxMCC-MK algorithm
為了保證算法的收斂和穩(wěn)態(tài)性能,本節(jié)主要推導FxMCC-MK算法步長μ的選擇范圍。假設w0為濾波器的最優(yōu)權向量,定義誤差矢量v(n)=w0-w(n),使用w0同時減去等式(10)兩側可以得到
對等式(12)兩側同時求?2范數(shù)并取期望,如?(n)=E{‖v(n)‖2},得
其中,
為了保證算法的收斂性,應滿足條件?(n+1)<?(n)。假設vT(n)xf(n)=(w0-w(n))Txf(n)≈e(n),因此可以推導出FxMCC-MK算法步長μ的選擇范圍為
在ANC的實際應用中,為了保證算法實時運算并降低硬件系統(tǒng)的負擔,ANC算法應當簡單有效。本文提出的算法與已有的算法計算復雜度對比如表2所示。其中L表示控制濾波器抽頭系數(shù)的個數(shù),M表示用來估計次級路徑模型的濾波器長度。從表2可以看出,相比于經(jīng)典的FxLMS算法,本文提出的算法只略微增加了計算量,為了獲得更好的魯棒性能,增加的這些額外計算負擔是完全可接受的。
表2 算法計算復雜度Table 2 Computational complexity of the algorithms
為了展示算法的降噪性能,將提出的算法與已有的算法在計算機仿真環(huán)境中對比。其中,初級路徑系統(tǒng)函數(shù)P(z)和次級路徑系統(tǒng)函數(shù)S(z)分別設置為
控制濾波器使用20階有限沖激響應(Finite impulse response,FIR)濾波器進行建模。
仿真中使用的脈沖噪聲服從標準SαS分布其特征函數(shù)為
其中,α是特征指數(shù),α值越小,表明異常值出現(xiàn)的可能性越大。生成的SαS脈沖噪聲信號的時域分布如圖5所示。
圖5 SαS脈沖噪聲時域分布圖Fig.5 Time domain distribution of SαS pulse noise
使用平均噪聲衰減量(Averaged noise reduction,ANR)來評估算法降噪性能的優(yōu)劣,ANR的定義公式如下[20]:
其中,η是遺忘因子,η=0.999;Ae和Ad的初始值為0。
為了更好地比較各算法的降噪性能,本文的仿真結果均是在算法獨立運行100次后取平均值獲得的。
在本例中,主要對比提出的FxMCC-MK算法和已有的FxMCC算法對核寬參數(shù)σ的敏感度差異,并研究參數(shù)σ對FxMCC-MK算法降噪性能的影響。其中輸入?yún)⒖荚肼暈棣?1.6的SαS合成脈沖信號,每次采樣點數(shù)為4×104,核寬σ值依次設置為3、7、15、20、30,F(xiàn)xMCC算法的步長為μ=0.0005,F(xiàn)xMCCMK算法的步長為μ=0.0009。兩種算法的降噪性能曲線如圖6所示,其中橫坐標代表迭代次數(shù),縱坐標為ANR。降噪算法的評價指標一般有收斂速度和穩(wěn)態(tài)失調(diào)量,在圖6中表現(xiàn)為曲線斜率越大,算法收斂速度越快;收斂后ANR值越低,即穩(wěn)態(tài)失調(diào)越小,降噪能力越強。
從圖6(a)可以明顯看出,取用不同σ值,F(xiàn)xMCC算法的穩(wěn)態(tài)性能差距很大,其中σ=3時穩(wěn)態(tài)ANR為-35 dB;在σ=30時,ANR穩(wěn)定在-25 dB左右,穩(wěn)態(tài)ANR差距越為10 dB。然而在圖6(b)中,σ值變化對FxMCC-MK算法穩(wěn)態(tài)性能幾乎沒有影響,σ在3~30取值時,其穩(wěn)態(tài)ANR基本都保持在-35 dB左右,上下浮動小于0.5 dB。以上結果表明,F(xiàn)xMCC-MK算法對核寬σ的依賴性降低,這意味著算法在面對復雜的聲環(huán)境時能降低核寬對性能的影響,從而算法具有更好的適應性。
圖6 核寬σ對算法性能影響曲線Fig.6 The influence curve of kernel width σ on algorithm performance
從圖6(b)可以看出,σ值的變化對FxMCCMK算法的性能仍有一定的影響,在σ從3遞增到30的過程中,算法的收斂速度逐漸加快,穩(wěn)態(tài)ANR值也會略微升高。以上結果表明,較大的σ值可以獲得更快的算法收斂速度但會降低算法的魯棒性,較小的σ值情況則完全相反,這一變化特性與FxMCC算法相似。
在本節(jié)仿真實驗中,主要驗證在α=1.2的SαS強脈沖噪聲環(huán)境下所提算法的降噪性能。將本文提出的算法與已有的FxMCC算法[16]和FxMMCC算法[17]對比,并引入標準的FxLMS算法作為參考。和4.1節(jié)一樣,同樣采用ANR曲線評價各算法的表現(xiàn)性能。從4.1節(jié)的仿真可知,在SαS噪聲環(huán)境下,當σ=7時,F(xiàn)xMCC算法和FxMCC-MK算法均能取得一個較好的降噪表現(xiàn),因此在本節(jié)仿真中,將FxMCC算法和提出的FxMCC-MK算法的核寬σ均設置為7,F(xiàn)xMMCC算法核寬設置為σ1=5、σ2=7。各算法的其余參數(shù)設置如表3所示。為了更好比較強脈沖噪聲環(huán)境下各算法的降噪性能,除FxLMS算法外,其余的3種魯棒算法是在相近的收斂速度前提下,比較穩(wěn)態(tài)ANR值。穩(wěn)態(tài)ANR值越低,表明該算法的降噪性能越強。
表3 各算法仿真參數(shù)Table 3 Simulation parameters of each algorithm
圖7是α=1.2時各算法平均噪聲衰減對比曲線。從圖7可以看出,在α=1.2的強脈沖環(huán)境下,非魯棒的FxLMS算法直接失效;其余算法中提出的FxMCC-MK算法表現(xiàn)最好,最終ANR值為-28 dB,比FxMCC算法的-23 dB提升約5 dB,比FxMMCC算法的-25 dB提升約3 dB。以上結果表明,提出的FxMCC-MK算法在強脈沖環(huán)境下,相比已有算法具有更好的魯棒性,算法能取得更好的降噪效果。
圖7 α=1.2時各算法平均噪聲衰減曲線Fig.7 Average noise reduction curves of each algorithm(α=1.2)
本節(jié)使用實驗室測得的管道中聲音傳播路徑和錄制的沖壓機噪聲進行算法降噪效果對比驗證。初級路徑P(z)和次級路徑S(z)的單位脈沖響應如圖8所示。控制濾波器使用256抽頭的FIR濾波器進行建模。FxMCC算法和FxMCC-MK算法的核寬σ設置為0.1,F(xiàn)xMMCC算法核寬設置為σ1=0.15、σ2=0.05,其余參數(shù)被設置在表3中。
圖8 P(z)和S(z)幅頻響應和相頻響應Fig.8 The frequency response of P(z)and S(z)
圖9為沖壓機噪聲環(huán)境下各算法的ANC性能曲線。從圖9可以看出,4種算法以相近的收斂速度趨向收斂,隨著脈沖噪聲的出現(xiàn),ANR曲線均出現(xiàn)較大波動。其中FxLMS算法表現(xiàn)最差,最終平均噪聲衰減量為-14 dB。本文算法在3×104次迭代后,算法趨向收斂,最終平均噪聲衰減為-29 dB,相比于FxMCC算法的-24 dB降低了約5 dB,相比于FxMCC算法的-26 dB降低了約3 dB,本文算法的最終降噪效果如圖10所示。可見,本文的算法在處理真實脈沖噪聲時同樣具有更小的穩(wěn)態(tài)誤差,算法展示出了更好的降噪性能。此外,在ANC的實際實現(xiàn)過程中,聲音的傳播路徑和噪聲的特性可能隨時發(fā)生變化,F(xiàn)xMCC算法和FxMMCC算法需要十分合適的參數(shù)設置才能取得較好的降噪效果,而提出的算法則對參數(shù)不那么敏感,在實際降噪中可能差距會更明顯。
圖9 沖壓機噪聲環(huán)境下各算法平均噪聲衰減曲線Fig.9 Average noise reduction curves of each algorithm under punch press noise
圖10 FxMCC-MK算法對噪聲有源控制結果Fig.10 Result of FxMCC-MK algorithm for ANC
本文針對脈沖噪聲的主動控制問題,采用異構混合相關熵作為代價函數(shù),推導了FxMCC-MK算法;并給出了算法的穩(wěn)定收斂條件和計算復雜度;本文通過理論分析和仿真驗證都表明了所提算法具有更好的降噪性能。
本文提出的異構混合核FxMCC-MK算法改進了已有高斯核算法的不足,通過混合參數(shù)的自動調(diào)節(jié),使算法同時具有高斯核和拉普拉斯核的優(yōu)勢,降低了算法對核參數(shù)的依賴性,使算法在復雜聲環(huán)境下具有更好的適應性;同時增強了算法在強脈沖環(huán)境下的魯棒性。仿真結果表明,在SαS脈沖噪聲環(huán)境和真實噪聲錄聲仿真中,提出的算法都具有更好的降噪性能。