當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]IP電話回聲消除器的設(shè)計(jì)及其DSP實(shí)現(xiàn)

介紹了一種用于IP電話中的自適應(yīng)回聲消除器,采用歸一化最小二乘(NLMS)自適應(yīng)濾波器實(shí)現(xiàn),包括語(yǔ)音模式檢測(cè)器和粗略時(shí)延估計(jì)器。最后以TI公司的TMS320C5402 DSP芯片為平臺(tái),實(shí)現(xiàn)了該回聲消除器,還對(duì)關(guān)鍵代碼進(jìn)行了分析。
     關(guān)鍵詞:回聲消除,自適應(yīng)濾波,NLMS,DSP


1 在VoIP中采用回聲消除技術(shù)的必要性
  與傳統(tǒng)的PSTN網(wǎng)絡(luò)采用電路交換技術(shù)不同,IP電話采用的是分組交換技術(shù),充分利用Internet來(lái)傳輸語(yǔ)音數(shù)據(jù),使得價(jià)格大大降低,從而取得了長(zhǎng)足的發(fā)展。但是IP電話也存在一些弊端,比如語(yǔ)言質(zhì)量比較差,導(dǎo)致這一弊端的因素很多,其中主要的因素就是網(wǎng)絡(luò)延時(shí)和算法延時(shí),這主要是由于互聯(lián)網(wǎng)的數(shù)據(jù)傳輸特點(diǎn)以及語(yǔ)音編解碼耗時(shí)較大導(dǎo)致的,總延時(shí)長(zhǎng)達(dá)100ms。根據(jù)經(jīng)驗(yàn),如果語(yǔ)音的延時(shí)超過(guò)了50ms,那么,人耳就可以鑒別出自己的回聲,顯然,IP電話系統(tǒng)的回聲是非常嚴(yán)重的,鑒于此,國(guó)際電聯(lián)(ITU)也相應(yīng)地制定了回聲消除的國(guó)際規(guī)范,如G.165,G.168。
2 回聲消除器的結(jié)構(gòu)框圖和基本原理
    圖1所示是VoIP回聲消除系統(tǒng)結(jié)構(gòu)圖。

  從圖1可以看出,整個(gè)回聲消除系統(tǒng)分成三個(gè)部分:NLMS自適應(yīng)濾波器、語(yǔ)音檢測(cè)器和粗略時(shí)延估計(jì)器。其中,語(yǔ)音檢測(cè)器又分為三個(gè)部分:近端說(shuō)話檢測(cè)器、遠(yuǎn)端說(shuō)話檢測(cè)器和雙端說(shuō)話檢測(cè)器。
  圖1中,A、B端代表遠(yuǎn)端用戶,C、D端代表近端用戶,y(n)代表時(shí)刻n來(lái)自遠(yuǎn)端的語(yǔ)音采樣值。y(n)經(jīng)過(guò)互聯(lián)網(wǎng)到達(dá)近端用戶的揚(yáng)聲器端,由于從揚(yáng)聲器出來(lái)的聲音信號(hào)經(jīng)過(guò)空氣形成的回聲通道H(z)又會(huì)被近端的話筒拾取,這部分回聲信號(hào)echo(n)會(huì)混同近端用戶的語(yǔ)音信號(hào)一起進(jìn)入近端的話筒,也就形成近端的聲學(xué)信號(hào)r(n),r(n)再通過(guò)互聯(lián)網(wǎng),向遠(yuǎn)端用戶的揚(yáng)聲器傳輸。如果不采取回聲消除措施,只要遠(yuǎn)端信號(hào)y(n)通過(guò)互聯(lián)網(wǎng)傳回遠(yuǎn)端揚(yáng)聲器的時(shí)間超過(guò)50ms(這是經(jīng)常出現(xiàn)的情況),那么,這部分被近端拾取的回聲信號(hào)echo(n)會(huì)被遠(yuǎn)端用戶分辨出來(lái),結(jié)果就使得遠(yuǎn)端用戶聽(tīng)到了自己的聲音,會(huì)大大降低通話的質(zhì)量,這是用戶所不能容忍的。所以,必須采取消除回聲的措施。
  完成回聲消除的一個(gè)很重要的模塊就是自適應(yīng)濾波器,本文采用NLMS算法進(jìn)行自適應(yīng)濾波。當(dāng)遠(yuǎn)端信號(hào)y(n)到達(dá)近端之后,先把這個(gè)信號(hào)“復(fù)制”一份,放到存儲(chǔ)器中,結(jié)合誤差信號(hào),利用NLMS算法不斷調(diào)整自適應(yīng)濾波器的系數(shù),使得y(n)經(jīng)過(guò)自適應(yīng)濾波器后的輸出盡量逼近回聲信號(hào)echo(n),這樣,當(dāng)近端的語(yǔ)音信號(hào)x(n)=0的時(shí)候,從B端輸出的誤差信號(hào)e(n)也就接近0,從而達(dá)到了回聲消除的目的。
  當(dāng)然,在NLMS自適應(yīng)濾波器進(jìn)行濾波和系數(shù)更新之前,必須檢測(cè)語(yǔ)音模式是近端說(shuō)話模式、遠(yuǎn)端說(shuō)話模式、還是雙端說(shuō)話模式,因?yàn)椴煌恼f(shuō)話模式NLMS自適應(yīng)濾波器所執(zhí)行的功能是不完全相同的。另外,由于遠(yuǎn)端信號(hào)y(n)被自適應(yīng)濾波器“復(fù)制”到存儲(chǔ)器中的時(shí)刻t1和y(n)經(jīng)過(guò)回聲通道H(z),進(jìn)入近端話筒并作相應(yīng)的處理的時(shí)刻t2是不相同的,t2要大于t1,這主要是語(yǔ)音數(shù)據(jù)編碼、打包和壓縮造成的。為了使得濾波器處理的信號(hào)y(n)和傳回遠(yuǎn)端的信號(hào)r(n)保持對(duì)應(yīng),即echo(n)和y(n)保持高度的相關(guān)性,那么被自適應(yīng)濾波器“復(fù)制”的y(n)信號(hào),最好在存儲(chǔ)器中延時(shí)一段時(shí)間,這樣才能保證達(dá)到回聲消除取得比較好的效果。
