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