何海 付仕明 葉順舟
【摘要】 DTD(雙端發(fā)聲檢測)是回聲抵消中的一項關(guān)鍵技術(shù)。其判定的準確與否直接影響自適應(yīng)濾波器的收斂性能,進而影響整個回聲抵消的性能。本文對當前主要的一些DTD算法進行了介紹。
【關(guān)鍵字】 回聲抵消 雙端檢測 DTD 能量檢測法 相關(guān)檢測法
一、引言
回聲抵消的基本原理如圖1所示。遠端信號x(k)通過聲學(xué)回波信道h產(chǎn)生回波y(k),然后混合近端聲音v(k)得到近端信號d(k)。通過使用自適應(yīng)濾波器h?來模擬信道h,可以使得)(?ky逼近回波,進而達到回波抵消的目的。
從上圖可以看出,回聲抵消的核心即是:盡快的預(yù)估出h?,使其盡可能的逼近真實的h。當前通常采用的,通過各種自適應(yīng)濾波算法預(yù)估h?,如:LMS,NLMS,AP等。若不存在v(k),這些自適應(yīng)濾波算法均能或快或慢的達到穩(wěn)態(tài)收斂,抵消掉絕大部分回波信號;但當存在v(k)時,等效于加入了大信號的噪聲,所以會極大影響自適應(yīng)算法的收斂速度,嚴重時會造成發(fā)散。
以商用中較為常見的一種自適應(yīng)算法NLMS算法為例:
在式(1.5)中,v(k)的存在將濾波器系數(shù)產(chǎn)生較大的誤差,甚至引起發(fā)散。
因此,一般的回聲抵消算法中都包含自適應(yīng)濾波和雙端檢測兩個主要部分,雙端檢測即是對當前語音通話狀態(tài)進行判定(近端講話,遠端講話和雙端講話),而雙端檢測算法的判定準確性高低直接決定著回聲抵消算法的優(yōu)劣。當判定為近端講話狀態(tài)時,自適應(yīng)濾波器既不進行濾波也不進行系數(shù)更新;判定為雙端講話的時不進行系數(shù)更新但是要進行自適應(yīng)濾波;只有在遠端語音狀態(tài)下既要進行濾波又要進行系數(shù)的更新。
二、雙端發(fā)聲檢測算法研究歷史與現(xiàn)狀
D. L. Duttweiler于1978年提出的Geigel算法[1]是一種最基本的雙端發(fā)聲檢測算法,它用先前遠端N個采樣點中最大幅值的信號乘以乘積因子0.5,如果大于當前遠端采樣點的信號幅值,則判定為雙端發(fā)聲。算法的理論基礎(chǔ)是,在典型的網(wǎng)絡(luò)回波抵消應(yīng)用中,回波路徑損耗為6dB這一經(jīng)驗事實,N值的確定取決于回波路徑的時延。在電回波抵消應(yīng)用中,回波信道環(huán)境相對固定,通過測定一個固定的回波路徑損耗值,就能很好的模擬信道,因而算法有很好的效果且實現(xiàn)簡單,運算復(fù)雜度低。但是它的局限性是比較門限的設(shè)定比較粗糙,難以普適于信道環(huán)境變化的場合。Geigel算法是能量比較法的典型代表。
H. Ye 和 B.X. Wu用遠端信號和誤差信號的互相關(guān)作為比較參數(shù),提出了改進的算法——相關(guān)檢測法[2]。當不存在雙端發(fā)聲時,自適應(yīng)濾波器能很好地逼近回波信道,誤差信號中殘留的遠端信號較小,使得該相關(guān)值較小。以該相關(guān)值作為比較參數(shù),當它大于0時,判定為雙端發(fā)聲。該算法實質(zhì)是通過判定自適應(yīng)濾波器的狀態(tài)進而判定雙講狀態(tài),將濾波器未收斂完成與雙講狀態(tài)相對應(yīng),但是由于回波信道或多或少會變換,自適應(yīng)濾波器會相應(yīng)的去自適應(yīng),使得該算法雙講檢測的性能較差。
T.Gansler提出了一種基于遠端信號和話筒輸入信號相關(guān)性的算法[3]。優(yōu)點是實現(xiàn)簡單且復(fù)雜度不高。缺點是不能充分的對相關(guān)值進行歸一化,得門限值的設(shè)定極大的取決于輸入信號的統(tǒng)計特性和回聲路徑特性。
利用固定門限來判定雙端發(fā)聲,J.Benesty提出了一種基于回波信號和近端信號歸一化互相關(guān)值的方法[4]。雖然能較好的應(yīng)用于大多數(shù)場合,但和上面提到的算法一樣,近端噪聲的加入仍然會影響它的判決精確度。
上述算法的一個共同缺點是不能適應(yīng)聲回波抵消環(huán)境中回波信道不斷變化的特性。于是,出現(xiàn)了一種新的算法——雙濾波器法[5]。它引入的輔助濾波器和系數(shù)緩存的概念。這種結(jié)構(gòu)中含有兩個濾波器,信道的跟蹤由自適應(yīng)濾波器完成,而回波抵消則由自適應(yīng)濾波器和輔助濾波器共同完成。主濾波器系數(shù)的更新過程一直進行,不受基于雙端發(fā)聲檢測的回波抵消控制器的控制。當雙端發(fā)聲使得自適應(yīng)濾波器系數(shù)發(fā)散時,通過回波抵消控制器的控制,使用輔助濾波器的濾波結(jié)果,從而保證回波抵消性能;當發(fā)生信道變化時,由于自適應(yīng)濾波器的系數(shù)更新過程一直進行,保證了自適應(yīng)濾波器能夠快速跟蹤信道的變化,同時根據(jù)自適應(yīng)濾波器在信道變化后的收斂程度決定此時選擇自適應(yīng)濾波器的輸出結(jié)果y(k),還是輔助濾波器的濾波結(jié)果ya(k)。顯然,在以上兩種情況下,輔助濾波器體現(xiàn)的是在自適應(yīng)濾波器系數(shù)發(fā)散前對信道的一個較好的逼近或估計。所以為了判定什么時刻自適應(yīng)濾波器系數(shù)是信道的一個較好的逼近,以便于以此刻的自適應(yīng)濾波器系數(shù)構(gòu)造輔助濾波器,首先要定義一個數(shù)值量來反映自適應(yīng)濾波器系數(shù)逼近信道程度,可以用相關(guān)檢測法中的歸一化互相關(guān)值來估計。
由上可以看出,雖然雙濾波器法仍然存在門限值的選定,對噪聲的敏感等問題會引起濾波器的發(fā)散,但是它引入了備用策略,輔助濾波器的系數(shù)定期保存著當前對信道的最佳逼近。所以,當主濾波器發(fā)散時,馬上用輔助濾波器進行回復(fù),使得整個回波抵消裝置不至于崩潰。但是,該算法的計算量偏大。
三、結(jié)束語
本文介紹了當前主要的一些雙端檢測算法。雙端檢測算法可以大致分為兩類:能量比較法和相關(guān)性比較法,各自存在優(yōu)缺點。能量比較法實現(xiàn)簡單,復(fù)雜度低,但是門限的選取較固定,難以適應(yīng)回聲環(huán)境變換的場合,性能較不可靠;而相關(guān)比較法對應(yīng)回聲環(huán)境變換的場合適應(yīng)性較好,相應(yīng)的,實現(xiàn)復(fù)雜度相對較高。雙濾波器法本質(zhì)上仍是能量比較法和相關(guān)比較法,只是增加了備份回退的策略。
參 考 文 獻
[1] D. L. Duttweiler, “A Twelve-channel Digital Echo Canceler,”IEEE Trans. Commun. Vol.26, No.5, pp.647-653, May 1978
[2] Hua Ye “A New Double-Talk Detection Algorithm Based on the Orthogonality Theorem”, IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 39, NO. 11, NOVEMBER 1991, pp.1542-1545
[3] Tomas Gander “A Double-Talk Detector Based on Coherence”, IEEE TRANSACTlONS ON COMMUNICATIONS, VOL. 44, NO. 11, NOVEMBER 1996, pp.1421-1427
[4] Benesty J, A new class of doubletalk detectors based on cross—correlation[J].IEEE Trans on Speech and Audio Processing,2000,8(2):168-172
[5] 汪萌 一種使用雙濾波器的回波消除算法 數(shù)據(jù)采集與處理 2006.3