IP電話回聲消除器的設(shè)計及其DSP實現(xiàn)
介紹了一種用于IP電話中的自適應(yīng)回聲消除器,采用歸一化最小二乘(NLMS)自適應(yīng)濾波器實現(xiàn),包括語音模式檢測器和粗略時延估計器。最后以TI公司的TMS320C5402 DSP芯片為平臺,實現(xiàn)了該回聲消除器,還對關(guān)鍵代碼進行了分析。
關(guān)鍵詞:回聲消除,自適應(yīng)濾波,NLMS,DSP
1 在VoIP中采用回聲消除技術(shù)的必要性
與傳統(tǒng)的PSTN網(wǎng)絡(luò)采用電路交換技術(shù)不同,IP電話采用的是分組交換技術(shù),充分利用Internet來傳輸語音數(shù)據(jù),使得價格大大降低,從而取得了長足的發(fā)展。但是IP電話也存在一些弊端,比如語言質(zhì)量比較差,導(dǎo)致這一弊端的因素很多,其中主要的因素就是網(wǎng)絡(luò)延時和算法延時,這主要是由于互聯(lián)網(wǎng)的數(shù)據(jù)傳輸特點以及語音編解碼耗時較大導(dǎo)致的,總延時長達100ms。根據(jù)經(jīng)驗,如果語音的延時超過了50ms,那么,人耳就可以鑒別出自己的回聲,顯然,IP電話系統(tǒng)的回聲是非常嚴重的,鑒于此,國際電聯(lián)(ITU)也相應(yīng)地制定了回聲消除的國際規(guī)范,如G.165,G.168。
2 回聲消除器的結(jié)構(gòu)框圖和基本原理
圖1所示是VoIP回聲消除系統(tǒng)結(jié)構(gòu)圖。
從圖1可以看出,整個回聲消除系統(tǒng)分成三個部分:NLMS自適應(yīng)濾波器、語音檢測器和粗略時延估計器。其中,語音檢測器又分為三個部分:近端說話檢測器、遠端說話檢測器和雙端說話檢測器。
圖1中,A、B端代表遠端用戶,C、D端代表近端用戶,y(n)代表時刻n來自遠端的語音采樣值。y(n)經(jīng)過互聯(lián)網(wǎng)到達近端用戶的揚聲器端,由于從揚聲器出來的聲音信號經(jīng)過空氣形成的回聲通道H(z)又會被近端的話筒拾取,這部分回聲信號echo(n)會混同近端用戶的語音信號一起進入近端的話筒,也就形成近端的聲學(xué)信號r(n),r(n)再通過互聯(lián)網(wǎng),向遠端用戶的揚聲器傳輸。如果不采取回聲消除措施,只要遠端信號y(n)通過互聯(lián)網(wǎng)傳回遠端揚聲器的時間超過50ms(這是經(jīng)常出現(xiàn)的情況),那么,這部分被近端拾取的回聲信號echo(n)會被遠端用戶分辨出來,結(jié)果就使得遠端用戶聽到了自己的聲音,會大大降低通話的質(zhì)量,這是用戶所不能容忍的。所以,必須采取消除回聲的措施。
完成回聲消除的一個很重要的模塊就是自適應(yīng)濾波器,本文采用NLMS算法進行自適應(yīng)濾波。當遠端信號y(n)到達近端之后,先把這個信號“復(fù)制”一份,放到存儲器中,結(jié)合誤差信號,利用NLMS算法不斷調(diào)整自適應(yīng)濾波器的系數(shù),使得y(n)經(jīng)過自適應(yīng)濾波器后的輸出盡量逼近回聲信號echo(n),這樣,當近端的語音信號x(n)=0的時候,從B端輸出的誤差信號e(n)也就接近0,從而達到了回聲消除的目的。
當然,在NLMS自適應(yīng)濾波器進行濾波和系數(shù)更新之前,必須檢測語音模式是近端說話模式、遠端說話模式、還是雙端說話模式,因為不同的說話模式NLMS自適應(yīng)濾波器所執(zhí)行的功能是不完全相同的。另外,由于遠端信號y(n)被自適應(yīng)濾波器“復(fù)制”到存儲器中的時刻t1和y(n)經(jīng)過回聲通道H(z),進入近端話筒并作相應(yīng)的處理的時刻t2是不相同的,t2要大于t1,這主要是語音數(shù)據(jù)編碼、打包和壓縮造成的。為了使得濾波器處理的信號y(n)和傳回遠端的信號r(n)保持對應(yīng),即echo(n)和y(n)保持高度的相關(guān)性,那么被自適應(yīng)濾波器“復(fù)制”的y(n)信號,最好在存儲器中延時一段時間,這樣才能保證達到回聲消除取得比較好的效果。
3 NLMS自適應(yīng)濾波器原理
為了討論方便,這里先考慮遠端說話模式,即近端語音信號x(n)為0。為了簡單起見,把圖1中的NLMS自適應(yīng)濾波器部分單獨抽出來,簡化成圖2。圖2所示是NLMS自適應(yīng)濾波器結(jié)構(gòu)圖。
評論