徐 麗,巨永鋒
(1.長安大學 信息工程學院,陜西 西安 710064;2.長安大學 電子與控制工程學院,陜西 西安 710064)
近年來隨著VoIP的普及,網(wǎng)絡(luò)回聲消除已經(jīng)成為當今的研究熱點。在網(wǎng)絡(luò)回聲消除器中,通常需要對大量的抽頭權(quán)系數(shù)進行更新,且其輸入信號的相關(guān)性較強。這些特點使得傳統(tǒng)的LMS和NLMS自適應(yīng)濾波算法在這類應(yīng)用中受到了限制。由Lee等人 提出的歸一化子帶自適應(yīng)濾波器(NSAF)因其固有的去相關(guān)和最小擾動特性較好地解決了這些問題[1]。然而在網(wǎng)絡(luò)回波路徑的沖激響應(yīng)向量中大多數(shù)元素較小,只有部分元素較大[2]。因此讓那些活躍的系數(shù)有更大的更新速度可以加快收斂速度,傳統(tǒng)的子帶濾波算法由于未利用回聲路徑的稀疏特性,收斂速度會變得緩慢。文獻[3]提出的PNLMS算法具有很快的初始收斂速度,但如果回聲路徑發(fā)生色散,則其收斂速度遠低于NLMS算法。針對這個問題,人們提出了各種改進算法,其中文獻[4]基于最速下降理論提出了MPNLMS算法,其采用最優(yōu)的步長控制矩陣使得大系數(shù)和小系數(shù)同時收斂到最優(yōu)值的某個領(lǐng)域,從而使算法在整個自適應(yīng)過程中都保持很快的收斂速度,但其每次迭代增加了對數(shù)運算,為此,文獻[4]同時提出了SPNLMS算法,其使用一個折線近似估計MPNLMS算法中的函數(shù),在不損失性能的前提下免去了MPNLMS算法中的對數(shù)運算。該算法在遇到稀疏回聲路徑時,收斂速度大大快于NLMS算法;在遇到色散回聲路徑時,收斂速度不低于NLMS算法。然而當輸入序列為有色信號或強相關(guān)性的語音信號時,以上比例算法的收斂速度明顯下降。針對這一問題,文中結(jié)合子帶濾波和比例算法的優(yōu)點,提出了一種基于子帶分解結(jié)構(gòu)的分割式比例歸一化算法。仿真結(jié)果表明,當輸入為強相關(guān)信號時,新算法具有更快的收斂速度和系統(tǒng)跟蹤能力。
圖1是網(wǎng)絡(luò)回聲消除器的原理框圖,圖中w(n)=[w1(n)w2(n)...wL(n)]T表示自適應(yīng)濾波器在時刻的系數(shù)向量,L 為自x(n)h(n)產(chǎn)生回聲yˉ(n), 回聲yˉ(n)混和近端干擾信號 v(n)得到期望信號d(n)。聲回波消除即通過使用FIR自適應(yīng)濾波器w(n)來模擬沖激響應(yīng)長度為L的回波路徑h(n),產(chǎn)生一個同回聲yˉ(n)盡量相似的信號 y(n), 然后將 y(n)從期望信號 d(n)中減去,從而達到回聲消除的目的。
圖1 網(wǎng)絡(luò)回聲消除器原理框圖Fig.1 Network echo canceller diagram
文獻[1]將橫向自適應(yīng)FIR濾波器擴展到子帶方法,提出了圖2所示的子帶自適應(yīng)濾波器結(jié)構(gòu)。圖中↓B和↑B分別表示對信號進行B倍抽取和B倍內(nèi)插,輸入信號矢量x(n)=[x(n)x(n-1)...x(n-L+1)]T經(jīng)過分析濾波器組 Fi(z)(0≤i<B-1)分解為B個位于不同頻帶上子帶信號,用xi(n)表示,然后在每個子帶上分別進行自適應(yīng)信號處理,再把處理后的信號通過綜合濾波器組Gi(z)合成為全頻帶信號進行輸出。
圖2 子帶自適應(yīng)濾波器結(jié)構(gòu)Fig.2 Sub-band adaptive filter structure
根據(jù)文獻[5],歸一化子帶濾波算法(Sub-band NLMS)系數(shù)更新過程可表示為:
其中 w(k)=[w1(k)w2(k)...wL(k)]T為自適應(yīng)濾波器在時刻的系數(shù)向量,且每輸入B個信號樣值,該向量更新一次;xi(k)=[xi(kB)xi(kB-1)...xi(kB-L+1)]T為 kB 時刻的第 i個子帶輸入信號向量;ei,D(k)=di,D(k)-xTi(k)w(k)為 kB 時刻第 i個子帶系統(tǒng)誤差信號;α為步長。
歸一化子帶濾波算法算法中系數(shù)的更新速度是一樣的,而在實際情況中回聲路徑是稀疏的,有大量系數(shù)為零。因此讓那些活躍的系數(shù)有更大的更新速度可以提高系統(tǒng)的收斂速度。受此啟發(fā),文中在Sub-band NLMS算法中引入一個步長控制矩陣G(k)=diag{g1(k) g2(k)...gL(k)}分別為各個濾波器系數(shù)賦予不同的步長,步長控制因子gl(k)值大意味著濾波器系數(shù)有一個較大的步長。于是可得到Sub-band PNLMS的系數(shù)更新表達式:
G(k)中步長控制因子gl(k)的遞推計算可歸納為:
其中:?用來防止所有系數(shù)為零時算法凍結(jié),一般取?=0.01; ξl(k)用于對 ψ(k)進行輕微調(diào)節(jié);ρ用于防止系數(shù)相差過大而引起參數(shù)更新停止,取值在 1/L~5/L 之間。 根據(jù) f(wl(k))定義的不同可分為幾種不同的Proportionate算法。文獻[3]中通過令f(wl(k))=|wl(l)|,使得各個系數(shù)的步長與該系數(shù)的絕對值成正比,加快了活動系數(shù)的收斂速度,其具有很快的初始收斂速度,但后期收斂速度會變得很慢。文獻[4]提出的MPNLMS算法利用μ函數(shù)替代|wl(k)|解決了這一問題,但其每次迭代中需要L次對數(shù)運算,為降低計算復(fù)雜度,在保證收斂性能相當?shù)那闆r下,文獻進一步提出使用一個折線來近似μ函數(shù),將其運用到文中所提算法中,可得到 Sub-band SPNLMS 中 f(wl(k))的計算表達式:
綜上所述,Sub-band SPNLMS算法系數(shù)更新過程可描述為:
為了檢驗文中算法在回聲消除中的性能,利用文獻[6]中方法模擬生成一稀疏回聲路徑(如圖3所示,其沖激響應(yīng)長度L=512),比較文中所提Sub-band SPNLMS算法與文獻[1]所提Sub-band NLMS算法、文獻[4]所提SPNLMS算法收斂性能。分別使用高斯白噪聲通過一階系統(tǒng) 1/(1-0.8z-1)產(chǎn)生的 AR(1)過程和真實語音作為遠端輸入信號,期望信號由輸入信號通過回聲路徑再迭加上與輸入信號獨立的白高斯觀測噪聲v(n)得到,信噪比為20 dB;Sub-band SPNLMS算法和Sub-band NLMS算法中子帶數(shù)目B=4。各種算法步長參數(shù)設(shè)置為:α=0.2。
圖3 稀疏回聲路徑Fig.3 Sparse echo path
圖4 輸入信號為AR(1)時,3種自適應(yīng)回聲消除算法收斂性能比較Fig.4 Comparison of convergence of three adaptive echo canceller algorithm when input is AR(1)
圖4 比較了使用圖3所示的稀疏回聲路徑時新算法和相關(guān)自適應(yīng)算法的收斂性能,該仿真的輸入為AR(1)過程,可以看出,Sub-band SPNLMS比SPNLMS有更快的初始收斂速度。在相同的子帶數(shù)目下,新算法與Sub-band NLMS相比,因其利用了回聲路徑的稀疏特性,在穩(wěn)態(tài)性能相當?shù)那闆r下,具有更快的收斂速度。
圖5比較了輸入為語音時新算法和相關(guān)算法的收斂性能,其他仿真條件與圖4中相同,從圖中可以看出:文中所提的Sub-band SPNLMS算法在這種輸入信號的情況下,具有比其他2種算法更快的收斂速度,且比Sub-band NLMS算法穩(wěn)態(tài)性能有約2 dB的提高。
圖5 輸入為語音信號時,3種自適應(yīng)回聲消除算法收斂性能比較Fig.5 Comparison of convergence of three adaptive echo canceller algorithm when input is speech signal
圖6 比較了相關(guān)算法跟蹤能力,仿真回聲路徑突變發(fā)生在2.5×104迭代時,其變化情況為由圖3所示的回聲路徑向右平移12個樣本。其它仿真條件與圖4中相同。由圖可見當回聲路徑突然變化后,Sub-band SPNLMS算法與Sub-band NLMS算法相比,有更快的跟蹤速度。
圖6 3種自適應(yīng)回聲消除算法跟蹤能力比較Fig.6 Comparison of tracking of three adaptive echocanceller algorithm
文中將已有的適用于稀疏信道的Proportionate NLMS算法向子帶自適應(yīng)濾波器進行擴展,提出了一種基于子帶分解結(jié)構(gòu)的分割式比例歸一化算法。理論分析和仿真結(jié)果表明:所提算法能夠迅速有效地接近最佳權(quán)系數(shù)值,并能獲得較小的穩(wěn)態(tài)失調(diào);當輸入為AR(1)過程和強相關(guān)的語音信號時,本文算法均較Sub-band NLMS算法和SPNLMS算法有更好的性能,而且當系統(tǒng)發(fā)生突變時,該算法仍能快速收斂。
[1]Lee K A,Gan W S.Improving convergence of the NLMS algorithm using constrained subband updates[J].IEEE Signal Processing Letters,2004,11(9):736-739.
[2]Godavarti M,Hero III AO.Partial update LMSalgorithms[J].IEEE Signal Processing, 2005,53(7):2382–2399.
[3]Duttweiler D L.Proportionate normalized least-mean-squares adaptation in echo cancellers[J].IEEE Trans.Speech Audio Process,2000,8(5):508–518.
[4]Hongyang D,Doroslovacki K.Improving convergence of the PNLMS algorithm for sparse impulse response identification[J].IEEE Signal Processing Letters,2005,12(3):181-184.
[5]Nekuii M,Atarodi M.A fast converging algorithm for network echo cancellation[J].IEEE Signal Processing Letters,2004,11(4):427-430.
[6]Andy WH,Khong,Naylor PA.Efficient useof sparseadaptive filters signals[J].System and Computers,2006,10(6):1375-1379.