李小波,靳國永,李善軍,葉天貴
(哈爾濱工程大學(xué) 動力與能源工程學(xué)院,哈爾濱150001)
噪聲控制方法從原理上可以分為兩類,即無源噪聲控制和有源噪聲控制[1]。通常來說,無源噪聲控制方法,如吸聲、隔聲和使用消聲器,對中、高頻噪聲可以取得較好的控制效果,但對低頻噪聲卻難以取得理想的控制效果[2]。因此,對低頻噪聲有較好控制效果的有源噪聲控制技術(shù)被提出并發(fā)展起來。前饋控制和反饋控制是有源噪聲控制的兩種主要形式。反饋系統(tǒng)雖然不需要獲得參考信號,省去了參考傳感器,但穩(wěn)定性差,因此在實際的有源噪聲控制應(yīng)用中,人們更愿意選擇前饋控制系統(tǒng)。與此同時,前饋系統(tǒng)會產(chǎn)生聲反饋現(xiàn)象:次級聲源產(chǎn)生的次級聲信號傳至參考傳感器處。聲反饋現(xiàn)象的存在會降低系統(tǒng)性能,甚至造成控制不能收斂[3]。解決聲反饋的方法有采用傳感器陣列[4]、聲學(xué)結(jié)構(gòu)[5]、反饋中和算法[6]和IIR濾波器。
應(yīng)用前饋濾波器和反饋濾波器兩個FIR濾波器組成IIR濾波器能夠模擬存在聲反饋時聲場傳遞函數(shù)中的零點和極點,從而抵消聲反饋的影響。同時IIR濾波器能用更少的階數(shù)達到與FIR濾波器相同的性能,但是計算復(fù)雜度更高,穩(wěn)定性也更差。IIR濾波器分為兩種實現(xiàn)方法:輸出誤差法(OEM)和方程誤差法(EEM)。采用輸出誤差法時,誤差曲面不是標(biāo)準(zhǔn)二次型,會存在局部極小值,使收斂后反饋濾波器不能完全抵消聲反饋路徑。采用方程誤差法(EEM)的IIR濾波器沒有反饋運算,計算量更少,穩(wěn)定性更好,能收斂到最優(yōu)解[7]。
本文將采用方程誤差法的IIR濾波器引入到有源噪聲控制算法中,在FvLMS算法[8]的基礎(chǔ)上,提出EEM-FvLMS算法。在考慮聲反饋的情況下,應(yīng)用FvLMS算法和EEM-FvLMS算法進行有源噪聲控制仿真實驗。仿真結(jié)果表明,對于窄帶噪聲,EEM-Fv-LMS算法性能更優(yōu);對于風(fēng)機噪聲,F(xiàn)vLMS算法與EEM-FvLMS算法性能相當(dāng);對于FvLMS算法不能控制的誤差信號中的干擾信號,EEM-FvLMS算法也能有效控制。
IIR濾波LMS算法結(jié)構(gòu)如圖1所示。

圖1 IIR濾波LMS算法框圖
其中:x(n)是輸入信號;A(n)是前饋FIR濾波器;B(n)是反饋FIR濾波器;y(n)是輸出信號;d(n)是期望信號;e(n)是誤差信號。
如圖1所示,誤差信號為

輸出信號y(n)可以表示為

其中:a(n)=[a0(n),a1(n),…,aN-1(n)]T表示前饋濾波器權(quán)系數(shù)矢量;b(n)=[b1(n),b2(n),…,bM(n)]T表示反饋濾波器權(quán)系數(shù)矢量;N和M分別表示前饋和反饋濾波器的長度。
式(2)可以表示為

其中:

假設(shè)參考信號和期望信號均是平穩(wěn)各態(tài)遍歷過程,則均方誤差(mean squared error,MSE)為

LMS算法運用最陡下降法獲得權(quán)系數(shù)的遞推公式,時刻n的權(quán)系數(shù)w(n)矢量減去一個正比于梯度?()
n的量就是n+1時刻的權(quán)系數(shù)矢量,即


根據(jù)式(3)可得:

因為輸出信號y(n)與自身的過去值相關(guān),所以不等于零,誤差曲面不是標(biāo)準(zhǔn)二次型,存在局部極小值。
在方程誤差法的IIR濾波中,輸出信號表示為

從式(9)可以看出,當(dāng)前時刻的輸出信號不與過去時刻的輸出信號相關(guān),因此誤差曲面是標(biāo)準(zhǔn)的二次型,僅有一個全局極小值。
文獻[8]給出了FvLMS算法的詳細推導(dǎo)過程。
考慮聲反饋的前饋有源噪聲控制系統(tǒng)結(jié)構(gòu)如圖2所示。

圖2 存在聲反饋的有源噪聲控制系統(tǒng)
其中,sp(n)表示初級噪聲;P(z)表示初級噪聲到誤差傳感器的傳遞函數(shù);R(z)表示初級噪聲到參考傳感器的傳遞函數(shù);W(n)表示控制器;F(z)表示次級聲源到參考傳感器的傳遞函數(shù);S(z)表示次級聲源到誤差傳感器的傳遞函數(shù);
考慮聲反饋時,參考信號為

誤差信號為

將式(11)代入式(8),得到:

式(12)的計算過程相當(dāng)復(fù)雜,因為所有過去時刻的y值及其導(dǎo)數(shù)都要使用當(dāng)前時刻的濾波器權(quán)系數(shù)矢量來計算。假設(shè)濾波器的權(quán)系數(shù)更新足夠慢,便可以做如下近似計算:

則式(12)可以改寫為

其中:v(n)定義為

其中:

計算濾波v信號

