馬英博,吳亞鋒,楊鑫博
(西北工業(yè)大學 動力與能源學院,西安 710129)
主動噪聲控制(Active Noise Control)是一種噪聲控制的新技術[1]。它根據(jù)源噪聲的特性,通過自適應控制系統(tǒng)(adaptive control system)人為地產(chǎn)生一同頻、反相、等幅的抵消聲場,從而達到降低源噪聲的目的。
在主動噪聲控制系統(tǒng)[1]中,自適應濾波器(Adaptive Filter)是其核心技術。其中最常用的濾波算法是濾波-x最小均方(Filter-x LMS)算法,該算法具有計算量小,易于實現(xiàn),穩(wěn)定性好等特點。在FxLMS算法中,步長是決定算法收斂速度和穩(wěn)態(tài)誤差的關鍵因素,增大步長可加快算法的收斂速度,但同時會增大穩(wěn)態(tài)誤差,甚至導致算法發(fā)散。為此,人們提出了變步長的改進思路[2–3],即:在算法收斂初期步長較大,以便有較快的收斂速度和對時變系統(tǒng)的跟蹤速度;隨著算法收斂的進行,步長逐漸減小;在算法收斂末期步長很小,以便有較小的穩(wěn)態(tài)誤差。
基于這一想法,本文在傳統(tǒng)FxLMS算法的理論基礎上,根據(jù)參考-誤差信號互相關函數(shù),提出了一種變步長CFxLMS(Correlation FxLMS)算法。分別對FxLMS算法和本文提出的CFxLMS算法的收斂性能進行了仿真分析,并將其應用于電梯運行時轎廂內(nèi)部實測數(shù)據(jù)的仿真降噪中。
傳統(tǒng)FxLMS算法框圖如圖1所示。
圖1 傳統(tǒng)FxLMS算法框圖
圖中:W(z)是自適應濾波器;P(z)是噪聲源到誤差傳感器之間聲音傳播路徑的傳遞函數(shù),稱為初級通道傳遞函數(shù);S(z)是次級通道傳遞函數(shù),S?(z)是次級通道傳遞函數(shù)的估計。x(n)是噪聲源信號,e(n)是誤差傳感器測量信號。x(n)經(jīng)S?(z)得到濾波參考信號r(n),r(n)和e(n)作為控制器的輸入信號,經(jīng)處理后得到次級控制信號y(n)。y(n)經(jīng)次級通道傳遞函數(shù),在誤差傳感器處得到一個和原噪聲d(n)幅值相等、相位相反的抵消噪聲y’(n),從而達到降噪的目的。
傳統(tǒng)FxLMS算法具體如下[4–5]
式(5)中:步長μ是一個固定的常量,取值需滿足[6]
式(6)中:L是自適應濾波器W(z)的階數(shù),Px是濾波參考信號r(n)的功率。FxLMS算法的固有矛盾在于μ取值較小能獲得較小的穩(wěn)態(tài)誤差,但算法收斂速度慢;μ取值增大,算法的收斂速度得以提高,但以較大的穩(wěn)態(tài)誤差為代價。
式(5)中,步長μ是決定傳統(tǒng)FxLMS算法收斂速度和穩(wěn)態(tài)誤差的關鍵因素,固定步長μ使得算法無法兼顧收斂速度和穩(wěn)態(tài)誤差,需在這兩個性能間取折中。一種解決方法[7]是用步長μ除以誤差信號e(n)的歐式平方范數(shù),即
式(7)中:固定收斂因子α需精心選擇,以便在收斂速度和穩(wěn)態(tài)誤差之間達到平衡。是從算法迭代開始到n時刻迭代的過程中所有誤差量的平方值之和。隨著迭代次數(shù)的增加,||e(n)||2不斷增大,步長μ(n)是一個平滑下降的函數(shù),從而保證在算法收斂末期步長較小,有效地減小了算法的穩(wěn)態(tài)誤差;但這一特點使該算法對于非平穩(wěn)隨機過程,系統(tǒng)跟蹤能力較弱。因此,有必要對這一算法加以改進,以提高算法的實時性。
分析傳統(tǒng)FxLMS算法框圖可知,在算法收斂初期,自適應濾波器權值w(n)遠離最優(yōu)權值wo(n),r(n)和e(n)相關度高,此時步長μ應較大以保證算法有較快的收斂速度;在算法收斂末期,自適應濾波器權值w(n)接近最優(yōu)權值wo(n),r(n)和e(n)相關度低,此時步長μ應很小以保證算法有較小的穩(wěn)態(tài)誤差。由此可知,r(n)和e(n)的相關函數(shù)和步長的取值成正相關,故可在算法的迭代過程中使用r(n)和e(n)的相關函數(shù)來調(diào)整步長的取值。
CFxLMS算法將固定步長μ改為可變步長函數(shù)μ(n),并取濾波參考信號r(n)和誤差信號e(n)的相關函數(shù)C(n)來調(diào)整步長函數(shù)μ(n),即
式(8)中:n時刻C(n)為
n-1時刻C(n-1)為
式(9)、式(10)相減,得
CFxLMS算法將C(n)引入式(7)中,在保證步長函數(shù)μ(n)平滑下降的基礎上,提高了算法的實時性。綜上所述,CFxLMS算法具體如下
CFxLMS算法框圖如圖2所示。
由圖2可知,在算法收斂初期,由于r(n)和e(n)相關度高,C(n)的值較大,因此步長函數(shù)μ(n)也較大,算法有較快的收斂速度;在算法接近收斂時,r(n)和e(n)相關度降低,C(n)→0,因此步長函數(shù)μ(n)很小,算法有較小的穩(wěn)態(tài)誤差;此時若輸入信號x(n)發(fā)生突變,r(n)和e(n)的相關度迅速增加,C(n)由小變大,步長函數(shù)μ(n)也隨即由小變大,算法收斂速度變快。
圖2 CFxLMS算法框圖
CFxLMS算法有3個參數(shù)α、β和γ。α控制步長取值范圍;β是一個取值較小的正常量;γ控制濾波參考信號r(n)和誤差信號e(n)的相關函數(shù)C(n)在步長迭代中所占的權重比,取值0<γ<1,系統(tǒng)對實時性要求越高,γ取值應越小。
本節(jié)通過仿真對比在不同信噪比條件下,傳統(tǒng)FxLMS算法和CFxLMS算法的收斂性能。具體做法是給定一輸入混合噪聲信號x(n)=s(n)+r(n);其中s(n)=sin(2*pi*60*(n/fs))+0.4*sin(2*pi*120*(n/fs))+0.1*sin(2*pi*180*(n/fs))為正弦輸入噪聲,采樣頻率fs=1 000 Hz,n=0,1,2,…,10 000;r(n)為在已知s(n)和預期SNR條件下,推算出的背景白噪聲;自適應濾波器階數(shù)為32;傳統(tǒng)FxLMS算法初始參數(shù)設置為μ=0.01;CFxLMS算法初始參數(shù)設置為α=25,β=0.01,γ=0.7。
仿真結果如圖3-圖5所示。
圖3 SNR=30 dB時各算法收斂曲線
圖3-圖5分別是不同信噪比下,傳統(tǒng)FxLMS算法和CFxLMS算法的收斂曲線圖。圖3中SNR=30 dB,傳統(tǒng)FxLMS算法的收斂速度稍慢于CFxLMS算法的收斂速度,兩種算法的穩(wěn)態(tài)誤差均較小。圖4中,增加白噪聲的方差,此時傳統(tǒng)FxLMS算法的穩(wěn)態(tài)誤差變大;CFxLMS算法仍可保持和此前SNR=30 dB條件下接近的穩(wěn)態(tài)誤差。圖5中,繼續(xù)增加白噪聲的方差,傳統(tǒng)FxLMS算法的收斂速度明顯變慢,穩(wěn)態(tài)誤差明顯增大;CFxLMS算法的收斂速度稍有變慢,穩(wěn)態(tài)誤差稍有變大。
圖4 SNR=10 dB時各算法收斂曲線
圖5 SNR=0 dB時各算法收斂曲線
由圖3-圖5的對比可以看出,當信噪比較高時,傳統(tǒng)FxLMS算法和CFxLMS算法均有較好的收斂性能和穩(wěn)態(tài)性能。當信噪比較低時,傳統(tǒng)FxLMS算法收斂速度慢,穩(wěn)態(tài)誤差大;而CFxLMS算法仍保持較快的收斂速度,且穩(wěn)態(tài)誤差較小,因此傳統(tǒng)FxLMS算法對噪聲更敏感,相比之下CFxLMS算法抗噪性能更好。
在高速電梯(額定速度大于500 m/min[8])加、減速運行階段,電梯速度急劇變化,導輪與導軌之間的摩擦、旋轉部件與曳引繩之間的摩擦等會在電梯轎廂內(nèi)部產(chǎn)生嚴重的低頻(400 Hz以下)、非平穩(wěn)振動噪聲[9]。本節(jié)通過計算機仿真對比傳統(tǒng)FxLMS算法和本文提出的CFxLMS算法對某型高速電梯實際減速運行時轎廂內(nèi)部所錄制的實測噪聲ANC效果。實測噪聲如圖6所示,仿真結果見圖6-圖8。圖6(a)為高速電梯轎廂內(nèi)高度1.7 m中心位置處測得的噪聲時域圖,圖6(b)為其頻譜分布圖(部分)。
圖6 實測噪聲時域圖與頻域圖
由圖可知,電梯轎廂內(nèi)的噪聲能量主要集中在0~300 Hz的頻段。
圖7是傳統(tǒng)FxLMS算法和CFxLMS算法對該噪聲進行主動控制的算法收斂曲線對比圖。
圖7 算法收斂曲線對比圖
由圖7的曲線看到,傳統(tǒng)FxLMS算法收斂性能差,穩(wěn)態(tài)誤差大,而本文提出的CFxLMS算法收斂速度更快,穩(wěn)態(tài)誤差更小。
圖8繪出了對電梯轎廂噪聲進行ANC后的噪聲變化情況。
圖8 頻域降噪效果對比圖
結果顯示,傳統(tǒng)FxLMS算法和CFxLMS算法對于實測數(shù)據(jù)均有降噪效果,相比之下CFxLMS算法對電梯減速運行噪聲ANC處理結果較傳統(tǒng)FxLMS算法平均可再降4 dB~5 dB,最高頻率點可再降9.4 dB。
表1是使用傳統(tǒng)FxLMS算法和CFxLMS算法分別對電梯加速、勻速、減速運行的3個階段轎廂內(nèi)部實測噪聲數(shù)據(jù)20次主動仿真降噪的平均降噪量。
表1 高速電梯加速、勻速、減速運行時算法平均降噪量/dB
由表1可以看出,CFxLMS算法在電梯運行的3個階段與FxLMS算法相比的降噪量變化依次為6.3 dB、4.7 dB、6.1 dB,說明CFxLMS算法實時性好,系統(tǒng)跟蹤能力強。
傳統(tǒng)FxLMS算法由于其固定的步長無法兼顧收斂速度和穩(wěn)態(tài)誤差。本文在傳統(tǒng)FxLMS算法和變步長理論基礎上提出了一種新的變步長FxLMS算法,新算法將步長函數(shù)與濾波參考信號與誤差信號的相關函數(shù)相關聯(lián)。在算法收斂初期步長取較大值,使其有較快的收斂速度,在算法收斂末期步長取較小值,使其有較小的穩(wěn)態(tài)誤差,從而較好地解決了傳統(tǒng)FxLMS算法的固有矛盾。仿真結果表明,新算法與傳統(tǒng)FxLMS算法相比可以更好地兼顧收斂速度和穩(wěn)態(tài)誤差,且有更好的抗噪性能。為進一步驗證改進算法的性能,將其應用于高速電梯噪聲ANC仿真處理,取得了滿意的效果。