專利名稱:一種處理音頻系統嘯叫的方法及音頻系統的制作方法
技術領域:
本發明涉及音頻系統處理技術,尤其涉及一種處理音頻系統嘯叫的方法及音頻系統。
背景技術:
音頻系統往往包括輸入變換器,放大器和接收器單元。在音頻系統(如助聽器)中,可能出現這樣的情況,從音頻系統的接收器單元發出的聲音的一部分可能泄露回麥克風。隨后,泄露回麥克風的聲音會被添加至麥克風信號,并被再次放大。因此,當音頻系統的增益G到與實際反饋路徑的增益H的積大于I時,即G*H > I (如圖I所示),這樣會形成一個正反饋,泄露的聲音會不斷的放大,就可能導致嘯叫。嘯叫的出現很大程度上取決于增益,它限制了音頻系統中能達到的最大增益。嘯叫會給用戶帶來很大的煩惱,要盡量消除。音頻系統如助聽器,使用自適應算法,例如歸一化最小均方算法(NormalizedLeast-Mean Squares,簡稱NLMS)來消除反饋,它能解決平穩反饋路徑的估計問題。但是當反饋路徑急劇變化時(如打電話,進入嘈雜的環境等),歸一化最小均方算法無法快速的跟蹤估計反饋路徑,使得殘留的誤差信號較大,而此時的增益不變,容易滿足G*H > 1,引起嘯叫。在現有技術中,用于解決嘯叫的方法有很多,例如使用自適應濾波器。自適應濾波器可以在嘯叫開始之前取得多達10分貝的額外增益。然而即使在很好的用于音頻系統的自適應數字反饋消除系統中,通常也會有剩余誤差。那么在這種情況下一般的做法是設置嘯叫檢測裝置,嘯叫檢測的方法有以下幾種一、如專利號為US6650124的專利中公開的一種嘯叫檢測的方法,其步驟是,通過計算信號成分的變化并將其與閾值進行比較,來評價輸入信號的頻率成分是否存在嘯叫,然后通過開關激活陷波濾波器來濾掉特定頻率;二、如專利號為US2011188685的專利中提到的一種新的檢測方法判斷信號的中心頻率是否是在容易發生嘯叫的頻率范圍內,再判斷信號的能量值是否達到閾值,再判斷頻率中心的變化是否大于閾值,最后得出是否可能存在嘯叫。音頻系統在檢測到可能產生嘯叫之后,常用的做法是在增益上做改進。比如早期的手動減小增益,但是效果不會太理想,會給患者帶來不便。再到后來的自動減小增益,通過模型增益估計器來估計放大器能達到的最大增益。另外一種做法是如專利號為US6650124中提到的直接用陷波濾波器濾掉特定頻率。 在現有技術用于解決嘯叫的方法中,主要分兩個方面來解決問題。第一,降低增益值,當檢測到某一頻率可能產生嘯叫時,降低該頻率的增益值,使系統穩定,不產生嘯叫,但是這種方法限制了音頻系統的增益,這就可能使用戶無法聽到該頻率的聲音,從而丟失重要的信息;第二,通過陷波濾波器直接濾掉可能產生嘯叫的頻率,而嘯叫一般在高頻部分產生,并且語音中的高頻分量對語音辨識起著及其重要的作用,這使得用戶丟失重要信息的概率增大了很多。
發明內容
本發明的目的是提供一種開銷小,且收斂速度快的嘯叫抑制方法。為實現上述目的,一方面,本發明提供了一種處理音頻系統嘯叫的方法,該方法包括以下步驟檢測音頻系統輸入信號是否可能存在嘯叫;當檢測到所述輸入信號可能存在嘯叫時,使用第一自適應算法跟蹤估計音頻系統輸出信號的反饋信號,否則使用第二自適應算法跟蹤估計音頻系統輸出信號的反饋信號。另一方面,本發明提供了一種音頻系統,該系統包括嘯叫檢測單元、第一自適應算法單元、第二自適應算法單元和切換開關單元,其中嘯叫檢測單元用于檢測音頻系統輸入信號是否存在嘯叫,第一自適應算法單元用于在音頻系統可能產生嘯叫時跟蹤估計音頻系統輸出信號的反饋信號,第二自適應算法單元用于在音頻系統沒有產生嘯叫時跟蹤估計音頻系統輸出信號的反饋信號,切換開關單元用于在第一自適應算法單元和第二自適應算法單元間進行切換。本發明不需要降低音頻系統產生的增益、不需要濾去可能發生嘯叫的頻段、可快速跟蹤到音頻系統輸出信號的實際反饋信號,從而有效的抑制了嘯叫的發生。
本發明的示例性實施例將從下文中給出的詳細說明和本發明不同實施例的附圖中被更完全地理解,然而這不應該被視為將本發明限制于具體的實施例,而應該只是為了解釋和理解。圖I為現有技術首頻系統結構不意圖;圖2為本發明實施例一種音頻系統結構圖;圖3為本發明實施例一種處理音頻系統嘯叫的方法流程圖;圖4為本發明實施例歸一化最小均方NLMS算法的流程圖;圖5為本發明實施例指數加權遞推最小二乘ERLS算法的流程圖;圖6為本發明實施例二分坐標下降D⑶算法的流程圖;圖7為本發明ERLS-D⑶算法收斂性能效果圖。
具體實施例方式本領域的普通技術人員將意識到,所述示例性實施例的下述詳細說明僅僅是說明性的,并且不是意在以任何方式加以限制。圖2為本發明實施例一種首頻系統。該首頻系統包括麥克風20、加法器21、嘯叫檢測單元22、接收器單元23、第一自適應算法單元24、第二自適應算法單元25、、濾波器26以及切換開關單元27。如圖2所示,其中H(W)表示實際反饋路徑,F(W)表示估計的反饋路徑,x(i)為輸入信號,u(i)為輸出信號,d(i)為期望信號,y(i)為估計信號,e(i)為誤差信號,是通過加法器21將期望信號d (i)減去估計信號y (i)獲得。音頻系統通過麥克風20輸入信號X (i),并通過接收器單元23輸出聲音信號u(i),這里的接收器單元23可以是揚聲器。接收器單元23輸出的聲音的一部分通過實際反饋路徑H(W)產生期望信號d(i),泄露回麥克風20。被泄露回麥克風20的反饋信號d(i)將被添加至新的輸入信號。音頻系統的嘯叫檢測單元22用于檢測輸入信號x(i)的頻率成分是否可能產生嘯口Li。當嘯叫檢測單元22檢測到可能有嘯叫發生時,則通過切換開關單元27切換到第一自適應算法單元24來跟蹤估計音頻系統輸出信號的反饋信號,從而抑制嘯叫的發生,同時停止第二自適應算法單元的使用,直到嘯叫檢測單元22檢測音頻系統沒有可能出現嘯叫之后通過切換開關切換到第二自適應算法單元。第一自適應算法可以采用指數加權遞推最小二乘(Exponentially weightedRecursive Least Squares,簡稱 ERLS)算法和二分坐標下降(dichotomous coordinatedescent,簡稱DCD)算法的結合,來解決音頻系統發生嘯叫時的反饋抑制問題。第二自適應算法單元所使用的自適應算法可以是助聽器領域使用的常規算法,例如執行歸一化最小均方NLMS算法來解決音頻系統在未發生嘯叫時的反饋抑制問題。本發明實施例中第一自適應算法的收斂速度大于第二自適應算法,且第一自適應算法的計算復雜度高于第二自適應算法的計算復雜度。圖3為本發明實施例一種處理音頻系統嘯叫的方法流程圖。以下結合圖2來描述如圖3所示的方法流程,該方法包括步驟301-302 在步驟301,檢測音頻系統輸入信號是否可能會發生嘯叫。音頻系統通過嘯叫檢測單元22檢測輸入信號是否可能會發生嘯叫。在嘯叫檢測單元22中,可以使用任何檢測輸入信號是否可能存在嘯叫的常規方法,例如檢測輸入信號的平均頻率是否在預定的頻率范圍內,如果平均頻率在預定頻率范圍內波動,則檢測為可能存在嘯叫。在步驟302,當檢測到所述輸入信號可能存在嘯叫時,使用第一自適應算法跟蹤估計音頻系統輸出信號的反饋信號,否則使用第二自適應算法跟蹤估計音頻系統輸出信號的反饋信號。音頻系統的嘯叫檢測單元22在檢測到音頻系統可能有嘯叫發生時,則通過第一自適應算法單元來跟蹤估計音頻系統輸出信號的反饋信號,從而抑制嘯叫的發生。音頻系統在使用第一自適應算法時,同時停止第二自適應算法單元的使用,直到嘯叫檢測單元22檢測到沒有可能發生嘯叫時才恢復使用第二自適應算法單元。第一自適應算法可以采用指數加權遞推最小二乘ERLS算法和二分坐標下降D⑶算法的結合,來解決音頻系統發生嘯叫時的反饋抑制問題。第一自適應算法能快速跟蹤到音頻系統輸出信號的反饋信號。 第二自適應算法單元所使用的自適應算法可以是助聽器領域使用的常規算法,例如使用歸一化最小均方NLMS算法來解決音頻系統在未發生嘯叫時的反饋抑制問題。本發明實施例中第一自適應算法的收斂速度大于第二自適應算法的收收斂速度,且第一自適應算法的計算復雜度高于第二自適應算法的計算復雜度。以下通過對歸一化最小均方算法NLMS算法和ERLS-D⑶算法(指數加權遞推最小二乘ERLS算法和二分坐標下降DCD算法的結合)流程的介紹,來闡述音頻系統輸出信號的反饋信號跟蹤估計過程。音頻系統在一般情況下(即未發生嘯叫)使用歸一化最小均 方NLMS算法,當檢測到可能出現嘯叫后使用ERLS-DCD算法,同時停止使用歸一化最小均方NLMS算法。歸一化最小均方NLMS算法流程如下(l)y(i) = ffT*U
(2) e (i) = d ⑴-y(i)(3)p (i) = P p(i-l)+e2(i)+y2(i)
C(4) k(/)=
P(i) + 5(5) W = ff+k (i) *e (i) *U歸一化最小均方NLMS的算法流程圖如圖4所示。其中,Wt為自適應濾波器系數W的矩陣轉置,輸出信號u(i)采樣N點得到輸出向量U,d(i)為期望得到的信號,e(i)為期望信號d(i)減去估計信號y(i)得到的誤差信號,p(i)為當前的信號能量,是為了計算步長因子k(i)而設計的一個變量,P,C,S都是常數參數,可以依次設置為1000,1,0.99。上述歸一化最小均方NLMS算法(I)式中,通過輸出信號u(i)產生輸出向量U,通過輸出向量U和濾波器系數W的矩陣轉置Wt計算估計信號y(i);在(2)式中,通過期望信號d(i)減去估計信號y(i)得到的誤差信號e(i);在(3)式中,通過誤差信號e(i)和估計信號y(i)計算當前的信號能量P(i),P⑴主要為了計算⑷式中的步長因子k(i);在(5)式中,通過步長因子k(i)、誤差信號e(i)和輸出向量U來改變濾波器W的系數。以下通過圖5和圖6針對ERLS-D⑶算法過程進行詳細闡述首先,ERLS-DCD算法建立在指數加權遞歸最小二次算法(Exponentiallyweighted Recursive least squares,簡稱ERLS)的基礎上,利用二分坐標下降DCD算法來解決指數加權遞推最小二乘ERLS算法中最關鍵的步驟,從而簡化算法。圖5為指數加權遞推最小二乘ERLS算法的方法流程圖,如圖所示,該方法步驟包括 501-507。ERLS算法如下R(1) (i)=入 R(1)(i-l)+u(i)U (I)y (i) =UTh(i_l)(2)e⑴=cKi)-y(i)(3)^ 0(i) = r(i-l)+e(i)U (4)R(i) Ah(i) = & 0(i)(*)Hi) = 3 0(i)-R(i) Ah(i) (6)h (i) = h (i~l) + A h (i)(7)在步驟501,該步驟對應上述公式(1),通過輸出信號u(i)采樣N點產生輸出向量U,再通過輸出信號u(i)和輸出向量U產生輸出信號的自相關矩陣R,其中\為常數。R矩陣的構成方法R(i)為i時刻的R矩陣,R(i)的右下N-I階矩陣來源于R(i_l)的左上N-I階矩陣。R(i)的第一列采用(I)式求得,再通過對稱得到第一行,則得到R矩陣,其中入為常數,0< A < l,R(1)(i)表示R(i)的第I列。這樣構建R矩陣的目的是為了簡化計算,降低算法的計算復雜度。R矩陣用來構成計算解向量改變量的方程。在步驟502,該步驟對應上述公式(2),在公式⑵中,Ut為輸出向量U的轉置,h(i)為自適應濾波器估計的反饋路徑向量,h(i-l)表示延遲一個單位。輸出向量U與自適應濾波器h (i-1)相乘得到估計信號y (i)。在步驟503,該步驟對應上述公式(3),在公式(3)中,d(i)表示期望信號,e(i)為誤差信號,通過期望信號d(i)減去估計信號y(i)得到誤差信號e(i)。
在步驟504,該步驟對應上述公式(4),在公式(4)中,P Q(i)表示當前還剩下的需要計算的(*)式的誤差向量,r(i)表示當前計算完(*)式后的剩余誤差向量,通過誤差信號e(i)與輸出向量U相乘,再加上i-1時刻的剩余誤差向量r(i-l)得到i時刻的誤差向量,其中剩余誤差向量r的初始值設為0向量。在步驟505,該步驟對應上述公式(*),公式(*)通過前面構成的矩陣R和向量^o(i)用于計算濾波器的改變量Ah(i)。在步驟506,該步驟對應上述公式(6),公式(6)用于計算此次循環時的剩余誤差向量Hi)。在步驟507,該步驟對應上述公式(7),公式(7)用于修改濾波器系數h的值,即加上濾波器的改變量A h(i),這是整個算法的目的。 在整個指數加權遞推最小二乘ERLS算法中,第(*)步是最關鍵的一步,它的算法復雜度是最高的,一般需要O (n2)級乘法和o(n2)級加法。為了解決這一步,引入了二分坐標下降D⑶算法。二分坐標下降D⑶算法要解決的問題是求解方程Ah = b的h。這里的A = ZtZjZ為一個M*N維矩陣,則A為N*N維矩陣;b = ZTd, d為M*1的列向量,則b為N*1維列向量。上面的指數加權遞推最小二乘ERLS算法中的第(*)式,正好滿足這里的條件。圖6為二分坐標下降D⑶算法的方法流程圖,如圖所示,該方法步驟包括601-612。二分坐標下降D⑶算法流程如下Ah = O, r = ^0, a =H, q = 0(11)for m = 1,...,Mb(12)a = a /2(13)flag = 0(14)for n = I, ...,N(15)If |rn > (a/2)Rn,n then(16)Ahn = Ahn+sign(rn) a(17)r = r-sign (rn) a R(n)(18)q = q+1, flag = I(19)if q> Nu,退出算法(20)If flag = I,返回至Ij (14) (21)在步驟601,該步驟對應上述公式(11),公式(11)對數值和向量進行初始化,Ah=0,r = ^0, a =H, q = 0,其中A h是濾波器的改變量,P ^為NX I維列向量,就是指數加權遞推最小二乘ERLS算法中的右邊向量e^i),r為殘留向量,它的初始值為^出為幅度范圍,a是步長,q為計算濾波器的改變量的變化次數,它用來控制算法的復雜度。在步驟602,該步驟對應上述公式(12),在公式(12)中,Mb表示a的更新次數,Mb的數值可自定義,例如4,8或16。公式(12)用于判斷第一循環次數m是否小于第一設定值Mb,若是,則執行步驟603,否則,則執行步驟612。Mb的設置是為了控制算法的復雜度,最多執行Mb次循環后算法結束。在步驟603,該步驟對應上述公式(13),用于計算步長。在公式(13)中,a表示步長,用以控制A hn的改變量。
在步驟604,該步驟對應上述公式(14),用于標記。在公式(14)中flag用于標記,控制算法的走向。
在步驟605,該步驟對應上述公式(15),用于判斷第二循環次數n是否小于第二設定值N,若是,則執行步驟606,否則,則執行步驟609。在步驟606,該步驟對應上述公式(16),用于判斷殘留向量r的第n個值是否大于步長的二分之一與輸出信號的自相關矩陣R的第n行n列的值的乘積,若是,則執行步驟607 ;否則,則執行步驟611。值得指出的是,殘留向量r中的第n個值表示為rn,輸出信號的自相關矩陣R的第n行n列的值表示為Rn,n。在步驟607,該步驟對應上述公式(17)-公式(19),用于計算濾波器的改變量Ah的第n個值的改變量△ hn和濾波器的改變量△ h改變次數q,以及計算這次的殘留向量r,設置標記位flag為I。其中,R(n)為R矩陣的第n列,sign(rn)表示rn的符號函數,rn為殘留向量r的第n個元素值。f lag是標記位,控制循環的走向。在步驟608,該步驟應對上述公式(20),用于判斷濾波器的改變量A h的改變次數q是否大于迭代次數設定值Nu。判斷濾波器的改變量Ah的改變次數q是否大于迭代次數設定值Nu時,若是,則執行步驟612 ;否則,執行步驟611。在步驟609,該步驟應對上述公式(21),判斷標記位flag是否等于1,若是,則說明在這個步長a下,濾波器的改變量Ah發生了變化,還需要修改濾波器的值,接著執行步驟604;否則,說明在這個步長a下,濾波器的改變量Ah未發生變化,不需要修改濾波器的值,則接著執行步驟610。步驟610,第一循環次數m加I,接著執行步驟602。步驟611,第二循環次數n加1,接著執行步驟605。在步驟612,獲得濾波器系數h的改變量A h,二分坐標下降D⑶算法結束。二分坐標下降D⑶算法解決了指數加權遞推最小二乘ERLS算法里最復雜的一步,即通過不斷的迭代,不斷的縮小誤差,從而得到濾波器的改變量Aha)近似解。二分坐標下降DCD算法在迭代過程中只使用加法,不需要乘法,使得該算法易于實現。圖7為在人工語音情況下輸出信號的迭代誤差,示出了 ERLS-D⑶算法良好的收斂性能。本發明實施例在檢測到音頻系統有可能嘯叫發生時,通過ERLS-D⑶算法快速跟蹤到音頻系統的反饋路徑,從而有效的抑制了嘯叫的發生。盡管已經示出并描述了本發明的特殊實施例,然而在不背離本發明的示例性實施例及其更寬廣方面的前提下,本領域技術人員顯然可以基于此處的教學做出變化和修改。因此,所附的權利要求意在將所有這類不背離本發明的示例性實施例的真實精神和范圍的變化和更改包含在其范圍之內。
權利要求
1.一種處理音頻系統嘯叫的方法,其特征在于,包括以下步驟 檢測音頻系統輸入信號是否可能存在嘯叫; 當檢測到所述輸入信號可能存在嘯叫時,使用第一自適應算法跟蹤估計音頻系統輸出信號的反饋信號,否則使用第二自適應算法跟蹤估計音頻系統輸出信號的反饋信號。
2.根據權利要求I所述的方法,其特征在于,所述檢測音頻系統輸入信號是否可能存在嘯叫的步驟包括 檢測所述音頻輸入信號的平均頻率是否在預定的頻率范圍內; 如果所述音頻輸入信號的平均頻率在預定頻率范圍內,則檢測為可能存在嘯叫。
3.根據權利要求I所述的方法,其特征在于,所述第一自適應算法的收斂速度大于第二自適應算法的收斂速度,所述第一自適應算法的計算復雜度高于第二自適應算法的計算復雜度。
4.根據權利要I或3所述的方法,其特征在于,所述第一自適應算法為指數加權遞推最小二乘算法和二分坐標下降算法的結合,所述二分坐標下降算法用于計算所述指數加權遞推最小二乘算法的其中一步驟。
5.根據權利要求I或3所述的方法,其特征在于,所述第二自適應算法為歸一化最小均方算法。
6.一種音頻系統,其特征在于,包括 嘯叫檢測單元,用于檢測音頻系統輸入信號是否可能存在嘯叫; 第一自適應算法單元,用于在音頻系統可能產生嘯叫時跟蹤估計音頻系統輸出信號的反饋信號; 第二自適應算法單元,用于在音頻系統沒有可能產生嘯叫時跟蹤估計音頻系統輸出信號的反饋信號; 切換開關單元,用于在所述第一自適應算法單元和所述第二自適應算法單元間進行切換。
7.根據權利要求6所述的系統,其特征在于,所述第一自適應算法的收斂速度大于第二自適應算法的收斂速度,所述第一自適應算法的計算復雜度高于第二自適應算法的計算復雜度。
8.根據權利要求6或7所述的系統,其特征在于,所述第一自適應算法單元執行指數加權遞推最小二乘算法和二分坐標下降算法,所述二分坐標下降算法用于計算所述指數加權遞推最小二乘算法的其中一步驟。
9.根據權利要求6或7所述的系統,其特征在于,所述第二自適應算法單元執行歸一化最小均方算法。
全文摘要
本發明公開了一種處理音頻系統嘯叫的方法及音頻系統,所述方法包括以下步驟檢測音頻系統輸入信號是否可能存在嘯叫;當檢測到所述輸入信號可能存在嘯叫時,使用第一自適應算法跟蹤估計音頻系統輸出信號的的反饋信號,否則使用第二自適應算法跟蹤估計音頻系統輸出信號的反饋信號。所述音頻系統包括嘯叫檢測單元、第一自適應算法單元和第二自適應算法單元。本發明能夠快速跟蹤估計音頻系統輸出信號的反饋信號,在檢測到音頻系統可能出現嘯叫之后,不需要降低增益、不需要濾去可能出現嘯叫的頻段,降低了重要信息丟失的可能性。
文檔編號H04R3/00GK102625213SQ20121009764
公開日2012年8月1日 申請日期2012年4月5日 優先權日2012年4月5日
發明者張鐵軍, 洪纓, 董超, 高麗 申請人:中國科學院聲學研究所