本發(fā)明涉及一種仿射投影方法。特別是涉及一種針對于聲學(xué)回聲消除中雙端通話問題自適應(yīng)濾波的雙端通話魯棒的變階變步長仿射投影方法。
背景技術(shù):
聲學(xué)回聲主要是指從揚(yáng)聲器發(fā)出的聲音被麥克風(fēng)重新拾取后再次發(fā)送到遠(yuǎn)端形成的回聲。聲學(xué)回聲消除器(Acoustic Echo Cancellation,AEC)廣泛應(yīng)用于各種嵌入式設(shè)備和各種VoIP應(yīng)用中,包括各種電信網(wǎng)絡(luò)設(shè)備和終端設(shè)備、豐富的軟件視頻會議和VoIP軟件電話等。一般的聲學(xué)回聲消除器至少包含雙端通話檢測模塊(Double Talk Detector,DTD)、線性回聲消除兩個部分。圖1是一個典型的聲學(xué)回聲消除器。麥克風(fēng)在時刻n接收的信號為:
d(n)=y(tǒng)(n)+v(n)+w(n) 1.1
式中:d(n)代表麥克風(fēng)信號,y(n)代表輸入信號x(n)經(jīng)過揚(yáng)聲器播放后產(chǎn)生的回聲信號,v(n)代表近端語音信號,w(n)代表近端噪聲信號。輸入信號x(n)經(jīng)過系統(tǒng)傳遞函數(shù)h濾波后形成回聲
y(n)=x(n)T*h 1.2
其中,
h=[h0(n),h1(n),...,hN(n)]T 1.3
x(n)=[x(n),x(n-1),...,x(n-N+1)]T 1.4
x(n)是輸入信號向量,N為回聲路徑長度,T代表矩陣的轉(zhuǎn)置。
回聲消除的目標(biāo)就是設(shè)計(jì)一個自適應(yīng)有限沖擊響應(yīng)濾波器估計(jì)出介于麥克風(fēng)與揚(yáng)聲器之間的回聲路徑然后根據(jù)這一估計(jì)路徑得到回聲估計(jì)值將其從d(n)中消除,從而保留v(n)。
e(n)代表線性回聲濾波器消除后得到的誤差信號,其中,
L為自適應(yīng)濾波器長度,實(shí)際中一般L<N。一般認(rèn)為,聲學(xué)回聲消除器處理的場景分為三種情況:遠(yuǎn)端情況,只存在回聲信號而不存在近端語音信號;近端情況,不存在回聲,只存在近端語音信號;雙端通話情況,回聲信號與近端語音信號同時存在。
線性回聲消除器主要依靠自適應(yīng)算法來估計(jì)回聲路徑,由于仿射投影算法(Affine Projection Algorithm,APA)能夠在收斂速度和計(jì)算復(fù)雜度之間取得較好折衷而被廣泛應(yīng)用,其更新方程是
其中μ為自適應(yīng)濾波器的步長,為單位矩陣,Kmax為投影階數(shù)最大值,為輸入信號矩陣,δ為以常數(shù)稱為正則化因子,為前驗(yàn)誤差信號向量,計(jì)算方法是
其中d(n)=[d(n),...,d(n-Kmax+1)]T。
近幾年,有人考慮了近端信號的變化,提出將步長μ替換為對角矩陣μ(n),表示為:
其更新方程是
其中
l=0,1,...,Kmax-1,λ=1-1/(6*N)。代表麥克風(fēng)信號功率估計(jì),代表回聲信號功率估計(jì),代表誤差信號功率估計(jì)。
該算法雖然對于近端信號有一定的魯棒性,但是隨著仿射投影階數(shù)的增大,該方法的收斂速度將提升,而魯棒性會變差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是,提供一種在聲學(xué)回聲消除中自適應(yīng)地調(diào)整仿射投影階數(shù),使之既能取得較快的收斂速度,又能取得較好的雙端通話魯棒性的雙端通話魯棒的變階變步長仿射投影方法。
本發(fā)明所采用的技術(shù)方案是:一種雙端通話魯棒的變階變步長仿射投影方法,包括如下步驟:
1)初始化濾波器的參數(shù):
將濾波器系數(shù)麥克風(fēng)信號功率估計(jì)回聲信號功率估計(jì)誤差信號功率估計(jì)均初始化為0,對步長μ、正則化因子δ、雙端講話狀態(tài)仿射投影階數(shù)Ks和最大仿射投影階數(shù)Kmax進(jìn)行初始化;
2)更新輸入信號與麥克風(fēng)信號:
獲取當(dāng)前時刻麥克風(fēng)信號d(n)和輸入信號x(n),并更新至麥克風(fēng)信號向量d(n)和輸入信號向量x(n)中,其中,所述的麥克風(fēng)信號向量d(n)表示為d(n)=[d(n),...,d(n-Kmax+1)]T,所述的輸入信號向量x(n)表示為x(n)=[x(n),x(n-1),...,x(n-N+1)]T,N為回聲路徑長度,T代表矩陣的轉(zhuǎn)置;
3)計(jì)算先驗(yàn)信息:
根據(jù)前一時刻估計(jì)的濾波器系數(shù)計(jì)算出先驗(yàn)誤差信號矩陣和回聲信號所述的先驗(yàn)誤差信號矩陣其中,是輸入信號矩陣,所述的回聲信號
計(jì)算當(dāng)前時刻的麥克風(fēng)信號功率估計(jì)回聲信號功率估計(jì)和誤差信號功率估計(jì)
4)計(jì)算步長:
根據(jù)當(dāng)前時刻的麥克風(fēng)信號功率估計(jì)回聲信號功率估計(jì)和誤差信號功率估計(jì)獲得當(dāng)前時刻的步長矩陣μ(n)如下:
其中,
式中,l=0,1,...,Kmax-1;
5)長自信息及其相關(guān)計(jì)算:
利用步驟4)得到的當(dāng)前時刻的步長矩陣μ(n),計(jì)算步長自信息量I(μl(n)),
l=0,1,...,Kmax-1,然后求出第一個步長自信息量在整個步長矩陣中所占比例prop0(n),
6)確定仿射投影階數(shù):
若第一個步長自信息量所占比例prop0(n)小于1/Kmax-ε,則認(rèn)為自適應(yīng)濾波器處于雙端講話狀態(tài),令仿射投影階數(shù)Kn=Ks,其中ε為常數(shù)稱為約束因子;
7)更新濾波器系數(shù):
根據(jù)仿射投影階數(shù)Kn,選擇對應(yīng)長度的輸入信號矩陣先驗(yàn)誤差信號矩陣和步長矩陣代入下式進(jìn)行濾波器的更新:
步驟3)所述的計(jì)算當(dāng)前時刻的麥克風(fēng)信號功率估計(jì)公式如下:
所述的計(jì)算當(dāng)前時刻的回聲信號功率估計(jì)公式如下:
所述的計(jì)算當(dāng)前時刻的誤差信號功率估計(jì)公式如下:
其中,l=0,1,...,Kmax-1,λ=1-1/(6*N)。
本發(fā)明的一種雙端通話魯棒的變階變步長仿射投影方法,用于聲學(xué)回聲消除器,能夠使聲學(xué)回聲消除器在雙端講話時選擇較小的仿射投影階數(shù),而在收斂時選擇較大的仿射投影階數(shù)。因此本方法提出的方法,可以有效解決收斂速度與雙端講話魯棒性之間的矛盾,從而獲得更好的性能。本方法的魯棒性更強(qiáng)且沒有降低其它性能。
附圖說明
圖1是典型的聲學(xué)回聲消除系統(tǒng);
圖2是本發(fā)吸的方法與其它方法的性能對比;
圖3是本發(fā)吸的方法與其它方法的性能對比。
具體實(shí)施方式
下面結(jié)合實(shí)施例和附圖對本發(fā)明的一種雙端通話魯棒的變階變步長仿射投影方法做出詳細(xì)說明。
本發(fā)明的一種雙端通話魯棒的變階變步長仿射投影方法,主要解決在聲學(xué)回聲消除中濾波器受雙端講話影響而發(fā)散問題。本發(fā)明通過定義的步長自信息量自適應(yīng)地調(diào)整仿射投影階數(shù),使之能夠在雙端講話時維持較小的仿射投影階數(shù),獲得較好的魯棒性。而在收斂時使用較大的仿射投影階數(shù),獲得較快的收斂速度。
本發(fā)明的一種雙端通話魯棒的變階變步長仿射投影方法,包括如下步驟:
1)初始化濾波器的參數(shù):
將濾波器系數(shù)麥克風(fēng)信號功率估計(jì)回聲信號功率估計(jì)誤差信號功率估計(jì)均初始化為0,對步長μ、正則化因子δ、雙端講話狀態(tài)仿射投影階數(shù)Ks和最大仿射投影階數(shù)Kmax進(jìn)行初始化;
本發(fā)明實(shí)施例設(shè)定對數(shù):濾波器系數(shù)近端信號功率估計(jì)回聲信號功率估計(jì)誤差信號功率估計(jì)雙端講話仿射投影階數(shù)Ks=2,約束因子ε=1/(5Kmax),最大仿射投影階數(shù)Kmax=8,濾波器長度N=1024,正則化因子其中λ=1-1/(6N)。近端信號中加入信噪比20dB的獨(dú)立平穩(wěn)高斯白噪聲。
2)更新輸入信號與麥克風(fēng)信號:
獲取當(dāng)前時刻麥克風(fēng)信號d(n)和輸入信號x(n),并更新至麥克風(fēng)信號向量d(n)和輸入信號向量x(n)中,其中,所述的麥克風(fēng)信號向量d(n)表示為d(n)=[d(n),...,d(n-Kmax+1)]T,所述的輸入信號向量x(n)表示為x(n)=[x(n),x(n-1),...,x(n-N+1)]T,N為回聲路徑長度,T代表矩陣的轉(zhuǎn)置;
3)計(jì)算先驗(yàn)信息:
根據(jù)前一時刻估計(jì)的濾波器系數(shù)計(jì)算出先驗(yàn)誤差信號矩陣和回聲信號所述的先驗(yàn)誤差信號矩陣其中,是輸入信號矩陣,所述的回聲信號
計(jì)算當(dāng)前時刻的麥克風(fēng)信號功率估計(jì)回聲信號功率估計(jì)和誤差信號功率估計(jì)其中
所述的計(jì)算當(dāng)前時刻的麥克風(fēng)信號功率估計(jì)公式如下:
所述的計(jì)算當(dāng)前時刻的回聲信號功率估計(jì)公式如下:
所述的計(jì)算當(dāng)前時刻的誤差信號功率估計(jì)公式如下:
其中,l=0,1,...,Kmax-1,λ=1-1/(6*N)。
4)計(jì)算步長:
根據(jù)當(dāng)前時刻的麥克風(fēng)信號功率估計(jì)回聲信號功率估計(jì)和誤差信號功率估計(jì)獲得當(dāng)前時刻的步長矩陣μ(n)如下:
其中,
式中,l=0,1,...,Kmax-1;
5)長自信息及其相關(guān)計(jì)算:
利用步驟4)得到的當(dāng)前時刻的步長矩陣μ(n),計(jì)算步長自信息量I(μl(n)),
l=0,1,...,Kmax-1,然后求出第一個步長自信息量在整個步長矩陣中所占比例prop0(n),
6)確定仿射投影階數(shù):
若第一個步長自信息量所占比例prop0(n)小于1/Kmax-ε,則認(rèn)為自適應(yīng)濾波器處于雙端講話狀態(tài),令仿射投影階數(shù)Kn=Ks,其中ε為常數(shù)稱為約束因子;
7)更新濾波器系數(shù):
根據(jù)仿射投影階數(shù)Kn,選擇對應(yīng)長度的輸入信號矩陣先驗(yàn)誤差信號矩陣和步長矩陣代入下式進(jìn)行濾波器的更新:
如圖2、圖3所示,圖中黑色實(shí)線代表本方法的失調(diào)曲線??梢悦黠@看出,本方法的魯棒性更強(qiáng)且沒有降低其它性能。