濾波vf信號還可以表示為

其中:

則濾波器權(quán)矢量迭代公式為

其中:μ為步長因子。
圖3展示了FvLMS算法的結(jié)構(gòu)圖,表1展示了FvLMS算法的計算過程。其中,Lf和LS分別表示聲反饋路徑和次級路徑長度。

圖3 FvLMS算法框圖
在FvLMS算法中應(yīng)用方程誤差法,則v信號變?yōu)?/p>

在實際的有源噪聲控制實踐中,期望信號是無法測量的,但可以獲得期望信號的估計值[9]

所以在EEM-FvLMS算法中,IIR濾波器的輸入信號為


表1 FvLMS算法計算簡表
EEM-FvLMS算法結(jié)構(gòu)如圖4所示,計算過程見表2。
對比兩種算法的計算過程,可以發(fā)現(xiàn)EEM-FVLMS算法計算量更少。
由式(24)可知,EEM-FvLMS算法中,IIR濾波器的輸入信號不僅包含參考信號,而且與誤差信號相關(guān),所以可以預(yù)料EEM-FvLMS算法可以消除誤差信號中與參考信號不相關(guān)的噪聲。這在實際的有源噪聲控制實踐中是有利的,因為誤差傳感器會存在測量誤差,誤差傳感器處存在干擾噪聲。

圖4 EEM-FvLMS算法框圖
由式(10)可知,存在聲反饋時,參考信號與IIR濾波器輸出信號有關(guān),進而與IIR濾波器權(quán)矢量有關(guān),所以嚴(yán)格意義上EEM-FvLMS算法的誤差曲面也會存在局部極小值。但比較兩種算法中的信號u,可以發(fā)現(xiàn):EEM-FvLMS算法中信號u與IIR濾波器權(quán)矢量的關(guān)聯(lián)性更低,因此誤差曲面更接近標(biāo)準(zhǔn)二次型,全局收斂性更好。
在MATLAB 中進行基于FvLMS算法與EEMFvLMS算法的有源噪聲控制仿真實驗。仿真實驗采用文獻[8]中所用傳遞函數(shù):



表2 EEM-FvLMS算法計算過程表
實驗中次級通道和反饋通道建模均采用離線建模方式,F(xiàn)vLMS算法和EEM-FvLMS算法中前饋濾波器和反饋濾波器長度分別為70和30,步長因子統(tǒng)一為0.001。
(1)實驗一
初級噪聲為幅值均為1、頻率分別為200 Hz的正弦信號并疊加信噪比為30 dB的白噪聲。頻域控制結(jié)果如圖5所示。

圖5 實驗一控制結(jié)果
由圖5可知,F(xiàn)vLMS算法在200 Hz處取得22 dB左右的降噪量,EEM-FvLMS算法在200 Hz處取得32 dB左右的降噪量。因此,針對窄帶噪聲EEMFVLMS算法的性能更優(yōu)。
(2)實驗二
初級噪聲為消聲室中采集的風(fēng)機噪聲,如圖6所示。頻域控制結(jié)果如圖7所示,截取了主要噪聲頻率所在的部分頻帶。
由圖7可知FvLMS算法和EEM-FvLMS算法在90 Hz 和135 Hz處均取得了10 dB左右的降噪量。因此,針對寬帶噪聲,F(xiàn)vLMS算法和EEM-FvLMS算法具有相當(dāng)?shù)男阅?,但由前面的分析可知EEM-Fv-LMS算法的計算量更少,這在多通道控制中是非常重要的。

圖6 風(fēng)機噪聲信號

圖7 實驗二控制結(jié)果
(3)實驗三
實驗三中分析當(dāng)誤差信號存在干擾噪聲時Fv-LMS算法和EEM-FvLMS算法的性能。在文獻[9]中用窄帶的變壓器噪聲作為誤差傳感器處干擾噪聲。變壓器、空調(diào)和旋轉(zhuǎn)機械等生活中常見的噪聲源都具有窄帶特性。因此將窄帶噪聲作為干擾噪聲是可行的。
實驗三中初級噪聲是幅值為1、頻率為500 Hz的正弦信號并疊加信噪比為20 dB的白噪聲;誤差信號中加入幅值為1、頻率為360 Hz的正弦信號并疊加信噪比為30 dB的白噪聲的干擾信號。控制結(jié)果如圖8所示。

圖8 實驗三控制結(jié)果
由圖8可知,F(xiàn)vLMS算法僅可以消除初級噪聲,500 Hz處的降噪量在20 dB左右;EEM-FvLMS算法不僅可以消除初級噪聲,而且可以消除誤差信號中的窄帶干擾噪聲,在360 Hz處的降噪量為20 dB左右,在500 Hz處的降噪量為30 dB左右。
在考慮聲反饋的情況下,為解決采用OEM的FvLMS算法全局收斂性差的缺陷,提出了沒有反饋運算、全局收斂性更好、運算量更小的EMM-FvLMS算法。應(yīng)用FvLMS算法和EEM-FvLMS算法進行有源噪聲控制仿真實驗。仿真結(jié)果表明:針對窄帶噪聲,EEM-FvLMS算法性能更優(yōu);針對風(fēng)機噪聲,F(xiàn)vLMS算法與EEM-FvLMS算法性能相當(dāng);對于Fv-LMS算法所不能控制的誤差信號中的干擾信號,EEM-FvLMS算法也能有效控制。雖然針對寬帶噪聲EEM-FvLMS算法的降噪性能并無優(yōu)勢,但計算量更小,這在多通道控制中是非常重要的。綜上,EEM-FvLMS算法性能更優(yōu)。