《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 用C5402 DSP實(shí)現(xiàn)的G.168自適應(yīng)回聲消除器

用C5402 DSP實(shí)現(xiàn)的G.168自適應(yīng)回聲消除器

2008-12-29
作者:蔣 彥1, 陳 健2

  摘? 要:敘述網(wǎng)絡(luò)電話系統(tǒng)" title="電話系統(tǒng)">電話系統(tǒng)的回聲特點(diǎn),,介紹了ITU-T G.168建議書(shū)的有關(guān)要點(diǎn),。基于性價(jià)比方面的考慮,,提出了利用nLMS算法構(gòu)成的橫向?yàn)V波器" title="橫向?yàn)V波器">橫向?yàn)V波器組成自適應(yīng)回聲消除" title="回聲消除">回聲消除器,并在TMS320C5402 DSP上實(shí)現(xiàn)了該算法,。經(jīng)過(guò)測(cè)試,,主要性能均達(dá)到G.168規(guī)范要求。

  關(guān)鍵詞: 橫向?yàn)V波器? 回聲消除器? nLMS算法? 數(shù)字信號(hào)處理? ITU-T標(biāo)準(zhǔn)

?

  過(guò)去,,通過(guò)衛(wèi)星打國(guó)際長(zhǎng)途電話時(shí),,因?yàn)橥届o止衛(wèi)星的通話路徑長(zhǎng),引起通話延遲(單跳250ms,,雙跳500ms),,因電路失配所引起的線路回聲就很明顯,,所以從二十世紀(jì)80年代起人們就研究回聲消除的辦法。由簡(jiǎn)單的回聲抑制器發(fā)展到自適應(yīng)回聲消除器,,國(guó)際電聯(lián)(ITU)也相應(yīng)地制訂了回聲消除器的國(guó)際標(biāo)準(zhǔn),,如G.164?G.165和G.167等。進(jìn)入90年代后期,,通過(guò)英特網(wǎng)撥打長(zhǎng)途電話,,即IP電話流行。IP電話是以數(shù)據(jù)包的格式在英特網(wǎng)中與其它數(shù)據(jù)信息按TCP/IP協(xié)議一起傳輸,,從發(fā)話端到受話端延時(shí)較長(zhǎng),,并且是不確定的。這里的延時(shí)包括算法延遲?處理延遲?網(wǎng)絡(luò)延遲等,,算法延遲從0.125ms~30ms不等,,處理延遲約30ms,網(wǎng)絡(luò)延遲高達(dá)70~100ms,,總的延遲在100ms以上,,而人耳對(duì)于大于50ms的回聲就能鑒別出來(lái),因此IP電話系統(tǒng)的回聲影響相當(dāng)嚴(yán)重,,如何消除IP電話中的回聲成為非常重要的問(wèn)題,。

  在IP電話系統(tǒng)中,自適應(yīng)回聲消除器成為不可缺少的設(shè)備,。鑒于IP電話與普通國(guó)際長(zhǎng)途電話的不同,,ITU于1997年通過(guò)了G.168回聲消除器的標(biāo)準(zhǔn),該標(biāo)準(zhǔn)是G.165標(biāo)準(zhǔn)的發(fā)展,,而更多地考慮到網(wǎng)絡(luò)情況,,包括話音?傳真?固定和移動(dòng)用戶等應(yīng)用,所以G.165和G.168均為IP電話系統(tǒng)采用的標(biāo)準(zhǔn),。

1 ITU-T G.168

  國(guó)際電聯(lián)就回聲消除技術(shù)先后發(fā)布了一系列規(guī)范,,分別包括電學(xué)回聲和聲學(xué)回聲的消除,其中1997年公布的G.168是關(guān)于電學(xué)回聲消除的最新規(guī)范,。該建議書(shū)針對(duì)數(shù)字回聲消除器提出了一般的設(shè)計(jì)要求,,定義了相關(guān)的測(cè)試項(xiàng)目,以保證其能夠在各種網(wǎng)絡(luò)條件下提供足夠的回聲消除能力,。該建議書(shū)覆蓋了比G.165更加廣泛的網(wǎng)絡(luò)情況,,包括話音?傳真?殘余的聲學(xué)回聲和移動(dòng)網(wǎng)等不同應(yīng)用。同時(shí),,該建議書(shū)還定義了一系列客觀測(cè)試項(xiàng)目(objective tests),,如果回聲消除器通過(guò)這些測(cè)試,那么當(dāng)其安裝在網(wǎng)絡(luò)中,起碼就可以完成最低限度的回聲消除功能,。一個(gè)能夠通過(guò)這些測(cè)試的回聲消除器,,不應(yīng)該影響話音信號(hào)的傳輸或其它設(shè)備的工作。圖1是回聲消除器的基本組成和參數(shù),。

