語(yǔ)音通信中的自適應噪聲對消系統設計
1噪聲對消原理
自適應噪聲對消系統的原理如圖1所示。他有兩個(gè)輸入:原始輸入和參考輸入,參考輸入為噪聲源ν1(n),原始輸入為受噪聲污染的信號x(n)=s(n)+ν0(n)。當噪聲成分ν0(n)與信號s(n)不相關(guān)、與噪聲源ν1(n)相關(guān)時(shí),自適應濾波器AF可以根據誤差信號ej來(lái)調整自身濾波器的系數,使其輸出yj趨于原始輸入中的ν0(n),從而使誤差信號0趨于信號s(n)。
最小均方(LMS)算法以其算法簡(jiǎn)單、運算量小、實(shí)現容易等優(yōu)點(diǎn)在眾多自適應信號處理算法中占有舉足輕重的地位[3,4],本文的系統設計采用遞推方法實(shí)現LMS算法。
自適應濾波器AF在j時(shí)刻的輸出表示為:
這里的Wj為j時(shí)刻的濾波器系數,Xj為j時(shí)刻的濾波器輸入。下一時(shí)刻(j+1)的權系數要根據當前時(shí)刻j的誤差信號ej進(jìn)行調整,調整的遞推算法為:
其中μ為步長(cháng)因子,他影響系統的收斂性,系統收斂的充分條件為:
μ值要針對語(yǔ)音通信的實(shí)際折衷考慮:μ太小時(shí),權系數收斂慢,不能適應噪聲不平穩的場(chǎng)合;μ太大時(shí),對消效果差,甚至引起系統發(fā)散。
2 系統仿真
2.1聲音樣本的獲取
Matlab 7.0的信號處理工具箱提供了從計算機標準音頻設備實(shí)時(shí)讀取音頻數據的Simulink模塊--From Wave Device,如圖2所示。
圖2中的Signal To workspace將采集的音頻數據保存到Matlab的工作空間。作為示例,本文采集了約0.3 s的人聲作為原始信號,采樣率為16 kHz,其時(shí)域波形如圖3所示。
2.2 步長(cháng)因子優(yōu)化
用250 Hz的正弦波模擬現場(chǎng)噪聲,考慮到現場(chǎng)噪聲情況,噪聲幅度的取值應與之相當,這里取0.01。將聲音樣本和噪聲疊加作為系統的原始輸入,如圖4所示。
取μ=0.5,采用128階的自適應濾波器進(jìn)行語(yǔ)音消噪,由圖5可以看出經(jīng)過(guò)0.03 s對消系統的輸出與原始信號相似。
自適應濾波器的Wj,需要迭代多次才能達到理想值即E[ej2]E趨勢于[Eej2)min需要一個(gè)過(guò)程,鑒于步長(cháng)因而會(huì )顯著(zhù)影響系統的對消效果,下面重點(diǎn)考察了μ取不同時(shí)的學(xué)習曲線(xiàn),如圖所示。
由圖6可以看出:
(1)隨著(zhù)μ值變大,系統的學(xué)習速度明顯變快;
(2)信號非平穩時(shí),過(guò)大的μ值容易引起系統失調,0.1處的均方誤差明顯變大。因而μ的取值應當折衷考率:一方面當噪聲非平穩時(shí),系統的學(xué)習時(shí)間應小于一個(gè)音的平穩時(shí)間(約0.1 s);另一方面,盡量減小系統失調。細對比可以發(fā)現:μ=0.25時(shí)的學(xué)習時(shí)間已經(jīng)小于一個(gè)節的平穩時(shí)間,這比μ=0.1時(shí)已經(jīng)大大改善,所以將長(cháng)因子取為0.25就可以滿(mǎn)足系統需要。
3 系統實(shí)現
3.1 電路設計
自適應對消系統的信號處理器采用TI公司的定點(diǎn)DSP-TMS320VC5509,其內核時(shí)鐘可以穩定工作在200 MHz,完成兩次乘累加(MAC)運算僅需要一個(gè)指令周期(5 ns)。
系統有兩個(gè)麥克風(fēng)通道,其中一個(gè)用于采集原輸入,另一個(gè)用于采集參考輸入。兩通道的電路形式完全一致,信號調理與模數轉換電路如圖7所示。其中16 b Codec AD73311通過(guò)同步串行接口與DSP相連。AD73311的參考輸出經(jīng)過(guò)AD8058的Buffer 作為麥克風(fēng)的直流偏置;駐極體麥克風(fēng)信號采用交流耦合輸入,放大電路的增益為50,以適應模數轉換器的動(dòng)態(tài)范圍。AD733ll采集數據會(huì )周期性地觸發(fā)接收中斷,通知DSP接收數據并做相應處理。
3.2軟件設計
自適應濾波對系統的實(shí)時(shí)性要求很高,因而將權系數遞推、濾波、噪聲對消放在采樣中斷服務(wù)程序中完成。軟件設計采用了DSP專(zhuān)門(mén)用于自適應濾波的指令LMS,該指令可以在1個(gè)指令周期內完成2個(gè)并行操作:乘累加(MAC)和權系數遞推。該指令大大提高了代碼效率,增強了自適應信號處理的實(shí)時(shí)性。
TI-DSP開(kāi)發(fā)環(huán)境CCS5000提供了相應的DSP庫Dsplib的支持,庫中包含自適應濾波在內的常規數字信號處理函數,其中絕大部分為匯編代碼,代碼效率高。庫函數提供C語(yǔ)言函數原型聲明,允許C程序直接訪(fǎng)問(wèn),降低了數字信號處理編程的難度。
自適應濾波的庫函數對緩沖區首地址的對齊要求嚴格,軟件用偽語(yǔ)句"#pragma DATA SECTION()"對cmd文件的存儲器分配進(jìn)行了特定的約束,從而更加合理地利用DSP芯片的運算資源。
4結 語(yǔ)
經(jīng)過(guò)反復實(shí)驗,樣機已經(jīng)能在特定的安裝條件下解決語(yǔ)音通信中的去噪問(wèn)題。
為保證兩通道的噪聲成分具有足夠的相關(guān)性,麥克風(fēng)的安裝間距應小于20 cm,說(shuō)話(huà)人(信號)距離原始輸入端應小于5 cm,否則系統輸出會(huì )出現大量未抵銷(xiāo)的不相關(guān)的噪聲分量。
實(shí)驗中發(fā)現,增加原始輸入端的延遲有利于改善噪聲的對消效果。經(jīng)分析,這與自適應濾波器的工作狀態(tài)有關(guān),若參考輸入端的噪聲超前于原始輸入信號(不同步),自適應濾波器實(shí)際上是一個(gè)預測器,預測的難度比濾波要高些且不容易實(shí)現。比較簡(jiǎn)單的解決方法是對原始輸入端增加軟件延遲,從而提高了對消系統對噪聲源位置的適應能力。
評論