所有的聲音均是由一系列不同頻率的聲信號混合而成,如果可以人為地生成一種聲音,其頻率與所要消除的噪聲完全一樣,只是相位與之相反就可以將這噪聲完全抵消掉。主動噪聲控制(ANC) 就是在設備中加入了對噪聲分析的電路,并通過控制器快速運算分析,產生可以抵消外界噪聲的人為聲信號,通過揚聲器將相反相位的信號播放后抵消目標噪聲。ANC 可用于多種應用,包括個人聽力設備[1-2],管道和室內聲學增強,發動機排氣噪聲抑制以及改善車輛外殼風噪,飛機艙和振動機器中的聲學[3-4]。隨著現代工業的飛速發展,大部分工業設備的功率越來越大,轉速越來越快,噪聲危害也日益突出。噪聲不僅影響產品質量、操作精度、縮短產品壽命、危及安全性,且污染環境、影響人生健康。因此,掌握噪聲控制技術是工業發展面臨的重大課題。
在實際研究應用中,濾波x 最小均方算法(filteredx LMS, FxLMS)[5] 結構簡單、算法穩定,所以FxLMS算法在ANC 控制器中使用最為廣泛;還有改進而成的歸一化LMS[6],其穩態誤差可以降低到很小,但是收斂速度會受到很大影響;基于Sigmoid 函數的SVSLMS[7]算法也被廣泛應用,其收斂速度較快但是穩態誤差又達不到要求。此類變步長控制算法[8-11] 的主要問題在于算法中收斂步長多數是反饋誤差信號的函數。經濾波器迭代計算后,該信號收斂不為零,會致使系統出現非零失調問題,則容易導致系統進入穩態后的誤差仍然較大,且不再收斂。因此通過構建前饋信號的相關函數為參考的變步長主動噪聲控制系統,來提高低頻噪聲降噪效果成為了可行的方向。
在自由場中,單通道主動噪聲控制系統產生的“消音區”的直徑約為控制聲波波長的1/10[12],也就是說常規單通道主動控制系統的有效范圍只有直徑二三十厘米,這對于實際應用來說是遠遠不夠的。因此大區域噪聲主動控制需要使用多通道控制算法來實現[13-17],為此本文提出一種基于可變步長的多通道主動控制算法,并利用仿真實驗驗證其可行性。
1 控制算法
1.1 可變步長
當采用定收斂步長時,系統的收斂精度和收斂時間呈現出對立的情況,即收斂步長設置較小時,收斂精度更高,但是收斂時間卻大大延長;反之,收斂步長設置較大時,收斂時間減小,但是收斂精度大為降低。因此,
為了消除定收斂步長FxLMS 的局限性,考慮采用可變收斂步長FxLMS 算法。
基于Sigmiod 函數的可變收斂步長算法(SVSLMS) 中
由式(1) 知,可變收斂步長μ(n) 是e(n) 的Sigmiod函數。初始收斂時,誤差較大則收斂因子取值也較大;隨著誤差的逐漸變小,則收斂因子取值也隨之變小。從而同時滿足了自適應濾波的準則:較快的收斂速度、跟蹤速度以及較小的穩態誤差。但此式計算時較為繁瑣,同時誤差e(n) 在0 附近的穩定性不夠理想,易引起非零失調。歸一化LMS 算法中可變步長用參考輸入信號的功率值進行歸一化處理,從而得到與參考輸入信號功率有關的可變收斂步長μ。可變收斂因子函數表示為:
由于x(n) 的歐式平方范數的硬件實現較為復雜,且參考輸入信號只取當前瞬時值,x(n) 的歐式平方范數即等于x(n) 的絕對值平方,即改進為:
其中,|x(n)|2 是第n 次迭代中的瞬時參考輸入信號的平方值。由式(1)、式(3) 可知,將可變收斂因子的計算中由原求解輸入向量的自相關矩陣的運算,變換為標量的平方值運算,可提高收斂性,故令:
為改善非零失調的問題,將可變步長的輸入信號改為系統參考信號的變化量,可得
1.2 多通道可變步長
MIMO 濾波-x LMS 算法是應用最為廣泛的噪聲控制算法,系統框圖如圖1 所示。設系統中有I 個參考傳感器,J 個次級揚聲器,K 個誤差傳感器。IJ 個自適應濾波器采用橫向濾波器,其長度為L,濾波器權系數采用矢量形式統一表示為W(z)。Hp(z) 代表IK 個初級通路的傳遞函數,Hs(z) 代表JK 個次級通路的傳遞函數,Hs`(z) 是次級通路傳遞函數的估計值。初級通路和次級通路等效為FIR 濾波器,假設其長度分別為Lp 和Ls。
設xi(n) 為第i 個參考傳感器在第n 時刻的輸入信號,稱為第i 個參考信號,即為xi(n)=[xi(n), xi(n-1),…,xi(n-L+1)]T;yj(n) 為第j 個控制器在第n 時刻的輸出信號, 表示為y(n) = [y1(n), y2(n),…, yJ(n)]T;dk(n) 為第k 個誤差傳感器處第n 時刻的期望信號,表示為d(n) = [d1(n), d2(n),…, dK(n)]T;ek(n) 為該處第n 時刻的誤差項信號表示為e(n) = [e1(n), e2(n),…, eK(n)]T。
則第j 個揚聲器的輸出信號即為sj(n) = yj(n)×Hs(n)。誤差信號矢量可寫成
式中:Hs(n) 為K×J 階次級通路脈沖響應矩陣,第(k,j)元素為hskj(n);r(n) 為J×KLs 階濾波 -x 信號矩陣,其(j,k) 元素為
設多通道自適應主動控制系統的目標函數為
與常用FxLMS 算法類似,利用最陡下降法原理,可以推導出控制器權系數迭代公式為
w(n +1) = w(n)?2μr(n)e(n) (10)
整個算法表達式總結如式(11)~(13) 所示
第k 個誤差傳感器接收到的信號為
其中μ 為收斂步長,可由式(5) 得到。則此算法命名為可變步長多通道濾波x 最小均方算法(VM-FxLMS)。
2 仿真實驗
2.1 單通道算法性能
在MATLAB 中建立ANC 系統模型,信號模擬排風扇噪聲。風扇噪聲由旋轉噪聲和絮流噪聲組成,旋轉噪聲用正弦信號代表,頻率為500 Hz 左右,絮流噪聲用白噪聲代表,截至頻率為4 kHz。在系統中加入低通濾波器,將高于4 kHz 的噪聲濾除。
下面將分別使用FxLMS 算法、歸一化NLMS 算法、SVSLMS 算法和本文提出的單VM-FxLMS 算法針對此模擬噪聲進行測試對比。三種算法初始收斂步長μ 均設為0.01。仿真測試結果如圖2 所示。
初始收斂狀態時,從圖2 a) 和b) 可看出,可變步長算法的收斂速度比定步長算法有著明顯優勢。本文提出的單VM-FxLMS 算法的收斂速度很快,且在其他算法趨于穩定時本算法還能夠進一步收斂。在穩態階段,從圖2 c) 中可看出,單VM-FxLMS 算法穩態誤差最低,且平穩無明顯波動。從此仿真結果可看出,本文所提出的算法優于傳統的定步長FxLMS 算法和一些其他的變步長算法。
2.2 多通道區域降噪實現
在MATLAB 中模擬4 m×4 m 大小的區域,在區域內設置多個噪聲源,噪聲成分同2.1 節所設噪聲源且增加更多的干擾。初始收斂步長μ 均設為0.01,多通道ANC 系統設置為16 通道。在此區域降噪前和降噪后的噪聲仿真圖如圖3 所示。
如圖3 a) 所示,此區域中平均噪聲約為50 dB,最高點噪聲約為60 dB。降噪后的仿真圖如圖3 b) 所示,除個別點之外,整個區域的噪聲有非常明顯的降低,平均剩余噪聲約為25 dB。降噪后相比于降噪前,噪聲降低了約25 dB,個別區域是有噪聲升高的現象。此仿真實驗表明,本文提出的多通道ANC 系統對區域降噪具有非常好的控制些效果。
3 結語
本文提出的基于可變步長的多通道噪聲主動控制方法以參考信號的變化量作為可變步長函數的輸入信號,能夠改善算法非零失調的狀況,對比于其他常用的控制算法,在收斂速度與收斂效果上有明顯優勢。然后將可變步長算法擴展至多通道主動控制算法,對于大區域的噪聲控制的仿真當中,多通道ANC 系統表現出了非常好的降噪效果。同時,多通道ANC 系統的計算量是一個需要進一步研究的重點,這也是未來研究工作的重點。
編輯:hfy
-
控制器
+關注
關注
112文章
16448瀏覽量
179475 -
濾波器
+關注
關注
161文章
7862瀏覽量
178940 -
揚聲器
+關注
關注
29文章
1319瀏覽量
63258 -
ANC
+關注
關注
0文章
48瀏覽量
18706
發布評論請先 登錄
相關推薦
評論