?

?

  為了客觀地評(píng)價(jià)各種回聲消除器的性能,,G.168中規(guī)定了一種特定的復(fù)合信號(hào)源(Composite Source Signals: CCS),帶限CCS是具有與話音類似的功率密度譜的信號(hào),,可以仿真話音信號(hào)的特征,,用它來(lái)作測(cè)試信號(hào)可以測(cè)量回聲消除器對(duì)話音信號(hào)的處理能力。由于信號(hào)的起始和終止都有明確定義,,因此可以方便地測(cè)出同一方向上的切換時(shí)間,,和整個(gè)系統(tǒng)的切換和延遲時(shí)間。

  在MATLAB中,,利用程序生成了符合G.168要求的帶限CCS信號(hào),,如圖2所示。

?

?

2 回聲消除器的算法原理

  一般而言,,回聲消除器就是一個(gè)自適應(yīng)辨識(shí)系統(tǒng),,它通過(guò)特定的方法辨識(shí)未知的目標(biāo)系統(tǒng),即:回聲經(jīng)過(guò)的路徑,。通常,,先設(shè)定“自適應(yīng)辨識(shí)網(wǎng)絡(luò)”的結(jié)構(gòu)形式,再通過(guò)對(duì)輸入序列和輸出序列的計(jì)算,,不斷地調(diào)整網(wǎng)絡(luò)參數(shù),。這種自適應(yīng)辨識(shí)要求在盡量短的輸入數(shù)字序列期間,以某種合理定義下的辨識(shí)誤差為準(zhǔn)則,,解出各待定參數(shù)。

  自適應(yīng)網(wǎng)絡(luò)結(jié)構(gòu)的常用形式為“橫向(Transverse)濾波器”,,如圖3所示,。T是延時(shí)器,W(n)=[w0(n),,w1(n),,...,wL-1(n)]是加權(quán)因子(n為時(shí)間序號(hào)),,即待定的網(wǎng)絡(luò)參數(shù),,它隨著辨識(shí)誤差等而改變,每隔一個(gè)碼元間隔(每時(shí)間序號(hào))調(diào)整一次,。

????最陡梯度法是以最小估計(jì)誤差平方為準(zhǔn)則的自適應(yīng)信號(hào)處理算法,,但是它要求知道輸入/輸出數(shù)據(jù)的二階統(tǒng)計(jì)特性,并且要求這些數(shù)據(jù)信號(hào)是平穩(wěn)的,通常不易滿足,。于是,,在最陡梯度法的基礎(chǔ)上引入適當(dāng)?shù)慕疲吹玫絃MS算法,。由于在最陡梯度法中應(yīng)用的是統(tǒng)計(jì)平均特性,,而在LMS法應(yīng)用的是瞬間數(shù)據(jù),只是在統(tǒng)計(jì)平均的意義下才與最陡梯度法等效,,故解所反映的過(guò)程是隨機(jī)的,,即它為一隨機(jī)自適應(yīng)算法。雖說(shuō)輸入信號(hào)" title="輸入信號(hào)">輸入信號(hào)的二階統(tǒng)計(jì)特性彼此相同,,所得解(指權(quán)值)與最陡梯度法相比卻呈現(xiàn)波動(dòng),,且波動(dòng)瞬間時(shí)值隨輸入信號(hào)的不同而異。LMS算法的特點(diǎn)是:每次迭代的計(jì)算量小,,所需的存儲(chǔ)量也小,,易于實(shí)現(xiàn)。

?

?

  在圖3的情況下,,設(shè)X(n)=[x(n),,x(n-1),...,,x(n-L+1)]T是時(shí)刻n的輸入信號(hào)矢量,,由最近的L個(gè)信號(hào)采樣值構(gòu)成,L是橫向?yàn)V波器的長(zhǎng)度,。y(n)是回聲消除器的期望(估計(jì))輸出值,,d(n)是Sin點(diǎn)的實(shí)際輸出值,e(n)是減法器得到的估計(jì)誤差,。μ是回聲消除器控制穩(wěn)定性和收斂速度的參量,,稱為步長(zhǎng)因子。

  LMS算法的基本方程歸納如下:

  ????

  由于輸入信號(hào)的大小對(duì)LMS算法存在影響,,即同樣情況下,,能量高的信號(hào)會(huì)引起梯度噪放大,而能量低的信號(hào)算法收斂較慢,。因此在實(shí)際應(yīng)用中,,將輸入信號(hào)按照自身的平均能量進(jìn)行歸一化處理,得到歸一化的LMS算法,,即nLMS,。如式(4)所示。

  

  這里的參數(shù)a是nLMS所特有的,,為了避免在輸入信號(hào)矢量過(guò)小時(shí)可能產(chǎn)生的數(shù)值計(jì)算問(wèn)題,,而特意引入的,,它是一個(gè)很小的正數(shù)。

  從方程看,,LMS算法的優(yōu)點(diǎn)是運(yùn)算簡(jiǎn)便,,但它只有一個(gè)可調(diào)整參數(shù),即步長(zhǎng)因子μ,,用來(lái)控制收斂速度,。由于μ的選擇受系統(tǒng)穩(wěn)定性的限制,因此,,算法的收斂速度受到較大限制,。

