TMS320VC5509實現(xiàn)有源噪聲控制系統(tǒng)
介紹了有源噪聲控制技術(shù)的理論基礎(chǔ)和算法,以自適應(yīng)有源噪聲前饋控制系統(tǒng)為研究核心,選用TMS320VC5509 DSP作為控制器,給出了系統(tǒng)的硬件解決方案,并用C語言編程在硬件系統(tǒng)上實現(xiàn)了基于FX-LMS算法的有源噪聲實時控制。對800 Hz單頻噪聲的實驗結(jié)果表明系統(tǒng)可降低噪聲幅度9 dB。
引言
有源噪聲控制(Active Noise Control,ANC)是噪聲控制領(lǐng)域近年發(fā)展起來的新技術(shù),它彌補(bǔ)了傳統(tǒng)無源方法在控制低頻噪聲上的不足,特別適合低頻噪聲的控制。有源噪聲控制器的傳遞函數(shù)必須是時變的,也就是要求控制器是自適應(yīng)的。DSP的快速發(fā)展使得這一要求成為可能。
在研究中以美國TI公司的TMS320VC5509(以下簡稱VC5509)DSP芯片為核心,采用FX-LMS(Filtered-X LMS)算法,設(shè)計并實現(xiàn)了單通道前饋結(jié)構(gòu)有源噪聲控制系統(tǒng)。實驗結(jié)果表明該系統(tǒng)對低頻噪聲有良好的降噪效果。
1 系統(tǒng)模型和算法
1.1 系統(tǒng)模型
前饋結(jié)構(gòu)有源噪聲控制系統(tǒng)以初級傳感器采集的噪聲參考信號和誤差傳感器采集的誤差信號作為控制器的輸入,通過自適應(yīng)控制器自我調(diào)整參數(shù),控制次級聲源發(fā)出的反噪聲的幅度與相位,去抵消初級噪聲,其系統(tǒng)模型如圖1所示。
如果不考慮次級聲源向初級傳感器的聲反饋,則圖1系統(tǒng)模型圖可等效為圖2所示的系統(tǒng)原理框圖。
圖2中,hr(n)為參考通道的傳遞函數(shù),hs(n)為次級通路的傳遞函數(shù),hp(n)為初級通道的傳遞函數(shù),p(n)為擬抵消的噪聲源,d(n)為誤差傳感器接收到的噪聲信號,W(z)為自適應(yīng)濾波器,x(n)為輸入濾波器的參考噪聲信號,y(n)為濾波器的輸出反信號,s(n)為次級傳感器接收到的反噪聲信號,e(n)為噪聲抵消后所得到的殘余誤差信號。自適應(yīng)算法根據(jù)參考信號x(n)和誤差信號e(n)自動調(diào)節(jié)濾波器的權(quán)系數(shù),從而調(diào)整次級聲源輸出信號強(qiáng)度,以滿足某種目標(biāo)準(zhǔn)則。
1.2 有源消噪算法
綜合考慮系統(tǒng)的穩(wěn)定性、運算量和收斂速度,研究中采用FX-LMS算法。由圖2所示原理框圖可推出該算法的運算全過程如下:
式中:L為自適應(yīng)濾波器的階數(shù);uw為自適應(yīng)濾波器的步長因子。[!--empirenews.page--]1.3 次級通路建模
由上述公式(4)可以看出,參考信號x(n)需由次級通路傳遞函數(shù)hs(n)進(jìn)行濾波,所以在有源噪聲控制算法迭代之前,首先必須得到次級通路的傳遞函數(shù)。
估計次級通路傳遞函數(shù)的方法稱為次級通路建模,一般有自適應(yīng)離線建模和自適應(yīng)在線建模兩種方法。自適應(yīng)在線建模要求在有源噪聲控制系統(tǒng)運行的同時,對次級通路響應(yīng)進(jìn)行實時建模,對系統(tǒng)的運算能力要求較高。如果在有源噪聲控制的整個過程中,次級通路的系統(tǒng)特性保持不變或基本不變,就可以采用自適應(yīng)離線建模方法。本系統(tǒng)中即采用自適應(yīng)離線建模,其框圖如圖3所示。
首先由DSP產(chǎn)生一個隨機(jī)白噪聲序列,同時送入次級聲源和自適應(yīng)建模濾波器C(z),誤差傳感器接收的信號e(n)作為建模濾波器的期望信號,濾波器的輸出信號z(n)與期望信號e(n)相減抵消后,輸入建模濾波器,自動調(diào)節(jié)濾波器權(quán)系數(shù)。次級通路建模采用LMS算法,其迭代運算公式如下:
式中:uc為次級通路建模濾波器的步長因子;N為次級通路建模濾波器的階數(shù)。
實際應(yīng)用中,應(yīng)先關(guān)閉外部噪聲源,采用DSP隨機(jī)產(chǎn)生的白噪聲作為次級通路激勵源。DSP先執(zhí)行次級通路濾波器的迭代,待次級通路LMS濾波器穩(wěn)定后,將次級通路濾波器系數(shù)固定不變,代入上述的FXLMS濾波器進(jìn)行有源消噪迭代運算。
2 系統(tǒng)硬件設(shè)計
本系統(tǒng)為單通道前饋結(jié)構(gòu),以高速DSP芯片TMS320VC5509為核心,采用兩片16位高精度模數(shù)轉(zhuǎn)換器件AD976A實現(xiàn)兩路模擬信號的同步采集,并選用CPLD器件EPM7192SQC160-10設(shè)計鎖存器,以串行D/A器件AD50C完成輸出反噪聲信號的D/A轉(zhuǎn)換,選用16 Mb FLASH閃存芯片作為程序存儲器,并在片外擴(kuò)充一片64 Mb SDRAM作為外部數(shù)據(jù)空間。系統(tǒng)硬件框圖如圖4所示。
設(shè)計選用的VC5509DSP芯片最高支持144 MHz的時鐘頻率,具有高達(dá)288 MIPS(每秒百萬條指令數(shù))的處理能力,是一款具有較高性價比的低功耗DSP芯片。音頻接口采用的AD976A為一款高精度、高速率的并口A/D轉(zhuǎn)換器件,抽樣速率可從8~200 KSPS,抽樣速率的改變可通過改變輸入時鐘來實現(xiàn),從而可實現(xiàn)在不改變硬件的情況下通過軟件設(shè)置進(jìn)行擴(kuò)展。CPLD通過編程給A/D器件提供8 kHz采樣頻率,并設(shè)計采樣保持鎖存器。經(jīng)由DSP的片選引腳CE2和地址引腳A1尋址,兩個A/D轉(zhuǎn)換器的鎖存器地址分別設(shè)為0X400000和0X400001。CPLD與DSP連接圖如圖5所示。
AD50C為TI公司生產(chǎn)的16位可編程串行音頻接口芯片,可通過DSP編程控制收發(fā)增益和采樣頻率。其串口與DSP的同步串口連接如圖6所示。
系統(tǒng)信號流程如下:AD976A對噪聲參考信號x(n)和誤差信號e(n)進(jìn)行8 000次/s采樣,每次采樣后由AD976A1的“BUSY”引腳觸發(fā)DSP的外部中斷4 INT4,在中斷服務(wù)程序中DSP依據(jù)地址將CPLD鎖存器中的兩個數(shù)據(jù)分別讀至內(nèi)部存儲器DARAM中,進(jìn)行算法運算。算出反噪聲序列y(n)后,在INT4中斷服務(wù)程序中將其送至DSP串口MCBSP0,再通過AD50C數(shù)模變換后,送往揚聲器發(fā)出反噪聲。[!--empirenews.page--]3 系統(tǒng)軟件設(shè)計
本系統(tǒng)軟件主要包括三個部分:系統(tǒng)底層通信程序、次級通路建模子程序和有源噪聲控制子程序。底層通信程序包括兩路傳感器信號同步采集程序和計算得到的反噪聲信號輸出程序。系統(tǒng)程序流程如圖7所示。傳感器采集信號的存儲、反噪聲信號的發(fā)送以及自適應(yīng)濾波算法運算都在INT4中斷服務(wù)程序中進(jìn)行。經(jīng)過實驗,發(fā)現(xiàn)次級通路建模自適應(yīng)濾波器在迭代30 000次后,即可進(jìn)入穩(wěn)定狀態(tài),故設(shè)置前30 000次中斷用于次級通路建模,待次級通路LMS濾波器穩(wěn)定后即將其系數(shù)固定不變,之后的中斷服務(wù)程序都進(jìn)入有源噪聲控制子程序,進(jìn)行FX-LMS濾波器系數(shù)的迭代,并產(chǎn)生反噪聲信號y(n)。
4 實驗結(jié)果
實驗采用800 Hz單頻正弦信號作為待消除的噪聲信號。根據(jù)反復(fù)試驗所得經(jīng)驗值,次級通路濾波器階數(shù)取32,步長取0.125;有源消噪濾波器階數(shù)取64,步長取0.005。最終實驗結(jié)果如圖8所示。由波形圖可以看出,有源消噪系統(tǒng)運行后,誤差傳感器接收的信號幅度明顯降低,系統(tǒng)取得了良好的降噪效果。通過計算可知該系統(tǒng)對800 Hz單頻噪聲的幅度可降低9 dB。實驗時,人耳在誤差傳感器處進(jìn)行監(jiān)聽,能夠明顯感受到噪聲的抑制效果。當(dāng)初級聲源噪聲特性發(fā)生改變時,系統(tǒng)能夠?qū)崟r地做出響應(yīng),并具有良好的穩(wěn)定性。
5 結(jié)語
本文設(shè)計并實現(xiàn)了一個有源噪聲控制系統(tǒng),下一步的研究工作是在該硬件系統(tǒng)中編程實現(xiàn)各種不同的自適應(yīng)控制算法,通過實驗來比較各種算法的性能,并力爭將有源消噪由低頻擴(kuò)展到高頻,由窄帶擴(kuò)展到寬帶,以推進(jìn)有源噪聲控制的實際工程應(yīng)用。