高永升,李忠利,楊淑君,陳修魁,劉小鋒
(河南科技大學車輛與交通工程學院,河南洛陽 471000)
有源消噪由P. Leug提出,其原理是發(fā)聲器發(fā)出與原噪聲頻率相同、振幅相等、相位相反的抵消噪聲,利用聲波的相消性來消除或削弱原噪聲。20世紀80年代以前,有源噪聲控制系統(tǒng)的控制電路使用模擬電路,這種控制電路無法隨噪聲和噪聲聲場變化而改變。因此,需要一種能自動跟隨初級噪聲統(tǒng)計特性、控制器可時變的自適應控制系統(tǒng)。隨著自適應濾波理論發(fā)展和DSP芯片技術(shù)成熟,有源噪聲控制逐漸發(fā)展為自適應有源噪聲控制。噪聲主動控制包括前饋控制和反饋控制。反饋控制不需要參考信號,結(jié)構(gòu)簡單,但系統(tǒng)容易失穩(wěn);前饋控制需要精準采集參考信號,系統(tǒng)降噪量、穩(wěn)定性較好。常用的前饋式自適應控制系統(tǒng)核心部分由Fx-LMS算法和FIR濾波器組成,但是當存在聲反饋時,控制系統(tǒng)傳遞函數(shù)引入了新的極點,F(xiàn)xLMS系統(tǒng)只能通過非常長的濾波器長度來模擬系統(tǒng)的極點,增加了系統(tǒng)的運算量,收斂速度變慢,實際應用降噪效果也不理想。因此需要一種運算量小并且降噪能力強的系統(tǒng)[1-3]。
基于以上背景,提出一種基于Fu-LMS算法的控制系統(tǒng)。本文首先對系統(tǒng)模型和濾波器結(jié)構(gòu)進行分析,推導出Fu-LMS算法,利用MATLAB和Simulink設(shè)計系統(tǒng)模型、進行仿真,最后搭建平臺實驗驗證可行性。結(jié)果表明,在聲反饋下,系統(tǒng)降噪效果良好,從而驗證了設(shè)計的控制系統(tǒng)的可行性和有效性。
前饋式噪聲控制系統(tǒng)的基本結(jié)構(gòu)如圖1所示。p(t)為初級信號,x(t)為參考傳感器產(chǎn)生的參考信號,y(t)為發(fā)聲器產(chǎn)生的次級信號,e(t)為誤差傳感器接收的誤差信號。系統(tǒng)的整個工作流程為:噪聲源產(chǎn)生初級信號p(t),參考傳感器接收初級信號后生成參考信號x(t),參考信號作為控制器的輸入。控制器根據(jù)算法規(guī)則計算出次級信號y(t)輸出后經(jīng)功率放大器驅(qū)動次級聲源。誤差傳感器同時接收初級信號和次級信號,兩者疊加后形成誤差信號e(t),誤差信號輸入到控制器中,自適應算法不斷調(diào)整控制器權(quán)系數(shù),從而改變次級信號強度,直至系統(tǒng)達到穩(wěn)定狀態(tài)[4-7]??刂破髯鳛橹鲃涌刂葡到y(tǒng)的核心部分,包含控制算法和濾波器兩個內(nèi)容。
圖1 前饋控制系統(tǒng)示意圖
隨著數(shù)字處理技術(shù)發(fā)展,噪聲主動控制系統(tǒng)多采用DSP芯片,這樣系統(tǒng)內(nèi)部之間傳遞的多為離散信號。因此為了分析問題方便,根據(jù)圖1設(shè)計主動控制系統(tǒng)時,可以將系統(tǒng)模型轉(zhuǎn)化離散域形式,如圖2所示。
圖2 前饋式噪聲控制系統(tǒng)離散域框圖
根據(jù)圖2,推導控制器傳遞函數(shù)。為了簡化分析,假設(shè)hr(z)=1。則圖2z域中的誤差信號為:
e(z)=hp(z)p(z)+hs(z)y(z)
(1)
(2)
(3)
如果參考信號是嚴格平穩(wěn)的,hp(z)、hs(z)和hf(z)是線性是不變的,則自適應過程充分收斂達到理想狀態(tài)后將使e(z)=0。由式(3)可以求出控制器傳遞函數(shù)為
(4)
由式(4)可以看到,系統(tǒng)傳遞函數(shù)引入新的極點[8-12]。
基于Fx-LMS算法的主動控制系統(tǒng)是一種比較經(jīng)典的前饋式控制系統(tǒng),該系統(tǒng)采用FIR濾波器。這種濾波器傳遞函數(shù)只有一組可變的零點,因此對于存在聲反饋的系統(tǒng),只能利用很長的濾波器系數(shù)來模擬實際的極點位置,這導致系統(tǒng)運算量增大,信號延遲也高。而無限沖激響應(IIR)濾波器傳遞函數(shù)包括零點和極點兩組可調(diào)因素,在同樣的濾波器設(shè)計指標下,IIR濾波器所要求的階數(shù)可能只有FIR濾波器的1/5~1/10,因此IIR濾波器可用較低的階數(shù)來實現(xiàn)較高的選擇性[13-16]。通過設(shè)計IIR濾波器結(jié)構(gòu),實現(xiàn)對系統(tǒng)的極點匹配,這樣不僅降低系統(tǒng)運算量,并且精確性更高。實現(xiàn)IIR濾波的方式很多,這里采用2個FIR濾波器相結(jié)合的方式實現(xiàn)IIR濾波器功能:前饋濾波器W1和反饋濾波器W2。濾波器結(jié)構(gòu)如圖3所示。
圖3 IIR濾波器結(jié)構(gòu)圖
噪聲主動控制的核心是自適應控制算法。當輸入到控制器的信號發(fā)生變化時,控制器會根據(jù)既定的控制算法實時調(diào)整控制器的輸出參數(shù),從而實現(xiàn)系統(tǒng)性能最優(yōu)。選擇IIR濾波器作為主動控制系統(tǒng)濾波器,根據(jù)圖2設(shè)計主動降噪控制系統(tǒng)結(jié)構(gòu),結(jié)構(gòu)圖如圖4所示。根據(jù)設(shè)計的結(jié)構(gòu)圖推算出所需要的算法結(jié)構(gòu)。
圖4 基于Fu-LMS算法主動降噪控制系統(tǒng)結(jié)構(gòu)圖
假設(shè)前饋和反饋濾波器長度分別為L和M,則輸出信號為
y(n)=AT(n)X(n)+BT(n)Y(n-1)
(5)
式中:A(n)為W1濾波器的權(quán)值;B(n)為W2濾波器的權(quán)值;X(n)為參考矢量;Y(n-1)為濾波器輸出矢量。
A(n)=[a0(n)a1(n)a2(n)…aL-1(n)]T
(6)
B(n)=[b0(n)b1(n)b2(n)…bM(n)]T
(7)
X(n)=[x(n)x(n-1) …x(n-L+1)]T
(8)
Y(n-1)=[y(n-1)y(n-2)y(n-3)…y(n-M)]T
(9)
于是,誤差信號可以表示為
e(n)=d(n)-hp(n)y(n)
(10)
將IIR濾波器的2個濾波器權(quán)矢量合并為一個統(tǒng)一的權(quán)矢量:
(11)
參考信號向量為
(12)
則n時刻的輸出為
y(n)=WT(n)U(n)
(13)
此時的誤差信號可以表示為
e(n)=d(n)-hp(n)WT(n)U(n)
(14)
對誤差信號的平方取平均,有:
j(n)=E[e2(n)]
(15)
按最陡下降法原理,根據(jù)隨機梯度公式推出權(quán)重的遞推公式:
W(n+1)=W(n)-2μe(n)r(n)
(16)
其中:
r(n)=U(n)*hs(n)
(17)
式中:*代表卷積運算;hs(n)為次級通道脈沖響應;r(n)為濾波-U信號矢量。
根據(jù)圖4的系統(tǒng)框圖,在Simulink里搭建Fu-LMS控制系統(tǒng)仿真模型,如圖5所示。
圖5 Fu-LMS仿真模型
基于Fx-LMS算法的控制系統(tǒng)設(shè)計過程參考文獻[2],本文在Simulink里搭建Fx-LMS控制系統(tǒng)模型,如圖6所示。
圖6 Fx-LMS仿真模型
搭建的模型除了需要選擇合適的算法和濾波器結(jié)構(gòu),還需要建立精確聲通道模型,通道模型精確性對系統(tǒng)的降噪效果有很大影響。其中主要包括初級通道、次級通道、聲反饋通道。初級通道是:噪聲源與參考傳感器之間的聲場、參考傳感器、AD、前置放大器、抗混淆濾波;次級通路是:次級聲源、次級聲源與誤差傳感器之間的聲場、DA、平滑濾波、功率放大器;次級聲反饋通路是:電聲轉(zhuǎn)換、次級聲源到參考傳感器的聲場。選擇各聲通道傳遞函數(shù)分別為:
初級通道傳遞函數(shù):
p(z)=0.05-0.001z-1+0.001z-2+0.8z-3+0.6z-4+
0.2z-5-0.5z-6-0.1z-7+0.4z-8-0.05z-9
(18)
次級通道傳遞函數(shù)
h(z)=0.005-0.01z-1+0.95z-2+0.01z-3-0.9z-4
(19)
次級聲反饋通道傳遞函數(shù):
f(z)=0.6z-1
(20)
為了便于分析觀察,初級噪聲采用白噪聲與多個正弦信號的疊加信號,初級聲源頻譜圖如圖7所示。
設(shè)置Fu-LMS算法前饋、反饋濾波器階數(shù)都取為40,前向步長0.000 8、反饋步長0.000 5。Fx-LMS算法濾波器階數(shù)取為80,步長0.000 1。仿真時間5 s。結(jié)果如圖8、圖9所示。
從8(a)可以看到,F(xiàn)u-LMS實現(xiàn)了15~20 dB的降噪,而Fx-LMS只有8~10 dB的降噪,說明設(shè)計的系統(tǒng)理論層面上是可行的。對比圖7(b)、圖8(b)、圖9(b)看到,2個系統(tǒng)對低頻噪聲信號降噪幅度更大,說明主動降噪系統(tǒng)對于低頻噪聲有很好降噪效果,彌補了傳統(tǒng)被動降噪對于低頻噪聲降噪效果不理想的短板。
(a)參考信號聲壓級
(a)誤差信號聲壓級
(a)誤差信號聲壓級
為了驗證設(shè)計的主動降噪系統(tǒng)實際使用效果,搭建實驗平臺進行試驗,實驗平臺選擇在常規(guī)室內(nèi)進行,如圖10所示。
圖10 主動降噪系統(tǒng)試驗平臺
整個系統(tǒng)的硬件部分主要分為運算部分和被控件部分。
控制器為系統(tǒng)的運算部分,采用STM32F4系列單片機,其特性如下:主頻為168 MHz,GPIO口有112個,ADC為24通道,采樣時間最快為0.42 μs,DAC有2個通道,功耗為238 μA/MHz。這款單片機采用全新的CortexTM-M4內(nèi)核,集成了單周期DSP指令和FPU(floating point unit,浮點單元),對乘加運算的速度非??欤m合數(shù)字運算處理。
被控件部分主要為揚聲器1、揚聲器2、拾音器1、拾音器2。
為了使實驗平臺降噪效果跟仿真模型降噪效果有直觀對比,試驗平臺的初級噪聲采用仿真所用噪聲。揚聲器1為初級聲源,產(chǎn)生初級噪聲。揚聲器2為次級聲源,受控制器控制發(fā)出抵消新聲波。
拾音器利用咪頭采集聲音信號并經(jīng)過放大后輸出,輸出模擬信號。經(jīng)過AD轉(zhuǎn)換器后,模擬信號轉(zhuǎn)換成數(shù)字信號輸入到控制器。拾音器1采集傳遞到此處的聲音作為參考信號輸入到控制器內(nèi)。拾音器2采集此處的聲音作為誤差信號輸入到控制器。
分貝儀和Autotest數(shù)據(jù)采集器能夠?qū)⑹耙羝?處的誤差信號采集輸入到計算機,為后期對比提供數(shù)據(jù)支持。整個試驗的控制思路可以參考第1節(jié)內(nèi)容。
系統(tǒng)的軟件部分主要為在KEIL_5開發(fā)環(huán)境下編寫2個主動降噪控制系統(tǒng)的C語言程序,不斷進行調(diào)試確定控制算法無誤,然后將程序下載到控制器內(nèi)。
分別進行兩個主動降噪系統(tǒng)平臺實驗,同時利用分貝儀和數(shù)據(jù)采集器將測得的誤差信號存儲在計算機中。利用MATLAB處理采集的數(shù)據(jù),畫出誤差信號聲壓級隨時間變化的二維坐標圖,如圖11所示。
(a)基于Fu-LMS算法的系統(tǒng)
對比圖11、圖8(a)、圖9(a)看到,基于Fu-LMS算法的系統(tǒng)平臺實驗降噪效果比基于Fx-LMS算法的系統(tǒng)多了5 dB左右,但比模型仿真結(jié)果低了2~3 dB。經(jīng)過分析原因提出了一些改進措施:建立的聲通道模型可以再精準些;控制器可以采用專門的數(shù)字信號處理芯片和AD/DA轉(zhuǎn)換芯片相結(jié)合的方式。但是綜合來看,本次提出的噪聲主動控制系統(tǒng)在聲反饋環(huán)境中有著理想降噪的效果。
本文首先研究了存在聲反饋的前饋式噪聲主動控制系統(tǒng)結(jié)構(gòu)及其控制算法,在Simulink中搭建了控制系統(tǒng)模型,仿真結(jié)果顯示系統(tǒng)降噪效果良好。最后,搭建控制系統(tǒng)實驗平臺,分別對2種系統(tǒng)進行實驗。試驗結(jié)果表明,基于Fu-LMS算法的主動控制系統(tǒng)在聲反饋下的降噪效果有很好的優(yōu)勢。下一步將對系統(tǒng)做出改進調(diào)整并且應用到實際場合中。