一種無回聲殘留雙端通話魯棒的聲學回聲消除方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及一種聲學回聲消除方法。特別是設(shè)及一種無回聲殘留雙端通話魯棒的 聲學回聲消除方法。
【背景技術(shù)】
[0002] 聲學回聲主要是指從揚聲器發(fā)出的聲音被麥克風重新拾取后再次發(fā)送到遠端 形成的回聲。聲學回聲消除器(Acoustic Echo Cancellation,AEC)廣泛應(yīng)用于各種嵌 入式設(shè)備和各種VoIP應(yīng)用中,包括各種電信網(wǎng)絡(luò)設(shè)備和終端設(shè)備、豐富的軟件視頻會議 和VoIP軟件電話等。一般的聲學回聲消除器至少包含雙端通話檢測模塊值OUble Talk Detector, DTD)、線性回聲消除兩個部分。圖1是一個典型的聲學回聲消除器。
[0003] 麥克風在時刻n接收的信號為:
[0004] d(n) =y(n)+V(n)+W(n) 1. 1
[0005] 式中:d(n)代表近端信號,y(n)代表遠端信號x(n)經(jīng)過揚聲器播放后產(chǎn)生的回聲 信號,v(n)代表近端語音信號,w(n)代表近端噪聲信號。遠端信號x(n)經(jīng)過系統(tǒng)傳遞函數(shù) h濾波后形成回聲
[0006] y(n) = hT*x I. 2
[0007]其中,
[000引 hT=比。(n) hi (n), . . . , 1? (n) ] T
[0009] X=[X(n)X(n-1),. . . ,X(n-N+1)]T
[0010] X是遠端信號向量,N為房間沖擊響應(yīng)長度,T代表矩陣的轉(zhuǎn)置。
[0011] 回聲消除的目標就是設(shè)計一個自適應(yīng)有限沖擊響應(yīng)濾波器估計出介于麥克風與 揚聲器之間的回聲路徑苗:曲,然后根據(jù)運一估計路徑得到回聲估計信號.;?(/?),將其從d(n) 中消除,而保留V(n)。
[0012] = 13
[0013] 如")= v(") 1.4
[0014] e(n)代表線性回聲濾波器消除后得到的誤差信號,其中,
[001 引 = ,(")]' I5
[0016] L為自適應(yīng)濾波器長度,實際中一般L<N。一般認為,聲學回聲消除器處理的場 景分為=種情況:遠端情況,只存在回聲信號而不存在近端語音信號;近端情況,不存在回 聲,只存在近端語音信號;雙端通話情況,回聲信號與近端語音信號同時存在。
[0017] 線性回聲消除器主要依靠自適應(yīng)算法來估計回聲路徑,其中最簡單的自適應(yīng)算法 是最小均方誤差算法化east-mean-square,LM巧,其更新方程是
[001 引 6(/?) = h(fl -1)牛興*如")*卽?) U
[0019]y為自適應(yīng)濾波器的步長,步長越大,濾波器更新速度越快,回聲濾除地越干凈, 反之越慢。后來有人提出了歸一化最小均方誤差(Normalized Least-mean-square, NLM巧 算法,其基本思想是利用輸入信號的瞬時能量對步長進行歸一化,NLMS算法的更新方程是
1.6
[0021] 其中,I I M表示2-范數(shù),5為一正常數(shù)。
[0022] 隨后,又有人提出了許多變步長歸一化最小均方誤差(Vari油IeStepSize NormalizedLeast-mean-square,VSS-NLM巧算法,但W上算法在雙端通話和濾波 器欠定模型(濾波器長度小于實際房屋空間響應(yīng)長度)環(huán)境下,對回聲消除器的 工作有著很大的干擾。欠定模型雙端通話魯棒的變步長歸一化最小均方誤差算法 (DOUBLE-TALKROBUSTVariableStepSizeNormalizedLeast-mean-squareFor Under-modelin,VSS-NLMS-UMDT)是一種新型雙端通話魯棒的回聲消除算法,與其它 VSS-NLMS算法相比不需要雙端通話檢測器值TD),就能夠在欠定和雙端通話情況下穩(wěn)定工 作,對近端干擾不敏感,依然保持較小且穩(wěn)定的穩(wěn)態(tài)失調(diào),并且在實際應(yīng)用中易于實施與控 審IJ,不需要聲學環(huán)境的任何參數(shù),魯棒性很強。其提出的控制步長和更新方程是
[002引式中,丫。d是e(n)與d(n)之間的互相關(guān)估計,n (n)是濾波器的收斂性統(tǒng)計參數(shù), 巧、璋和參分別代表d(n)、j)(,!)和e(n)的能量期望估計,5、C均為一常數(shù)。W上參數(shù) 可由式1. 9和1. 10得到
[0026]丫ed(n) = E[e(n)*d(n)]=入丫ed(n-l)+(l-入)e(n)d(n) 1.9
1.1掙
[002引 E{ ?}表示數(shù)學期望,A是一極小正常數(shù),標記f康示序列P (n)的能量估計,它 可W通過指數(shù)遞歸公式來計算,計算方法是
[0029] 巧(") =乂巧("-I) +!.11
[0030] 該算法雖然優(yōu)勢明顯,但是仍存在一些嚴重問題,在實際的應(yīng)用中,采用VSS-NLMS 和VSS-NLMS-UMDT算法只能抵消大概25地的線性回聲,輸出信號中還有一些殘留回聲。運 主要是因為該算法的控制步長變化小,導(dǎo)致在遠端情況下步長不能足夠大,回聲就會被濾 除地不干凈,仍存在很多殘留,人耳感覺很明顯,嚴重降低整個系統(tǒng)性能。
【發(fā)明內(nèi)容】
[0031] 本發(fā)明所要解決的技術(shù)問題是,提供一種高性能、穩(wěn)健、魯棒的無回聲殘留雙端通 話魯棒的聲學回聲消除方法。
[0032] 本發(fā)明所采用的技術(shù)方案是:一種無回聲殘留雙端通話魯棒的聲學回聲消除方 法,包括如下步驟:
[0033] I)確定算法參數(shù):
[0034] 2)初始化濾波器,在濾波器初始時間M內(nèi)用濾波器步長極大值ymax更新濾波器, 要求M<L;
[0035] 3)先驗濾波,所述的先驗濾波,包括:去除遠端信號向量X中距離n時刻最遠的數(shù) 據(jù)X (n-L),將當前遠端信號X (n)更新至遠端信號向量X ;利用濾波器的前一狀態(tài)-jitV; -4估 計當前回聲信號,并將估計出的當前回聲信號從當前近端信號d(n)中濾除,得到先驗誤差 信號e (n);
[0036] 4)計算算法所需特征值;
[0037] 5)判斷雙端通話或回聲路徑的改變;
[0038] 6)進行步長更新;
[0039] 7)后驗濾波,將步驟6)得到的控制步長代入下式更新濾波器狀態(tài)Mn)
[0040] h(") =h(/? - 1) + 戶("沁(") 18
[0041]根據(jù)更新后濾波器狀態(tài)如;)計算出后驗誤差信號e(n),即為系統(tǒng)輸出。
[0042] 步驟1)所述的算法參數(shù)包括:包括語音采樣頻率fs,濾波器長度以濾波器狀態(tài) h川).濾波器步長y (n),濾波器步長極大值ymax和濾波器初始時間M,遠端信號向量X, 當前先驗誤差信號e (n),后驗誤差信號e(n),當前近端信號、當前遠端信號、當前估計回 聲信號和當前先驗誤差信號的能量期望估計巧、式、兩和勞,誤差信號與近端信號之間 的互相關(guān)估計丫。d,收斂性統(tǒng)計參數(shù)n (n),收斂性統(tǒng)計參數(shù)期望值exp n (n),收斂性統(tǒng)計 參數(shù)最小闊值和最大闊值min和max,雙端通話或回聲路徑改變標志flag, W及穩(wěn)定時間t, 算法參數(shù)中的n表示當前時刻。
[0043] 步驟4)所述的計算算法所需特征值包括如下步驟:
[0044] (1)計算出先驗誤差信號e(n)與當前近端信號d(n)之間的互相關(guān)估計Ted,當 前近端信號的能量期望估計參:,當前回聲信號的能量期望估計巧和當前先驗誤差信號的 能量期望估計巧;
[0045](2)將步驟(1)給出的參數(shù),代入如下公式得到收斂性統(tǒng)計參數(shù)n (n),
1 12
[0047](3)定義收斂性統(tǒng)計參數(shù)期望值exp n (n),計算公式是
[0048] exp n (n)=入水exp n + 入)* n (n) 1.13
[0049] A是在0~1/1000之間的正常數(shù)。
[0050] 步驟5)包括,設(shè)定當收斂性統(tǒng)計參數(shù)n (n)高于收斂性統(tǒng)計參數(shù)最大闊值max時 判斷為雙端通話或回聲路徑發(fā)生改變,將雙端通話或回聲路徑改變標志flag置1,由于說 話會持續(xù)一定時間,所W在一定的穩(wěn)定時間t內(nèi),一直采取濾波器步長Ji (n),定義時間計 數(shù)器
[0051] counter=1:桿S 1. 14
[0052] 穩(wěn)定時間內(nèi)每處理一次,時間計數(shù)器counter減一,每當收斂性統(tǒng)計參數(shù)n (n)高 于收斂性統(tǒng)計參數(shù)最大闊值max時,雙端通話或回聲路徑改變標志flag置1,重置時間計數(shù) 器counter ;當時間計數(shù)器counter減小到零時,表明持續(xù)時間結(jié)束,雙端通話或回聲路徑 改變標志flag置0。
[0053] 步驟6)中,若判斷當前通話狀況是處在遠端情況下,并且收斂性統(tǒng)計參數(shù)期望值 exp n (n)小于收斂性統(tǒng)計參數(shù)最小闊值min時,采取濾波器步長極大值y max ;若雙端通話 或回聲路徑改變標志flag為1,在穩(wěn)定時間內(nèi),即時間計數(shù)器大于0時,一直選取控制步長 公式來控制步長,每處理一次,計數(shù)器值減一。
[0054] 所述的控制步長公式是:
[0056] 5、C均為一常數(shù)。
[0057] 步驟7)中所述的根據(jù)更新后濾波器狀態(tài)hi、H)計算出后驗誤差信號e(n),是利用 更新后濾波器狀態(tài)估計當前回聲信號,并將估計出的當前回聲信號從當前近端信號 d(n)中濾除,得到后驗誤差信號e(n)。
[0058] 本發(fā)明的一種無回聲殘留雙端通話魯棒的聲學回聲消除方法,是一種高性能、穩(wěn) 健、魯棒的回聲消除方法,通過收斂性統(tǒng)計參數(shù)和其期望值選擇不同的控制步長調(diào)整方法, 實現(xiàn)在大部分遠端情況下選擇大步長更新濾波器,其余時間則選擇小步長更新濾波器,從 而實現(xiàn)有效、干凈地濾除回聲。與其它方法相比,本專利所提方法在遠端情況下線性回聲消 除后產(chǎn)生的誤差信號小得多,基本無回聲殘留;雙端通話下有效地濾除回聲并完整清晰地 保留了近端語音信號,穩(wěn)態(tài)失調(diào)??;近端情況不濾波,提高了聲學回聲消除系統(tǒng)性能,增強 了語音質(zhì)量。
【附圖說明】
[0059] 圖1是一個典型的聲學回聲消除器示意圖;
[0060] 圖2a是遠端語音信號時域圖;
[0061] 圖化是近端信號時域圖;
[0062] 圖2c是近端語音信號時域圖;
[0063] 圖3a是VSS-NLMS處理結(jié)果;
[0064] 圖 3b是VSS-NLMS-UMDT處理結(jié)果;
[0065] 圖 3c是VSS-NLMS-UMDT-CSE處理結(jié)果;
[0066] 圖4是本發(fā)明實施例處理流程圖。
【具體實施方式】
[0067] 下面結(jié)合實施例和附圖對本發(fā)明的一種無回聲殘留雙端通話魯棒的聲學回聲消 除方法做出詳細說明。
[0068] 本發(fā)明的一種無回聲殘留雙端通話魯棒的聲學回聲消除方法,是基于聲學回聲消 除VSS-NLMS-UMDT算法,利用收斂性統(tǒng)計參數(shù)和其期望值標定出聲學回聲消除系統(tǒng)中絕大 部分遠端情況,從而在此期間選取大步長更新濾波器,實現(xiàn)有效、干凈地過濾回聲,而其他 情況選取VSS-NLMS-UMDT算法的控制步長,提高聲學回聲消除系統(tǒng)性能。
[0069] 本發(fā)明的一種無回聲殘留雙端通話魯棒的聲學回聲消除方法,包括如下步驟:
[0070] 1)確定算法參數(shù):
[0071] 所述的算法參數(shù)包括:包括語音采樣頻率fs,濾波器長度以濾波器狀態(tài),濾 波器步長y (n),濾波器步長極大值y max和濾波器初始時間M,遠端信號向量X,當前先驗 誤差信號e (n),后驗誤差信號e(n),當前近端信號、當前遠端信號、當前估計回聲信號和 當前先驗誤差信號的能量期望估計萬、巧、巧和爹:,誤差信號與近端信號之間的互相關(guān) 估計丫。d,收斂性統(tǒng)計參數(shù)n (n),收斂性統(tǒng)計參數(shù)期望值exp n (