翟克寧
(東風柳州汽車有限公司,廣西 柳州 545005)
噪聲主動控制技術在很多方面都得到了廣泛的應用,主動降噪系統可以有效地降低被動降噪方法無法解決的低頻噪聲[1]。
當系統出現脈沖噪聲的時候,基于Fxlms(Filter-x least mean square)算法的主動降噪系統會變得不穩定。為了解決脈沖噪聲,許多算法已經被提出來[2]。在1995,年Leahy提出的 FxLMP(filter-x least mean p-power)算法,該算法以誤差信號P次方最小化代替最小誤差信號均方值為目標函數。后來,Wu et al.提出了以誤差信號對數值最小為目標函數的對數主動降噪算法Fxloglms(Filter-x logarithmic error lms)[3]。 在 2012 年,George 基于神經網絡算法進行魯棒性設計,提出了 RFslms(Robust filter-x lms)算法[4]。2017年,Lu et al.基于最大相關熵MCC提出了FxRMC算法能有效地降低脈沖噪聲信號,但是該算法存在計算復雜度過大問題[5]。
最大相關熵MCC能很好地描述兩個隨機變量之間的關系[6]。在主動降噪系統中,MCC用來描述初始信號和濾波器產生的期望信號之間的關系。基于主動降噪基本原理,當兩個隨機信號相似度大時候,系統能有效地較低噪聲信號。本文,基于最大相關熵MCC提出了一種變步長FxnMCC算法。該算法能有效地降低脈沖噪聲,但是算法的收斂速度遠不如FxRMC算法。因此本文進一步提出了混合H-Fx-RMC算法。該混合算法結合了FxRMC算法收斂速度快和FxnMCC算法降噪性能好的優點,并且提高了系統的魯棒性能。本文最后在Matlab平臺進行仿真試驗,試驗結果表明提出的算法能更好地降低脈沖噪聲。
在一些惡劣的環境中,SαS信號或噪聲具有顯著的尖峰脈沖特性和拖尾特性。SαS穩定分布是非常重要的非高斯分布,能很好地描述這種尖峰脈沖特性以及嚴重的拖尾特性。穩定分布是一類具有廣泛代表性的隨機分布模型。它們的概率密度函數沒用統一的封閉表達式,但它的特征函數存在統一的形式。其中SαS信號可以表達為:

其中,r=log10[rand(1,L)],rand(,)是指符合均勻分布的隨機數;Φ維度為1×L并且是在范圍內的隨機數。α的取值范圍約束在0到2,當α越小噪聲信號的脈沖程度越高,反之亦然。當α=1時候噪聲符合柯西分布,當α=2時,噪聲符合高斯分布。
如圖1所示,基于前饋控制系統的主動降噪系統框圖。圖中,x(n)表示參考噪聲信號,通過參考信號拾音器測得;d(n)表示初始噪聲信號,表示為目標降噪點處原有噪聲信號;p(z)為初級傳遞函數,它表示初級信號傳遞途徑的傳遞函數;s(z)表示次級傳遞函數,用于描述揚聲器布放位置到目標降噪點的傳遞函數;y(n)表示濾波器生成的信號;e(n)表示降噪后的殘余噪聲信號,其中 e(n)=d(n)-y(n)。

圖1 自適應有源前饋控制系統示意圖
主動降噪系統的輸入信號為參考信號x(n),假設其向量長度為L,則可以表示為:

其中,L—輸入信號的長度;n—時間索引。另外,濾波器系數向量W(n)可以表示為:

濾波器的輸出為y(n),可以表達為:

傳統的Fxlms算法以誤差信號均方值最小為目標函數,其濾波器系數更新公式表示為:

式中,X'(n)表示參考信號通過次級傳遞函數估計值(n)。 因此,在時域內,它表示參考信號 x(n)和(n)的卷積:

本文算法是基于最大相關熵MCC來提高主動降噪系統的魯棒性,最大相關熵描述了濾波器生成信號和初級噪聲信號之間的關系,以此為目標函數能有效地控制脈沖噪聲的衰減。相關熵可以表示為:

其中 E(·)—期望值;Kσ(α,β)—一種高斯內核大??;fα,β(α,β)—α 和 β 的聯合分布函數。 α、β—兩列隨機信號,通常它們的高斯內核Kσ(α,β)定義為:

然而對于離散信號序列來說,兩列隨機信號的相關熵可以表達為:

以期望信號和輸出信號的相關熵作為主動降噪算法的目標函數,利用梯度法來尋求它們相關熵的最大值。因此主動控制算法目標函數為:

根據梯度法原理,濾波器權系數的更新公式為:

目標函數的變化梯度為:

我們令因此FxMCC算法的濾波器權系數的更新方法可以表示為:

濾波器更新的收斂系數μ的值決定自適應過程中系統收斂速度和穩態誤差的大小。如果μ的值取值過大,將會導致系統發散不收斂。μ取值過小會導致系統收斂速度慢。一般來說收斂系數的取值取決于濾波器長度和參考信號的功率,歸一化版本的FxnMCC算法就是讓濾波器收斂系數的值不斷地隨著參考信號功率更新,其表達式為:

因此,本文提出的FxnMCC算法的濾波器更新系數表達式可以重寫為:

FxRMC算法也是以期望信號d(n)和輸出信號y(n)的最大相關熵作為目標函數,但是濾波器采用遞歸形式進行更新。FxRMC算法的主要公式如下:

其中 Gp(n)是濾波器增益向量,其維度長度為 1×L;P(n)是輸入信號的自相關矩陣的逆,它的維度為L×L;λ代表遺忘因、子λ小于并約等于1。
為了結合兩種算法的優點,本文進一步提出了一種混合H-Fx-RMC算法?;旌纤惴ㄏ日{用FxRMC算法,使殘余噪聲到達較低的水平,之后再調用變步長FxnMCC算法繼續調整濾波器權系數值,達到最優降噪水平。為了決定什么時候轉化兩種算法,以平均噪聲減少量ANR(averaged noise reduction)作為標準定義一個固定的閾值ψ。混合算法一開始采用FxRMC模式更新濾波器權系數W(n),當噪聲平均降噪量ANR達到并小于設定的閾值ψ時候,混合算法轉化為FxnMCC算法更新濾波器權系數。因此混合算法的關系式可以表示為:

在主動降噪系統中,ANR常用作為衡量算法降噪效果的標準,表達式為:

其中,ξ=0.999,Ae(n)和 Ad(n)分別表示初始信號 d(n)和殘余信號e(n)的估計值。閾值ψ的設定一般根據經驗為主,根據處理不同環境的噪聲進行選擇。
在主動降噪系統實際應用中,為了滿足實時性控制,對系統的計算速度有一定的要求。主動降噪算法的計算復雜程度對ANC系統計算速度有著直接的影響,算法的計算復雜度越高,相應地對硬件系統的計算速度要求越快。這也會導致需要高質量硬件部件,增大搭建主動降噪系統的成本,因此如何降低算法的計算復雜度是一個很重要的實際應用問題。

表1 算法計算復雜度對比
如表1所示。顯然FxRMC算法的計算復雜度比FxnMCC算法的大很多?;旌螲-Fx-RMC算法計算復雜度介于兩個算法之間。
本文基于MATLAB軟件進行編程,仿真對比傳統的FxLMS、FxnMCC、FxRMC和 H-Fx-RMC算法處理脈沖噪聲的降噪性能。取不同值α的脈沖信號作為仿真參考輸入信號。圖2呈現了脈沖噪聲的時域圖,噪聲信號體現出尖峰脈沖特性。圖2描述了兩種情況不同α值的脈沖信號。
參考信號到降噪目標點存在一個初級傳遞通道,一般來說用初級傳遞函數Q(z)來描述該通道,我們設置為Q(z)=z-3-0.3z-4+0.2z-5;類似地,主動降噪系統的揚聲器發出輸出信號,輸出信號會經過一段次級通道路徑,用次級傳遞函數描述該通道,可以表示為:S(z)=z-2+0.5z-3;本文仿真算法以ANR作為衡量算法降噪性能的標準,根據ANR定義可知,當ANR的值小于零,系統才有一定的降噪效果,若ANR越小,表明算法降噪能力越強。

圖2 脈沖信號時域圖,(a)α:=1.1, (b)α:=1.2
本小節試驗中以圖2脈沖信號作為輸入信號。在算法仿真中,高斯內核σ的大小設置為σ2=8,閾值取ψ=-6。FxnMCC算法和H-Fx-RMC算法的迭代步長取μ=0.01,FxRMC算法的遺忘因子取λ=0.95。圖3描述的是不同算法降噪的ANR曲線。從仿真結果圖可知,傳統的FxLMS算法出現發散現象不能衰減脈沖噪聲,而本文提出的變步長算法FxnMCC算法和混合H-Fx-RMC算法均能有效地降低脈沖噪聲,系統趨于收斂,相比FxLMS算法有更好的魯棒性。FxnMCC算法解決2500步才趨于收斂,而混合算法和FxRMC算法在1000步以內便接近收斂。證明但是變步長FxnMCC算法相對于FxRMC和混合HFx-RMC算法來說收斂速度慢。而通過第3節的計算復雜度對比我們知道,FxRMC算法計算復雜度比FxnMCC算法高很多,而混合算法在達到設定閾值時候會從計算復雜度高的FxRMC算法轉化到計算復雜度低的FxnMCC算法,因此相對FxRMC算法來說計算復雜度肯定是降低的。因此我們可以說混合H-Fx-RMC算法不僅能有效地降低脈沖噪聲并且具有收斂速度快計算復雜度較低的良好性能。

圖3 試驗1不同算法仿真結果ANR曲線,(a)α:=1.1, (b)α:=1.2
本節試驗的參考信號為脈沖噪聲和高斯分布噪聲想結合,混合類型參考信號噪聲如圖4所示,混合噪聲長度為兩萬點數,由分別取為前一萬點數符合α=2.0的高斯分布噪聲,后一萬點數為α=1.3的脈沖噪聲。圖5顯示了以混合噪聲為參考輸入噪聲時候,本文提出的算法仍然有良好的降噪效果,傳統的FxLMS算法迭代到接近一萬多步時候發散,再次驗證傳統FxLMS算法在脈沖噪聲出現時候的性能不住。本文提出的FxnMCC和混合H-Fx-RMC算法能有效地降低脈沖噪聲,魯棒性比FxLMS算法強,得到的其它結論和試驗1相似。

圖4 混合噪聲

圖5 試驗2不同算法仿真結果ANR曲線
本文進行了脈沖噪聲存在時候提高魯棒性的算法研究。基于最大相關熵MCC,本文提出了變步長FxnMCC算法能很好地降低脈沖噪聲,提高主動降噪系統的魯棒性和降噪性能。但是變步長算法的收斂速度較慢,為了解決這個問題,本文進一步結合現有的FxRMC算法提出了混合HFx-RMC算法。該混合算法的計算復雜度比FxRMC低,具有快速收斂的性能,而且能有效地衰減脈沖信號噪聲。本文通過多個仿真研究證明了混合H-Fx-RMC算法的優點。
[1]王登峰,劉學廣,劉宗巍,等.基于發動機轉速的車內有源消聲控制策略和自適應算法[J].公路交通科技,2004,21.
[2]陳克安,馬遠良.自適應有源噪聲控制:原理、算法及實現[M].西北工業大學出版社,1993.
[3]Wu L,He H,Qiu X.An Active Impulsive Noise Control Algorithm With Logarithmic Transformation:IEEE Press;2011.
[4]George NV,Panda G.A robust filtered-s LMS algorithm for nonlinear active noise control.Applied Acoustics,2012,73.
[5]Lu L,Zhao H.Active impulsive noise control using maximum correntropy with adaptive kernel size.Mechanical Systems&Signal Processing,2017,87.
[6]Wu Z,Shi J,Zhang X,Ma W,Chen B.Kernel recursive maximum correntropy.Signal Processing,2015,117.