本發明涉及到實時語音通信、人機交互過程中的回聲處理技術,特別涉及到一種自適應回聲消除中自適應濾波器系數更新方法。
背景技術:
在實時語音通信過程中,通信終端揚聲器發出的聲音,總會被該終端的麥克風拾取到,若是不處理就發送出去,對方總能聽到自己說話的聲音;在人機交互領域,由于交互終端發出的聲音又被麥克風拾取回去,同時拾取了控制者的說話聲,若在麥克風拾取信號中不消除交互終端發出的聲音,那么交互終端在識別控制者說話聲音時將引入很強的干擾,降低了識別的成功率,最終造成交互困難。因此,在實時語音通信過程中,需要對回聲進行自適應消除,自適應回聲消除通常是利用自適應濾波器來實現的,為了更好的實現回聲消除,需要根據實際的回聲干擾情況,對自適應濾波器的自適應濾波器系數進行更新。
針對自適應回聲消除中自適應濾波器系數更新的問題,現有技術也提出了一些技術方案,典型的如中國專利申請“一種用于消除聲學回聲的自適應濾波器及濾波方法”(申請號:201410073711.1)中所提出一種用于回聲消除的自適應濾波方案。該技術方案是一種頻域自適應濾波方法,利用遠端信號x(n)作為參考信號,通過自適應濾波對傳播路徑h(n)進行系統估計,并利用估計的系統參數w(n)對參考信號進行濾波,進而消除終端麥克風采集到的信號d(n)中的回聲得到殘差信號e(n)。一方面將e(n)作為濾波結果直接輸出,另一方面利用e(n)對自適應濾波器系數進行迭代控制。該方案中在對濾波器系數進行迭代控制時,自適應濾波器每迭代r次對濾波器系數限制參數進行一次更新,其中r是預先設定的固定值。
現有方案的問題在于:一方面,自適應濾波器系數的更新與濾波效果(殘留信號)沒有關聯起來,且沒有根據回聲強度實時調整自適應步長因子,不能很好的保證在各種不同的話音狀態下回聲消除的精確度。
技術實現要素:
為了解決現有技術中存在的上述問題,本發明提出了一種自適應回聲消除中自適應濾波器系數更新方法,以實現在各種話音狀態下有效的自適應回聲消除。
為了實現上述目的,本發明采用了以下技術方案:
一種自適應回聲消除中自適應濾波器系數更新方法,包括:
根據發音單元的參考信號x(k)通過自適應濾波器估計回聲信號y(k);
根據所述y(k)和麥克風拾取的信號d(k)計算殘留信號e(k):
e(k)=d(k)-y(k)
計算頻域參考信號x(f)的功率譜xpow(f);
計算頻域殘留信號e(f)的功率譜epow(f);
其中,e(f)=fft[0m個0,e(k)];
計算所述e(f)的共軛殘留信號e*(f)與所述x(f)的相關功率譜xepow(f);
xepow(f)=||x(f)·e*(f)||2
計算x(f)與e*(f)的相關系數cohxe(f);
將各cohxe(f)中的中間值cohxemed作為自適應濾波器在各頻點的自適應步長因子,更新自適應濾波器系數:
其中,所述k為時刻,k=1,2……m,m為所述自適應濾波器長度;所述f為頻點;wk+1(f)為頻點f的更新后的自適濾波器系數;wk(f)為頻點f的更新前的自適應濾波器系數。
進一步的,所述估計回聲信號y(k)包括:
將揚聲器單元的參考信號x(k)轉換為頻域參考信號x(f);
x(f)=fft[x(k-m),...,x(k),...,x(k+m-1)]
估計頻域回聲信號y(f),
對所述y(f)進行快速傅立葉逆變換獲得y(k);
y(k)=ifft[y(f)]
其中,所述ifft為快速傅立葉逆變換,
進一步,所述更新自適應濾波器系數包括:
對所述頻域殘留信號e(f)進行歸一化處理,獲得歸一化后的頻域殘留信號enor(f);
根據所述enor(f)更新自適應濾波器系數。
本發明的技術方案將殘留信號與參考信號之間的相關系數作為自適應步長因子來實現自適應濾波器系數的更新,對各話音狀態均可進行極大限度的回聲消除。通話狀態通常分為四種,遠端單講、近端單講、雙端講話、雙端靜默。對遠端單講狀態,麥克風拾取的是回聲信號,在自適應濾波器的初始階段,自適應濾波器有一個收斂過程,殘留信號與麥克風拾取的回聲信號強度相當,那么參考信號與殘留信號直接的相關性很強,則對應的自適應步長因子也較大,當自適應濾波器進入穩定狀態時,殘留信號幾乎為0,此時回聲信號與殘留信號的相關性非常弱,僅對自適應濾波器系數進行微調。對近端單講狀態,殘留信號為麥克風拾取的本端話音,參考信號為0,此時計算出的相關系數為0,無需對自適應濾波器進行更新,而實際上此時并沒有回聲,確實不需進行回聲消除。雙端靜默狀態,殘留信號與參考信號都很弱,相關系數也會很小。同時,本發明技術方案中使用各頻點相關系數的中間值作為自適應步長因子,體現了相關性集中趨勢,能進一步提高自適應濾波的效果。本發明的技術方案能有效的提高回聲消除的精確度。
附圖說明
圖1本發明自適應回聲消除中自適應濾波器系數更新方法流程圖。
具體實施方式
為了更好的說明本發明的技術方案,下面結合附圖對本發明的具體實施方式進行詳細描述。
具體實施例
本實施例為本發明自適應回聲消除中自適應濾波器系數更新方法的一種優選實施方式。
參見圖1,本實施例的自適應回聲消除中自適應濾波器系數更新方法流程如圖1所示,包括:
s1、根據發音單元的參考信號x(k)通過自適應濾波器估計回聲信號y(k);
作為本實施例的一種優選實現方案,本步驟還可以經一部包括:
s101、將揚聲器單元的參考信號x(k)轉換為頻域參考信號x(f)。
x(f)=fft[x(k-m),...,x(k),...,x(k+m-1)]
s102、估計頻域回聲信號y(f),
其中,w(f)為當前的自適應濾波器系數;
s103、根據所述y(f)獲得所述y(k):
y(k)=ifft[y(f)]
其中,所述fft為傅立葉變換,所述ifft為傅立葉逆變換;
本是實例中,本步驟也可以通過其他方式對回聲信號進行估計,本發明對此沒有限制。
s2、根據所述y(k)和麥克風拾取的信號d(k)計算殘留信號e(k):
e(k)=d(k)-y(k)
s3、計算頻域參考信號x(f)的功率譜xpow(f):
xpow(f)=||x(f)||2
s4、計算頻域殘留信號e(f)的功率譜epow(f):
epow(f)=||e(f)||2
其中,
s5、計算所述e(f)的共軛殘留信號e*(f)與所述x(f)的相關功率譜xepow(f);
xepow(f)=||x(f)·e*(f)||2
s6、計算x(f)與e*(f)的相關系數cohxe(f);
s7、將各cohxe(f)中的中間值cohxemed作為自適應濾波器在各頻點的自適應步長因子μ(f),更新自適應濾波器系數;
本實施例中,
本實施例中,本步驟可以根據所述x(f)、所述e(f)和所述cohxe(f)直接更新自適應濾波器系數:
其中,所述k為時刻,k=1,2……m,m為所述自適應濾波器長度;所述f為頻點;wk+1(f)為頻點f的更新后的自適濾波器系數;wk(f)為頻點f的更新前的自適應濾波器系數。
作為本實施例的一種優選實現方案,本步驟還可以包括:
s701、對所述頻域殘留信號e(f)進行歸一化處理,獲得歸一化后的頻域殘留信號enor(f);
s702、根據所述enor(f)更新自適應濾波器系數。
其中,所述k為時刻,k=1,2……m,m為所述自適應濾波器長度;所述f為頻點;wk+1(f)為頻點f的更新后的自適濾波器系數;wk(f)為頻點f的更新前的自適應濾波器系數。
雙端講話狀態時,自適應濾波器是需要更新的,且參考信號與殘留信號的相關性很強,但作為反饋信號的殘留信號包含有本端話音,若直接反饋到自適應濾波器系數,勢必會造成濾波器發散,本優選實現方案首先將頻域殘留信號進行歸一化處理,再利用歸一化后的頻域殘留信號來更新自適應濾波器系數,能很好地解決濾波器發散的問題。
需要說明的是,以上實施例僅用以說明本發明的技術方案而非限制,盡管參照較佳實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改或者等同替換,而不脫離本發明技術方案的宗旨和范圍,其均應涵蓋在本發明的權利要求范圍當中。