專利名稱::一種基于時間反轉(zhuǎn)的聲反饋抑制方法
技術(shù)領域:
:本發(fā)明涉及聲反饋抑制領域,特別涉及一種基于時間反轉(zhuǎn)的聲反饋抑制方法。
背景技術(shù):
:在助聽器或公共擴音系統(tǒng)中,揚聲器發(fā)出的聲音會反饋到麥克風,被麥克風拾取后再次通過揚聲器播放出去,這就形成了一個回路。如果滿足一定的條件,系統(tǒng)就會產(chǎn)生嘯口4。嘯叫的產(chǎn)生限制了系統(tǒng)增益的進一步提高,因而必須采取一定的措施來抑制聲反饋。聲反饋抑制在有的文獻也被稱為“嘯叫抑制”、“聲反饋控制”或“反饋消除”。如圖I所示,圖I為聲反饋產(chǎn)生原理框圖。s(n)表示近端信號,這是需要放大的目標信號;x(n)表示從揚聲器發(fā)出的聲音經(jīng)過反饋路徑模塊102反饋到麥克風,被麥克風拾取到的反饋信號;X(ri)不是期望接收的信號,需要在輸出之前把它消除掉。前向處理路徑模塊104包括反饋抑制和增益調(diào)節(jié)等功能。輸入s(n)到輸出u(n)之間的傳遞函數(shù)為G(z)/(l-G(z)F(z)),如果同時滿足(a)G(z)F(z)|彡I;(b)ZG(z)F(z)=2Jin,nGN,則該系統(tǒng)將變得不穩(wěn)定,在滿足條件的頻率點上就會發(fā)生嘯叫。聲反饋抑制已經(jīng)成為一個重要的研究領域,目前主要有三種解決方法第一種方法是移頻法,這種方法通過破壞嘯叫發(fā)生的相位條件來達到嘯叫抑制的目的。這種方法的優(yōu)點是計算復雜度低,實現(xiàn)簡單,主要的系統(tǒng)開銷在于解析信號的計算和分數(shù)延遲濾波器的實現(xiàn)。然而,它的缺點也是明顯的,已有的移頻法大概只能提供6dB的最大穩(wěn)定增益(MSG,maximumstablegain),而且移頻法是在前向處理路徑實現(xiàn),這會導致語音質(zhì)量的下降。另外,據(jù)報道在多通道系統(tǒng)中該算法的穩(wěn)定性會隨著通道數(shù)目的增加而下降。第二種方法是陷波器法,這種方法首先尋找可能發(fā)生反饋的頻率點,然后將信號中這些過強的頻率成分裳減掉來達到反饋抑制的目的。在實際系統(tǒng)中,有可能存在多個嘯叫點,為了保證系統(tǒng)穩(wěn)定需要配置多個陷波器,這不可避免的會導致語音質(zhì)量的下降,實際中陷波器法只能提供5dBSdB的MSG。嘯叫頻率點的檢測也比較困難,通常需要調(diào)節(jié)很多參數(shù),而已有的文獻中很少有調(diào)節(jié)這些參數(shù)的指導性意見。第三種方法是自適應濾波器法,其工作原理是用濾波器來模擬聲音通過揚聲器發(fā)出,再從麥克風進來,這個傳播通道的傳輸特性,使得從濾波器出來的信號和實際上從揚聲器發(fā)出反饋到麥克風的信號一致,然后再從麥克風的輸入信號中把該部分信號減掉,達到消除反饋的目的。自適應濾波器法分為不連續(xù)反饋抑制和連續(xù)反饋抑制兩種。不連續(xù)反饋抑制的主要缺點是這種方法需要中斷正常輸入語音信號,這在助聽器中可能是允許的,而在公共擴音系統(tǒng)中這樣的做法往往不被接受。連續(xù)反饋抑制能夠不斷地更新濾波器系數(shù),由于近端語音和揚聲器的輸出信號具有相關性,這導致其濾波器系數(shù)的估計是有偏的。反饋抑制一般使用NLMS算法,這主要是由于該算法的魯棒性和易實現(xiàn)性。自適應算法的步長選擇至關重要,對于語音信號一般取UG。由于系統(tǒng)總是處在所謂的雙端對講狀態(tài),自適應濾波器的收斂速度比較慢,在反饋路徑變化時,由于濾波器系數(shù)需要重新收斂會導致短暫的嘯叫出現(xiàn)。綜上所述,自適應濾波算法由于其良好性能逐漸成為聲反饋抑制的主流算法,由于聲反饋系統(tǒng)的輸入信號是語音,語音信號不僅具有短時相關性還具有長時相關性,這就導致自適應濾波器的系數(shù)估計是有偏的,不能收斂到真實值。因此,如何有效地去除信號的相關性是研究的熱點問題。已有的去相關性算法包括在閉環(huán)中對揚聲器輸出信號和麥克風接收到的近端信號去相關和在自適應濾波器端進行去相關兩種。目前提出的在閉環(huán)中對揚聲器輸出信號和麥克風接收到的近端信號去相關的算法包括在前向路徑信號中注入噪聲,采用時變的全通濾波器和非線性處理等,如歐洲專利EP0415677和中國專利200580004573.0都采用了這樣的方法。注入噪聲的方法可能可以被聽力損傷很嚴重的助聽器的用戶接受,但一般不能被公共擴音系統(tǒng)的用戶接受;采用時變的全通濾波器,非線性處理等方法必須在語音質(zhì)量和解相關的程度之間權(quán)衡。
發(fā)明內(nèi)容本發(fā)明的目的在于,為解決上述問題,提出一種基于時間反轉(zhuǎn)的聲反饋抑制方法,該方法在保證語音質(zhì)量的同時加快自適應濾波器的收斂速度。為實現(xiàn)上述發(fā)明目的,本發(fā)明提出一種基于時間反轉(zhuǎn)的聲反饋抑制方法,該方法的具體步驟包括步驟I):利用揚聲器輸出信號作為參考信號,使用自適應濾波算法估計出反饋信號(《);步驟2):利用麥克風采集的信號y(n)減去所述的步驟I)獲得的反饋信號我《)得到誤差信號e(n);同時,更新自適應濾波器的系數(shù);步驟3):對所述的步驟2)獲得的誤差信號e(n)進行增益調(diào)節(jié)后獲得信號r(n),并對信號r(n)進行分幀處理;步驟4):對所述的步驟3)獲得的每一幀信號計算幅度平均值,把每一幀信號的幅度平均值與閾值e比較,如果當前幀信號的幅度平均值小于閾值e,對該幀信號進行時間反轉(zhuǎn)處理后作為對應巾貞的揚聲器輸出信號;如果當前幀信號的幅度平均值大于等于閾值e,該幀信號直接作為對應幀的揚聲器輸出信號;其中,所述的時間反轉(zhuǎn)處理是將分幀后的每一幀的原序列的最后一個數(shù)據(jù)變?yōu)閾P聲器輸出信號中對應幀的結(jié)果序列的第一個數(shù)據(jù),每一幀的原序列的倒數(shù)第二個數(shù)據(jù)成為揚聲器輸出信號中對應幀的結(jié)果序列的第二個數(shù)據(jù),依此類推,每一幀的原序列的第一個數(shù)據(jù)成為揚聲器輸出信號中對應幀的結(jié)果序列的最后一個數(shù)據(jù)。所述的每一幀信號的幅度平均值的計算按照式(I)獲得;k(i)=丄Z|r(/I+/)|(I)Li=o式⑴中,L表示幀長,i表示當前幀數(shù)。所述的步驟I)中自適應濾波算法采用NLMS算法、AP算法或RLS算法。所述的步驟3)按照式(2)進行增益調(diào)節(jié)獲得信號r(n);r(n)=G0e(n)(2)。本發(fā)明的優(yōu)點在于,與現(xiàn)有技術(shù)相比,米取有選擇性的對揚聲器輸出信號進行時間反轉(zhuǎn),減小了揚聲器輸出信號和麥克風接收到的近端信號的相關性,加快了自適應濾波器的收斂速度,使得自適應濾波器系數(shù)的估計是近似無偏的,而且改善了穩(wěn)態(tài)失調(diào)性能,有助于快速的跟蹤反饋路徑的變化。圖I為聲反饋產(chǎn)生原理框圖;圖2為本發(fā)明的基于時間反轉(zhuǎn)的聲反饋抑制系統(tǒng)框圖;圖3為選擇性的時間反轉(zhuǎn)模塊208工作過程圖;圖4為時間反轉(zhuǎn)示意圖;圖5為在MSG=OdB情況下的不同算法的歸一化失調(diào)圖;圖6為在MSG=6dB情況下的不同算法的歸一化失調(diào)圖;圖7為在MSG=12dB情況下的不同算法的歸一化失調(diào)圖;圖8為在MSG=OdB且反饋路徑在第20秒時突然變化情況下的不同算法的歸一化失調(diào)圖;圖9為在MSG=6dB且反饋路徑在第20秒時突然變化情況下的不同算法的歸一化失調(diào)圖;圖10為在MSG=12dB且反饋路徑在第20秒時突然變化情況下的不同算法的歸一化失調(diào)圖。具體實施例方式下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細的說明。一種基于時間反轉(zhuǎn)技術(shù)的聲反饋抑制方法,具體步驟包括步驟I)利用揚聲器輸出信號作為參考信號,使用自適應濾波技術(shù)估計出反饋信號;步驟2)從麥克風接收信號中減去估計出來的反饋信號得到誤差信號并更新自適應濾波器系數(shù);步驟3)對誤差信號進行增益調(diào)節(jié);步驟4)計算步驟3)輸出的當前幀信號幅度平均值,如果該值小于某個閾值,就對步驟3)的輸出信號進行時間反轉(zhuǎn)操作后作為當前幀的揚聲器輸出信號,否則就把步驟3)的輸出信號直接作為當前幀的揚聲器輸出信號。在上述技術(shù)方案中,進一步地,步驟I)中所述自適應濾波技術(shù)一般采用NLMS算法,這主要是由于NLMS算法具有計算量小,實現(xiàn)簡單,魯棒性好等特點。采用其他自適應濾波技術(shù)也是可行的,如AP算法,RLS算法等。在上述技術(shù)方案中,進一步地,步驟I)用來估計反饋信號。在上述技術(shù)方案中,進一步地,步驟2)用來計算誤差信號,消除反饋。在上述技術(shù)方案中,進一步地,步驟2)用來更新濾波器的系數(shù)。在上述技術(shù)方案中,進一步地,步驟4)中所述是對信號進行分幀處理,每一幀計算一次揚聲器輸出信號的幅度平均值。在上述技術(shù)方案中,進一步地,步驟4)所述的時間反轉(zhuǎn)是指將原序列的最后一個數(shù)據(jù)放在結(jié)果序列的第一個,將原序列的倒數(shù)第二個數(shù)據(jù)放在結(jié)果序列的第二個,依次類推,將原序列的第一個數(shù)據(jù)放在結(jié)果序列的最后一個。在上述技術(shù)方案中,進一步地,步驟4)根據(jù)當前幀揚聲器輸出信號的幅度平均值的量級決定是否對當前幀揚聲器輸出信號進行時間反轉(zhuǎn),只有當該幀信號的能量比較小時才進行時間反轉(zhuǎn)操作,這樣最大程度的保證了語音質(zhì)量。如圖2所示,圖2為本發(fā)明的基于時間反轉(zhuǎn)的聲反饋抑制系統(tǒng)框圖。其中,s(n)表不近端信號,x(n)表不反饋信號,y(n)表不麥克風米集到的信號,u(n)表不揚聲器輸出的信號,其中,系統(tǒng)框圖中還包括外部反饋路徑模塊102。步驟I)利用揚聲器輸出信號作為參考信號,使用自適應濾波技術(shù)估計出反饋信號。反饋抑制算法使用自適應濾波器來模擬真實的反饋路徑,反饋路徑的真實傳遞函數(shù)為F(Z),自適應濾波器的傳遞函數(shù)為w(Z),濾波器階數(shù)為M,參考信號為揚聲輸出信號,這里我們以NLMS算法為例來進行說明。自適應濾波模塊202用來完成的第一個功能是反饋信號的估計,自適應濾波器估計出來的反饋信號為,M-Ix{n)-^w(m)u(n-m)(I)。w=0步驟2)從麥克風接收信號中減去估計出來的反饋信號得到誤差信號。反饋抵消模塊204用來完成反饋信號的抵消,誤差信號計算方法為,e(n)=y(n)-x(n)(2)。如果自適應濾波器w(z)已經(jīng)足夠精確地逼近反饋路徑的真實傳遞函數(shù)F(Z),則=x(),從而誤差信號e(n)=s(n),這時完全抵消掉了反饋信號而只保留了近端信號。事實上由于s(n)和u(n)具有相關性,使得自適應濾波器的系數(shù)估計是有偏的,不能收斂到真實值,因而本發(fā)明通過引入步驟(5)來進行解相關處理。步驟3)更新自適應濾波器系數(shù)。自適應濾波模塊202的另外一個功能是完成濾波器系數(shù)的更新,使用NLMS算法來進行濾波器系數(shù)更新,表示為w(m)=w(m)H----e{n)u(n-m)m=0,1,...,M-I(3)PxM其中,P表示參考信號能量,建議使用如下方法得到,P=aP+(l-a)[u(n)]2(4)上式中a是平滑因子,滿足a=1-1/(kXM),I彡K彡10。步驟4)對誤差信號進行增益調(diào)節(jié)。增益調(diào)節(jié)模塊206包括語音增強,自動增益控制,響度補償?shù)?,本發(fā)明不涉及這些處理模塊,因而這里把它看做一個簡單的增益調(diào)節(jié)模塊,即G(Z)=Gtl,那么增益調(diào)節(jié)模塊206的輸入輸出關系為r(n)=G0e(n)(5)步驟5)計算步驟4)輸出的當前幀信號幅度平均值,如果該值小于某個閾值就對步驟4)的輸出信號進行時間反轉(zhuǎn)操作后作為當前幀的揚聲器輸出信號,否則就把步驟4)的輸出信號直接作為當前幀的揚聲器輸出信號。該部分功能由選擇性的時間反轉(zhuǎn)模塊208來完成,如圖3所示,圖3為選擇性的時間反轉(zhuǎn)模塊208工作過程圖。步驟4)輸出第i幀信號記為R(i)=[r(iL)r(iL+1)…r(iL+L_l)]T(6)這里L是幀長。幅度檢測單元306計算該幀信號幅度的平均值,計算方法為II=L-Ik{i)=—Z\r(iL+/)|(7)L1=0定義該幀信號R(i)的時間反轉(zhuǎn)序列為R(i)=[r(iL+L-l)r(iL+L-Iy--(8)如圖4所示,圖4為時間反轉(zhuǎn)示意圖。即將原序列的最后一個數(shù)據(jù)放在結(jié)果序列的第一個,將原序列的倒數(shù)第二個數(shù)據(jù)放在結(jié)果序列的第二個,依次類推,將原序列的第一個數(shù)據(jù)放在結(jié)果序列的最后一個,時間反轉(zhuǎn)單元308用來完成這樣的功能。如果對所有信號都進行時間反轉(zhuǎn),將會嚴重的影響語音質(zhì)量,為了最大程度上減小時間反轉(zhuǎn)引起的語音失真,本發(fā)明采取的方法是選擇性的對揚聲器輸出信號進行時間反轉(zhuǎn)而不是對所有揚聲器輸出信號做時間反轉(zhuǎn)。具體的說,本發(fā)明首先計算當前幀揚聲器輸出信號幅度的平均值,如果該值小于某個閾值e就對步驟(4)的輸出信號進行時間反轉(zhuǎn)操作后作為揚聲器當前幀輸出信號,否則就把步驟(4)的輸出信號直接作為揚聲器當前幀輸出信號,即[R(i)k(i)>8/、¢/(0=-.,.(9)[R(i)k(i)<8式(9)中U⑴定義為經(jīng)過選擇性時間反轉(zhuǎn)操作之后的揚聲器輸出信號,即U⑴=[u(iL)u(iL+1)…u(iL+L_l)]T(10)。本發(fā)明使用歸一化失調(diào)(NormalizedMisalignment)來衡量自適應濾波器的收斂性能,定義為歸一化失調(diào)=101og1Q(11)_IkIl_圖5圖10給出了采用了本發(fā)明的技術(shù)后自適應濾波器的收斂情況和跟蹤性能。如圖5所示,圖5為在MSG=OdB情況下的不同算法的歸一化失調(diào)圖。如圖6所示,圖6為在MSG=6dB情況下的不同算法的歸一化失調(diào)圖。如圖7所示,圖7為在MSG=12dB情況下的不同算法的歸一化失調(diào)圖。在圖5、圖6和圖7中,a是在沒有進行解相關處理的歸一化失調(diào)曲線;b是在利用時間反轉(zhuǎn)進行解相關處理的歸一化失調(diào)曲線,此時e=0.008;c是在利用時間反轉(zhuǎn)進行解相關處理的歸一化失調(diào)曲線,此時e=0.03。如圖8所示,圖8為在MSG=OdB且反饋路徑在第20秒時突然變化情況下的不同算法的歸一化失調(diào)圖。如圖9所示,圖9為在MSG=6dB且反饋路徑在第20秒時突然變化情況下的不同算法的歸一化失調(diào)圖。如圖10所示,圖10為在MSG=12dB且反饋路徑在第20秒時突然變化情況下的不同算法的歸一化失調(diào)圖。在圖8、圖9和圖10中,a是在沒有進行解相關處理的歸一化失調(diào)曲線;b是在利用時間反轉(zhuǎn)進行解相關處理的歸一化失調(diào)曲線,此時e=0.008;c是在利用時間反轉(zhuǎn)進行解相關處理的歸一化失調(diào)曲線,此時e=0.03。通過分析圖5、圖6、圖7、圖8、圖9和圖10可以得出以下結(jié)論首先,采用本發(fā)明技術(shù)后,自適應濾波器的收斂速度加快;其次,采用本發(fā)明技術(shù)后,自適應濾波器的穩(wěn)態(tài)失調(diào)減??;最后,采用本發(fā)明技術(shù)后,自適應濾波器的跟蹤性能提升。以上充分的表明本發(fā)明提供了一種有效的解相關技術(shù),可以很好的去除揚聲器輸出信號和麥克風接收到的近端信號之間的相關性,使得自適應濾波器系數(shù)更接近真實值。應該指出的是,本發(fā)明所描述的聲反饋抑制方法可以用多種方式實現(xiàn),例如硬件、軟件或者是硬件和軟件的組合。硬件平臺可以是FPGA、PLD或其他專用集成電路ASIC。軟件平臺包括DSP、ARM或其他微處理器。軟件和硬件的組合例如部分模塊用DSP軟件來實現(xiàn),部分模塊用硬件加速器來實現(xiàn)。最后所應說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制。盡管參照實施例對本發(fā)明進行了詳細說明,本領域的普通技術(shù)人員應當理解,對本發(fā)明的技術(shù)方案進行修改或者等同替換,都不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應涵蓋在本發(fā)明的權(quán)利要求范圍當中。權(quán)利要求1.一種基于時間反轉(zhuǎn)的聲反饋抑制方法,該方法的具體步驟包括步驟I):利用揚聲器輸出信號作為參考信號,使用自適應濾波算法估計出反饋信號x{n);步驟2):利用麥克風采集的信號y(n)減去所述的步驟I)獲得的反饋信號我《)得到誤差信號e(n);同時,更新自適應濾波器的系數(shù);步驟3):對所述的步驟2)獲得的誤差信號e(n)進行增益調(diào)節(jié)后獲得信號r(n),并對信號r(n)進行分幀處理;步驟4):對所述的步驟3)獲得的每一幀信號計算幅度平均值,把每一幀信號的幅度平均值與閾值e比較,如果當前幀信號的幅度平均值小于閾值e,對該幀信號進行時間反轉(zhuǎn)處理后作為對應中貞的揚聲器輸出信號;其中,所述的時間反轉(zhuǎn)處理是將分巾貞后的每一巾貞的原序列的最后一個數(shù)據(jù)變?yōu)閾P聲器輸出信號中對應幀的結(jié)果序列的第一個數(shù)據(jù),每一幀的原序列的倒數(shù)第二個數(shù)據(jù)成為揚聲器輸出信號中對應幀的結(jié)果序列的第二個數(shù)據(jù),依此類推,每一幀的原序列的第一個數(shù)據(jù)成為揚聲器輸出信號中對應幀的結(jié)果序列的最后一個數(shù)據(jù);如果當前幀信號的幅度平均值大于等于閾值e,該幀信號直接作為對應幀的揚聲器輸出信號。2.根據(jù)權(quán)利要求I所述的基于時間反轉(zhuǎn)的聲反饋抑制方法,其特征在于,所述的每一幀信號的幅度平均值的計算按照式(I)獲得;3.根據(jù)權(quán)利要求I所述的基于時間反轉(zhuǎn)的聲反饋抑制方法,其特征在于,所述的步驟I)中自適應濾波算法采用NLMS算法、AP算法或RLS算法。4.根據(jù)權(quán)利要求I所述的基于時間反轉(zhuǎn)的聲反饋抑制方法,其特征在于,所述的步驟3)按照式(2)進行增益調(diào)節(jié)獲得信號r(n);r(n)=G0e(n)(2)。全文摘要本發(fā)明涉及一種基于時間反轉(zhuǎn)的聲反饋抑制方法,該方法包括利用揚聲器輸出信號作為參考信號,使用自適應濾波算法估計出反饋信號利用麥克風采集的信號y(n)減去反饋信號得到誤差信號e(n);同時,更新自適應濾波器的系數(shù);對誤差信號e(n)進行增益調(diào)節(jié)后獲得信號r(n),并對信號r(n)進行分幀處理;對每一幀信號計算幅度平均值,把每一幀信號的幅度平均值與閾值ε比較,如果當前幀信號的幅度平均值小于閾值ε,對該幀信號進行時間反轉(zhuǎn)處理后作為對應幀的揚聲器輸出信號;如果當前幀信號的幅度平均值大于等于閾值ε,該幀信號直接作為對應幀的揚聲器輸出信號。該方法減小了揚聲器輸出信號和麥克風接收到的近端信號之間的相關性,加快了自適應濾波器的收斂速度并減小了穩(wěn)態(tài)失調(diào)。文檔編號H04R3/02GK102740189SQ20111008144公開日2012年10月17日申請日期2011年4月1日優(yōu)先權(quán)日2011年4月1日發(fā)明者楊軍,楊飛然申請人:中國科學院聲學研究所