3 用DSP實(shí)現(xiàn)的G.168回聲消除器

3.1 TMS320VC5402 DSP的特點(diǎn)介紹

  TMS320VC5402是TI C5000系列DSP芯片族中使用最廣的一種,具有以下特點(diǎn):

  · TMS320VC5402 DSP,,它的最高時(shí)鐘頻率達(dá)到100MHz,,內(nèi)核電壓是1.8V,I/O電壓是3.3V,。它的片內(nèi)存儲(chǔ)器為:16KB DARAM,,4KB ROM,功耗低,,平均約為0.32mW/MIPS,。

  · DSP內(nèi)部采用改進(jìn)的哈佛結(jié)構(gòu),即:程序空間和數(shù)據(jù)空間分開(kāi),,允許同時(shí)取指令和取操作數(shù),,而且,還允許在程序和數(shù)據(jù)空間之間相互傳送數(shù)據(jù),。

  · DSP芯片內(nèi)部采用多總線結(jié)構(gòu),,C54x內(nèi)部有P?C?D和E等4條總線(每條總線包括地址總線和數(shù)據(jù)總線),可以在一個(gè)機(jī)器周期內(nèi)從程序存儲(chǔ)區(qū)取1條指令,,從數(shù)據(jù)存儲(chǔ)區(qū)讀2個(gè)操作數(shù)并向數(shù)據(jù)存儲(chǔ)區(qū)寫(xiě)1個(gè)操作數(shù),,大大提高了DSP的運(yùn)行速度。

  · 在DSP中,,采用流水線結(jié)構(gòu),,將一條指令執(zhí)行所需要的取指?譯碼?取操作數(shù)并執(zhí)行等幾個(gè)步驟同時(shí)完成,使指令周期" title="指令周期">指令周期降低到最小值,。

  · DSP內(nèi)部有多個(gè)處理單元,如算術(shù)邏輯運(yùn)算單元(ALU)?輔助運(yùn)算單元(ARCU)?累加器(ACC)和硬件乘法器(MUL)等,,它們可以在一個(gè)指令周期內(nèi)同時(shí)進(jìn)行運(yùn)算,,特別適用于FIR和IIR濾波器。

  · 在DSP的指令系統(tǒng)中,,設(shè)計(jì)了一些特殊高效的DSP指令,,如FIRS和LMS指令,,專門(mén)用于對(duì)稱FIR濾波器和LMS算法。

3.2 編程介紹

  DSP中實(shí)現(xiàn)的nLMS算法就是上面介紹的(1)~(4)式,,但其中的歸一化方法需要說(shuō)明,。首先,考慮到數(shù)值計(jì)算的有限精度,,將(4)式分母中的平方項(xiàng)拆開(kāi),,組成兩個(gè)分式相乘。拆開(kāi)后的信號(hào)能量記為POWER(y(n)),,由(6)式的時(shí)間估計(jì)值進(jìn)行迭代計(jì)算,。

  

  以下為采用C5000匯編語(yǔ)言實(shí)現(xiàn)nLMS算法的基本代碼:

  STM#(TAPS-2),BRC?      ??;根據(jù)橫向?yàn)V波器的長(zhǎng)度TAPS,循環(huán)(TAPS-1)次,,但是另有一次

                   在RPTBD指令后的流水線中完成,。

????SSBX FRCT

????XC 2, NTC??????????????   ??;如果要求停止更新濾波器系數(shù),

????????????????????????????????  則將(5)式的更迭項(xiàng)置零

????ST #0,, n_error_mu?

????LD #0,,B?

????LD n_error_mu, T?????????????? ,;norm_error * mu -> T?

????RPTBD $nLMS_end-1

  MPY *n_ref_ptr+0%,,A?

  LMS *filter_ptr,*ref_ptr+0%?

  ST A,,*filter_ptr+

?????? || MPY *n_ref_ptr+0%,,A?

???????????? ??????????????? ????? ;error (in T) * n_ref_sample->A

  LMS *filter_ptr,,*ref_ptr+0%?

?????????????????????????????????? ?,;A+coef<<16+round.->A

?????????????????????????????????? ?;coef*ref+B->B

  $nLMS_end:

  ST A,,*filter_ptr

  || SUB *AR5,,A