3 NLMS自適應(yīng)濾波器原理
  為了討論方便,這里先考慮遠(yuǎn)端說(shuō)話模式,即近端語(yǔ)音信號(hào)x(n)為0。為了簡(jiǎn)單起見(jiàn),把圖1中的NLMS自適應(yīng)濾波器部分單獨(dú)抽出來(lái),簡(jiǎn)化成圖2。圖2所示是NLMS自適應(yīng)濾波器結(jié)構(gòu)圖。

[!--empirenews.page--]

  其中,H(z)傳遞函數(shù)用來(lái)表示回聲通道的特性。NLMS自適應(yīng)濾波器就是要盡快地調(diào)整自己的系數(shù),使其沖擊響應(yīng)盡量逼近H(z)的沖擊響應(yīng),這樣才能使誤差信號(hào)e(n)逼近0。具體的實(shí)現(xiàn)過(guò)程如下。
    自適應(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)端說(shuō)話模式,故,近端語(yǔ)音信號(hào)x(n)為0。誤差信號(hào)e(n)可由式(2)給出:

其中:μ為步長(zhǎng)因子,是一個(gè)常數(shù),由試驗(yàn)來(lái)確定,μ的選取至關(guān)重要,為了確保收斂,必須滿足0<μ<2。μ取值過(guò)大,雖然可以加快自適應(yīng)濾波器的收斂速度,但是誤差信號(hào)e(n)也會(huì)大,μ取值過(guò)小,則使收斂速度變慢。e(n)由式(2)計(jì)算。P(n)是n時(shí)刻輸入信號(hào)矢量yn的短時(shí)平均功率,。

4 語(yǔ)音檢測(cè)器
  語(yǔ)音檢測(cè)器在整個(gè)回聲消除系統(tǒng)中也占據(jù)非常重要的地位,這是因?yàn)椴煌恼Z(yǔ)音模式自適應(yīng)濾波器所要求執(zhí)行的功能是不相同的,下面分別說(shuō)明。
4.1 遠(yuǎn)端說(shuō)話檢測(cè)器
  當(dāng)近端用戶不說(shuō)話而只有遠(yuǎn)端用戶說(shuō)話的時(shí)候,就是遠(yuǎn)端說(shuō)話模式。式(4)用于檢測(cè)遠(yuǎn)端說(shuō)話模式。

代表遠(yuǎn)端信號(hào)和近端信號(hào)的較短窗功率估計(jì)值。是閥值常量,要由實(shí)驗(yàn)來(lái)確定,取得太大或者太小都會(huì)導(dǎo)致檢測(cè)錯(cuò)誤。
  如果檢測(cè)出為遠(yuǎn)端說(shuō)話模式,那么,應(yīng)該通過(guò)圖1中的NLMS控制器同時(shí)打開(kāi)NLMS自適應(yīng)濾波器的濾波功能和系數(shù)更新功能。
