IP電話回聲消除器的設(shè)計(jì)及其DSP實(shí)現(xiàn)
其中,H(z)傳遞函數(shù)用來表示回聲通道的特性。NLMS自適應(yīng)濾波器就是要盡快地調(diào)整自己的系數(shù),使其沖擊響應(yīng)盡量逼近H(z)的沖擊響應(yīng),這樣才能使誤差信號(hào)e(n)逼近0。具體的實(shí)現(xiàn)過程如下。
自適應(yīng)濾波器的輸出由式(1)給出:
其中:N是NLMS自適應(yīng)濾波器的階數(shù)。BT=〔b0,b1Λ,bN-1〕是濾波器的系數(shù)矢量。-1),Λ,y(n-N+1)〕是濾波器n時(shí)刻的輸入信號(hào)矢量。
由于前面已經(jīng)假設(shè)為遠(yuǎn)端說話模式,故,近端語音信號(hào)x(n)為0。誤差信號(hào)e(n)可由式(2)給出:
其中:μ為步長(zhǎng)因子,是一個(gè)常數(shù),由試驗(yàn)來確定,μ的選取至關(guān)重要,為了確保收斂,必須滿足0<μ<2。μ取值過大,雖然可以加快自適應(yīng)濾波器的收斂速度,但是誤差信號(hào)e(n)也會(huì)大,μ取值過小,則使收斂速度變慢。e(n)由式(2)計(jì)算。P(n)是n時(shí)刻輸入信號(hào)矢量yn的短時(shí)平均功率,。
4 語音檢測(cè)器
語音檢測(cè)器在整個(gè)回聲消除系統(tǒng)中也占據(jù)非常重要的地位,這是因?yàn)椴煌恼Z音模式自適應(yīng)濾波器所要求執(zhí)行的功能是不相同的,下面分別說明。
4.1 遠(yuǎn)端說話檢測(cè)器
當(dāng)近端用戶不說話而只有遠(yuǎn)端用戶說話的時(shí)候,就是遠(yuǎn)端說話模式。式(4)用于檢測(cè)遠(yuǎn)端說話模式。
代表遠(yuǎn)端信號(hào)和近端信號(hào)的較短窗功率估計(jì)值。是閥值常量,要由實(shí)驗(yàn)來確定,取得太大或者太小都會(huì)導(dǎo)致檢測(cè)錯(cuò)誤。
如果檢測(cè)出為遠(yuǎn)端說話模式,那么,應(yīng)該通過圖1中的NLMS控制器同時(shí)打開NLMS自適應(yīng)濾波器的濾波功能和系數(shù)更新功能。
4.2 雙端說話檢測(cè)器
當(dāng)近端用戶和遠(yuǎn)端用戶同時(shí)說話的時(shí)候,就是雙端說話模式。式(5)用于檢測(cè)雙端說話模式。
表誤差信號(hào)和近端信號(hào)的短窗功率估計(jì)值。C是系數(shù)常量,C=10ERLE/10,一般ERLE取為8dB。D是閥值常量,要由實(shí)驗(yàn)來確定,取得太大或者太小都會(huì)導(dǎo)致檢測(cè)錯(cuò)誤,影響濾波效果。
如果檢測(cè)出為雙端說話模式,則要凍結(jié)FIR濾波器的系數(shù)更新功能,只需要完成濾波功能,即只要計(jì)算濾波器輸出r(n)的值。
4.3 近端說話檢測(cè)器
當(dāng)只有近端用戶說話而遠(yuǎn)端用戶不說話的時(shí)候,就是近端說話模式。式(6)用于檢測(cè)近端說話模式。
表近端信號(hào)短窗功率估計(jì)值和長(zhǎng)窗功率估計(jì)值。NES MARGIN是閥值常量,要由實(shí)驗(yàn)來確定。
如果檢測(cè)出為近端說話模式,那么,應(yīng)該通過圖1中的NLMS控制器同時(shí)凍結(jié)NLMS自適應(yīng)濾波器的濾波功能和系數(shù)更新功能。
5 粗略時(shí)延估計(jì)器
由于遠(yuǎn)端信號(hào)y(n)通過回聲通道要經(jīng)過編碼、打包和壓縮的處理,會(huì)花費(fèi)大量的時(shí)間,這就必然會(huì)產(chǎn)生延時(shí)。而且這種延時(shí)還是在一定范圍內(nèi)隨機(jī)波動(dòng)的,這就增加了估計(jì)的難度,要想準(zhǔn)確地計(jì)算出延時(shí)的大小是不可能的,只能是一個(gè)粗略的估計(jì)值,故稱為粗略時(shí)
延估計(jì)器。可以按照式(7)和式(8)來估計(jì)延時(shí)值:
首先按照式(7)計(jì)算從近端傳到遠(yuǎn)端的聲學(xué)信號(hào)和誤差信號(hào)的互相關(guān)函數(shù),然后從中選出絕對(duì)值最大者,作為延時(shí)的估計(jì)參數(shù)。
6 DSP芯片簡(jiǎn)介及關(guān)鍵代碼介紹
本文選擇TI公司的DSPTMS320C5402為硬件平臺(tái)來實(shí)現(xiàn)回聲消除,TMS320C54x是一款低功耗、高性能的定點(diǎn)數(shù)字信號(hào)處理器,運(yùn)行速度可達(dá)到100MIPS。有兩個(gè)40位累加器A、B,192K字可尋址空間(64K字的程序存儲(chǔ)器、64K字?jǐn)?shù)據(jù)存儲(chǔ)器及64K字I/O空間)。采用8總線增強(qiáng)型哈佛結(jié)構(gòu),多級(jí)流水線操作,專用的硬件乘法器,DSP的專用指令(如FIRS,LMS)。
下面是用DSP實(shí)現(xiàn)回聲消除的NLMS算法的關(guān)鍵代碼:
評(píng)論