????    ??????????????????????? ;S0<<16-B (est.echo) -> A?

  STH A,,error_out

  ABS A

  STH A,,ABSE0 ???    ????????;abs value for power estimate.

  在程序的主要循環(huán)體內(nèi),,每次循環(huán)只需要兩個(gè)指令周期,,因此對(duì)于nLMS算法的每次系數(shù)更新需要的指令周期約為(2×TAPS)個(gè),。這里,DSP處理器的優(yōu)越性能起了決定作用,。

  在實(shí)際應(yīng)用中,,回聲消除器所需要的處理能力取決于回聲路徑容量,即自適應(yīng)濾波器的抽頭個(gè)數(shù),,以及在穩(wěn)定情況下是否繼續(xù)更新濾波器系數(shù),。如果僅僅是在話路建立初期激活濾波器系數(shù)的迭代,而在系數(shù)收斂以后,,凍結(jié)迭代過(guò)程,,維持當(dāng)前系數(shù),則可以節(jié)省系統(tǒng)的處理能力,,完成對(duì)更多信道的回聲消除,。在表1中,對(duì)利用C5000匯編語(yǔ)言實(shí)現(xiàn)的nLMS算法進(jìn)行了一些評(píng)估,。從中可以看出,,如果采用單片100MIPS的C5402,則可以并行處理11條64ms的回聲路徑,。

?

?

3.3 測(cè)試結(jié)果

  按照G.168的要求,,采用帶限CCS信號(hào)進(jìn)行了有關(guān)的測(cè)試,并將輸入/輸出信號(hào)的功率作圖示意,。均方根(RMS功率)的估計(jì)范圍是0.7s,。

  (1)測(cè)試項(xiàng)目1A,穩(wěn)定工作時(shí),,殘余回聲電平測(cè)試(NLP暫停),;

  (2)測(cè)試項(xiàng)目2B,收斂性能測(cè)試(NLP暫停),。

  這兩個(gè)項(xiàng)目可以在一次測(cè)試中完成,,結(jié)果如圖4所示。這里,,中間一條線是輸入信號(hào)的均方根,,最下方一條線是估計(jì)誤差的均方根,最上方一條線是兩者的差值,。顯然,,采用帶限CCS信號(hào),當(dāng)濾波器穩(wěn)定工作時(shí),,殘余回聲電平(最下方曲線)低于輸入信號(hào)(中間曲線)30dB以上,,達(dá)到G.168的要求。

?

?

  根據(jù)G.168要求,,系統(tǒng)工作1s后,,殘余回聲電平低于輸入信號(hào)16dB,從圖4可見(jiàn),,實(shí)際結(jié)果略低于規(guī)范要求,。其原因在于,所選的步長(zhǎng)因子為0.001,,取值較小,,導(dǎo)致系統(tǒng)收斂時(shí)間較長(zhǎng)。測(cè)試項(xiàng)目3A,,近端低電平的雙講性能測(cè)試(NLP暫停),。

  如圖5所示,這里,,中間一條線是輸入信號(hào)的均方根,,最下方一條線(殘余回聲)是估計(jì)誤差的均方根,最上方一條線是兩者的差值,。殘余回聲的功率與近端話音相當(dāng),,符合規(guī)范要求。

?

?

  本文介紹了回聲消除中的LMS算法,,以及在DSP上如何實(shí)現(xiàn),,最后按照G.168的各項(xiàng)測(cè)試要求進(jìn)行了性能檢測(cè),主要指標(biāo)都符合規(guī)范要求,。因?yàn)镮P電話系統(tǒng)發(fā)展很快,,回聲消除器是該系統(tǒng)不可缺少的模塊,因此如何取得最佳的性價(jià)比是業(yè)界最為關(guān)心的,。LMS不是回聲消除中的最佳算法,,但是它具有算法簡(jiǎn)便快速?DSP開(kāi)銷小等優(yōu)點(diǎn),并且在此基礎(chǔ)上,,通過(guò)一些改進(jìn)可以得到性能較好的算法,。如果是應(yīng)用于局端的大容量IP電話終端,可以采用性能更高的C62xx DSP芯片,。

?

參考文獻(xiàn)

1 德州儀器公司應(yīng)用報(bào)告 SPRA188.Implementing a Line-Echo Canceller Using the Block Update and NLMS Algorithms on the TMS320C54x DSP.1997;4ITU-T G.168.Apparatus associated with long-distance telephone circuits:Digital network echo cancellers.1997;4

3 陳尚勤. 快速自適應(yīng)信息處理. 北京:人民郵電出版社

4 覃景繁,,韋崗.回波消除理論進(jìn)展及其應(yīng)用.電路與系統(tǒng)學(xué)報(bào).1998;3(3)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。