4.2 雙端說(shuō)話檢測(cè)器
  當(dāng)近端用戶和遠(yuǎn)端用戶同時(shí)說(shuō)話的時(shí)候,就是雙端說(shuō)話模式。式(5)用于檢測(cè)雙端說(shuō)話模式。

表誤差信號(hào)和近端信號(hào)的短窗功率估計(jì)值。C是系數(shù)常量,C=10ERLE/10,一般ERLE取為8dB。D是閥值常量,要由實(shí)驗(yàn)來(lái)確定,取得太大或者太小都會(huì)導(dǎo)致檢測(cè)錯(cuò)誤,影響濾波效果。
  如果檢測(cè)出為雙端說(shuō)話模式,則要凍結(jié)FIR濾波器的系數(shù)更新功能,只需要完成濾波功能,即只要計(jì)算濾波器輸出r(n)的值。
4.3 近端說(shuō)話檢測(cè)器
  當(dāng)只有近端用戶說(shuō)話而遠(yuǎn)端用戶不說(shuō)話的時(shí)候,就是近端說(shuō)話模式。式(6)用于檢測(cè)近端說(shuō)話模式。

表近端信號(hào)短窗功率估計(jì)值和長(zhǎng)窗功率估計(jì)值。NES MARGIN是閥值常量,要由實(shí)驗(yàn)來(lái)確定。
  如果檢測(cè)出為近端說(shuō)話模式,那么,應(yīng)該通過(guò)圖1中的NLMS控制器同時(shí)凍結(jié)NLMS自適應(yīng)濾波器的濾波功能和系數(shù)更新功能。
5 粗略時(shí)延估計(jì)器
  由于遠(yuǎn)端信號(hào)y(n)通過(guò)回聲通道要經(jīng)過(guò)編碼、打包和壓縮的處理,會(huì)花費(fèi)大量的時(shí)間,這就必然會(huì)產(chǎn)生延時(shí)。而且這種延時(shí)還是在一定范圍內(nèi)隨機(jī)波動(dòng)的,這就增加了估計(jì)的難度,要想準(zhǔn)確地計(jì)算出延時(shí)的大小是不可能的,只能是一個(gè)粗略的估計(jì)值,故稱為粗略時(shí)
  延估計(jì)器??梢园凑帐剑?)和式(8)來(lái)估計(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)來(lá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)鍵代碼:
[!--empirenews.page--]

  編程的時(shí)候,為了提高程序的運(yùn)行效率,要充分利用DSP芯片的優(yōu)點(diǎn)。要盡量使用指令周期少的尋址方式,如直接尋址、雙操作數(shù)尋址。在設(shè)計(jì)濾波器的數(shù)據(jù)和系數(shù)緩沖區(qū)的時(shí)候采用循環(huán)尋址,這樣可以避免大批數(shù)據(jù)的搬移,節(jié)省指令周期,如果開(kāi)辟一個(gè)長(zhǎng)度為L(zhǎng)的緩沖區(qū),必須保證其首址最低位至少有N個(gè)0,N是滿足2N>R的最小整數(shù)。還要多采用如ST‖MPY等并行指令,多采用DSP的專用指令,如LMS、FIRS。
7 結(jié)束語(yǔ)
  回聲消除技術(shù)在IP電話中占有非常重要的地位,本文介紹了用NLMS算法設(shè)計(jì)回聲消除器,還涉及到語(yǔ)音檢測(cè)和時(shí)延估計(jì),以及如何在DSP上實(shí)現(xiàn)。下面給出63階的NLMS自適應(yīng)濾波器的系數(shù)更新結(jié)果,為了方便起見(jiàn),把回聲通道H(z)等效成一個(gè)63階的FIR濾波器,其沖擊響應(yīng)如圖3所示,并假設(shè)近端語(yǔ)音信號(hào)x(n)為0,不考慮延時(shí),一段時(shí)間后NLMS濾波器的沖擊響應(yīng)見(jiàn)圖4。圖4所示是收斂后的NLMS自適應(yīng)濾波器系數(shù)。由圖4可以看出,NLMS自適應(yīng)濾波器的收斂效果較好。

  經(jīng)過(guò)測(cè)試,本文所述的回聲消除器用于VoIP電話中,可以比較明顯地改善語(yǔ)音的質(zhì)量。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