一種用于消除聲學(xué)回聲的自適應(yīng)濾波器及濾波方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種用于聲學(xué)回聲消除的頻域自適應(yīng)濾波器步長控制方法。
【背景技術(shù)】
[0002] 作為自適應(yīng)濾波的一個重要應(yīng)用,聲學(xué)回聲消除在語音通信和識別等領(lǐng)域都起著 舉足重輕的作用,而如何保持回聲消除器在雙講情況下的性能是聲學(xué)回聲消除技術(shù)的一個 重點。針對這一問題,已經(jīng)存在一些利用雙講檢測或者變步長控制技術(shù)的算法。一方面, Benesty和Sugiyama利用互相關(guān)分別提出頻域和時域的雙講檢測方法(Benestyetal.A newclassofdoubletalkdetectorsbasedoncross-correlation,IEEETrans.Speech andAudioProcessing, 2000;Sugiyamaetal.Noise-robustdouble-talkdetection basedonnormalizedcrosscorrelationandanoiseoffset,ICASSP,2005),但是算 法的準(zhǔn)確性分別受到環(huán)境噪聲和自適應(yīng)濾波器性能的影響。另一方面,Paleologu和Vega 提出對雙講比較魯棒的變步長控制方法(Paleologuetal.Variablestep-sizeNLMS algorithmforunder-modelingacousticechocancellation,IEEESignalProcessing Letters, 2008;Vegaetal.Anewrobustvariablestep-sizeNLMSalgorithm,IEEE Trans.SignalProcessing, 2008),使得濾波器即使在近端語音存在情況下也能獨立于雙 講檢測器正常收斂,但是初始收斂速度和穩(wěn)態(tài)誤差性能都有待進一步改善。由于雙講檢測 存在固有的延遲問題,因而魯棒性聲學(xué)回聲消除更多地通過可變步長控制方法實現(xiàn)。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的在于,為克服已有的變步長控制方法的不足,本發(fā)明提出一種用于 消除聲學(xué)回聲的自適應(yīng)濾波器及濾波方法。
[0004] 為實現(xiàn)上述目的,本發(fā)明提供一種用于消除聲學(xué)回聲的自適應(yīng)濾波器,所述自適 應(yīng)濾波器采用基于以下目標(biāo)函數(shù)的自適應(yīng)濾波算法:
[0005]
[0006] 其中,m表示頻率點,S(k,m)和是濾波器系數(shù)限制參數(shù),k表示數(shù)據(jù)塊 數(shù),arg表示定義域,EP()表示頻域后驗誤差,|EP(k,m) |2表示第k塊第m頻點的后驗誤差, Z表示復(fù)空間,s.t.表示"需滿足條件";W(k,m)表示更新前濾波器權(quán)值,W(k+l,m)表示更 新后濾波器權(quán)值;X(k,m)表示頻域參考信號;隊為整數(shù),且滿丨
fs表示聲卡 采樣率且單位為Hz,[]表示取整數(shù)運算。
[0007] 上述自適應(yīng)濾波器每迭代R次時才S(k,m)進行一次更新,更新公式為:
[0008]
[0009] 其中,R為大于1的自然數(shù),S^表示初始化值,k表示數(shù)據(jù)塊數(shù),Cm〇表示頻率加 權(quán)系數(shù)。
[0010] 可選的,上述頻率加權(quán)系數(shù)Cm(k)的計算公式如下:
_1] ,"、,…
[0012] 其中,Pm(k)表示第k塊第m個頻點濾波器權(quán)值的模,_表示第k塊各頻點濾波 器權(quán)值模的均值。
[0013] 進一步可選的,上述R取值為2或3。
[0014] 此外,本發(fā)明還提供一種用于消除聲學(xué)回聲的自適應(yīng)濾波方法,所述方法包含:
[0015]步驟1:遠(yuǎn)端麥克風(fēng)采集到的信號x(n),并將采集的信號經(jīng)過傅里葉變換后得到 X(k),將X(k)輸入自適應(yīng)濾波器的參考輸入信號;
[0016] 步驟2:對輸入的參考信號X(k)進行自適應(yīng)濾波,且進行自適應(yīng)濾波時采用以下 目標(biāo)函數(shù)的自適應(yīng)濾波算法:
[0017]
[0018] 其中,m表示頻率點,S(k,m)和是濾波器系數(shù)限制參數(shù),k表示數(shù)據(jù)塊 數(shù),arg表示定義域,EP()表示頻域后驗誤差,|EP(k,m) |2表示第k塊第m頻點的后驗誤差, Z表示復(fù)空間,s.t.表示"需滿足條件";W(k,m)表示更新前濾波器權(quán)值,W(k+l,m)表示更 新后濾波器權(quán)值;X(k,m)表示頻域參考信號;隊為整數(shù),且滿萬
,fs表示聲卡 采樣率且單位為Hz,[]表示取整數(shù)運算;
[0019]步驟3:將自適應(yīng)濾波器的輸出信號經(jīng)過逆傅里葉變換之后得到y(tǒng)(n),即估計的 回聲信號;
[0020] 從近端麥克風(fēng)采集的信號d(n)中減去y(n),得到的殘差信號e(n)即回聲消除后 的信號。
[0021] 上述自適應(yīng)濾波器每迭代R次時才S(k,m)進行一次更新,更新公式為:
[0022]
[0023] 其中,R為大于1的自然數(shù),S^表示初始化值,k表示數(shù)據(jù)塊數(shù),Cm〇表示頻率加 權(quán)系數(shù)。
[0024] 可選的,上述頻率加權(quán)系數(shù)cm(k)的計算公式如下:
[0025]
[0026]其中,Pm(k)表示第k塊第m個頻點濾波器權(quán)值的模,^表示第k塊各頻點濾波 器權(quán)值模的均值。
[0027] 所述的聲學(xué)回聲來自于遠(yuǎn)程會議、語音人機交互、免持電話或藍(lán)牙耳機式送受話 器語音通信終端。
[0028] 本發(fā)明優(yōu)點:自適應(yīng)濾波算法在頻域?qū)崿F(xiàn),計算量較小,離散傅里葉變換(DFT)固 有的去相關(guān)特性能夠提高濾波器在非白信號輸入情況下的收斂速度,而在頻域?qū)V波器系 數(shù)更新加以限制,能夠提高自適應(yīng)算法對雙講的魯棒性。
【附圖說明】
[0029] 圖1是時域自適應(yīng)濾波器的基本結(jié)構(gòu)圖;
[0030] 圖2是頻域自適應(yīng)濾波示意圖。
【具體實施方式】
[0031] 下面結(jié)合附圖和實施例對本發(fā)明所述方法進行詳細(xì)說明。
[0032] 本發(fā)明提供的技術(shù)方案收斂性能較好、穩(wěn)態(tài)誤差小且對雙講情況魯棒的步長控制 方法。該方法基于頻域濾波器實現(xiàn),通過對每次迭代過程中濾波器系數(shù)更新進行約束,獲得 較小的穩(wěn)態(tài)誤差和較好的雙講魯棒性能,同時在頻域?qū)s束條件進行更新,提高了濾波器 的收斂速度和跟蹤速度。具體描述如下:
[0033] (1)如圖1所示,遠(yuǎn)端信號x(n)由揚聲器播放,經(jīng)過空間傳播后,和本地環(huán)境聲音 v(n)-起,被近端麥克風(fēng)采集得到信號d(n),聲學(xué)回聲消除利用x(n)作為參考信號,通過 自適應(yīng)濾波方法對傳播路徑h(n)進行系統(tǒng)估計,并利用估計的系統(tǒng)參數(shù)w(n)對參考信號 進行濾波,進而消除d(n)中包含的回聲。
[0034] (2)時域自適應(yīng)濾波方法計算量很大,因而實際中多采用頻域自適應(yīng)濾波方法。如 圖2所示,將遠(yuǎn)端信號x(n)經(jīng)過FFT變換到頻域得到信號X(k),頻域濾波器系數(shù)為W(k), 濾波后的結(jié)果經(jīng)IFFT反變換到時域得到信號y(n),這里y(n)即為估計的回聲信號。
[0035] (3)從麥克風(fēng)信號d(n)中減去估計的回聲信號,得到殘差信號e(n)。一方面,e(n) 作為濾波結(jié)果直接輸出,另一方面,e(n)經(jīng)過FFT變換后得到E(k)對濾波器系數(shù)W(k)迭 代進行控制。
[0036] (4)濾波器系數(shù)W(k)的更新由約束條件限制。
[0037] 實施例
[0038] 圖1是時域自適應(yīng)濾波器的基本結(jié)構(gòu),利用x(n)作為參考信號,通過自適應(yīng)濾波 方法對傳播路徑h(n)進行系統(tǒng)估計,并利用估計的系統(tǒng)參數(shù)w(n)對參考信號進行濾波,進 而消除d(n)中包含的回聲。時域自適應(yīng)濾波方法計算量很大,因而實際中多采用頻域自適 應(yīng)濾波方法。
[0039] 與圖1等價的頻域自適應(yīng)濾波器結(jié)構(gòu)如圖2所示。自適應(yīng)濾波器長度記為N,頻域 自適應(yīng)濾波將數(shù)據(jù)按塊處理,定義輸入信號向量和濾波器系數(shù)向量如下式:
[0040]Xk=[x(kN_N),x(kN-N+1),…,x(kN+N-1)]T
[0041]wk = [wk;0,wk;1, . . . ,wk;N_J
[0042] 定義麥克風(fēng)輸入信號向量和殘差向量(即輸出信號向量)如下式所示:
[