移動聲場下的實時聲學反饋抑制方法及系統的制作方法
【技術領域】
[0001]本發明涉及電子技術領域,尤其涉及移動聲場下的實時聲學反饋抑制方法及系統。
【背景技術】
[0002]傳統的聲學反饋抑制采用移相、移頻方法,通常首先對聲場進行分析,找到反饋點,然后采用移頻和移相位方式去除嘯叫,算法運行在DSP上,對于聲場穩定的情況,效果不錯。隨著移動互聯網應用越來越多,傳統的反饋抑制算法無法處理聲場和干擾都是時變的,并且難以運行在主頻不高的ARM上。
【發明內容】
[0003]本發明提供了一種移動聲場下的實時聲學反饋抑制方法,包括如下步驟:
[0004]A.低通濾波步驟,首先對輸入信號X (η)進行低通濾波,去除超低頻的影響;
[0005]Β.尚通濾波步驟,對輸入彳目號X (η)進彳丁尚通濾波,去除超尚頻的影響;
[0006]C.初步搜索步驟,采用能相位法初步搜索到低精度嘯叫點;
[0007]D.精確搜索步驟,嘯叫點自適應精確定位與濾波;
[0008]Ε.處理步驟,嘯叫相關點移相處理;
[0009]F.輸出步驟,輸出信號。
[0010]作為本發明的進一步改進,在所述低通濾波步驟中,Ζ域傳遞函數設計為:Η1(ζ)=3975+7949z-l+3975z-2/4096+7946z-l+3857z-2, HI (Z)輸出信號為 xl (η);
[0011]在所述高通濾波步驟中,Ζ域傳遞函數設計為:H2(z) = 3896-7791ζ-1+3895ζ-2/4096-7781ζ-1+3705ζ-2,Η2 (Ζ)輸入信號為 xl (η)輸出信號為 χ2 (η)。
[0012]作為本發明的進一步改進,在所述初步搜索步驟中包括:
[0013](1).對輸入信號χ2(η)進行320點快速傅里葉變換,得到頻域復信號X(η);
[0014](2).計算Χ(η)的能量譜Ρ(η/2),計算公式:
[0015]P(i) = X(2*i — 1)*X(2*i_l)+X(2*i)*X(2*i),計算平滑能量 P(i)=0.8P(i)+0.2P(1-1);
[0016](3).計算 X(n)的相位譜 PH (I) = atan (X (2i)/X (2*1- 1)),并將 PH 入隊 QPH 保持隊列QPH長度為5 ;
[0017](4).查找滿足嘯叫的點集合Q使得Q[i]為P (i)的極值,并且對于QPH均方差小于 0.1。
[0018]作為本發明的進一步改進,在所述精確搜索步驟中包括:
[0019](1)取出嘯叫點集合Q的元素Q(n),以Q(n)為中心設計陷波濾波器,Z域傳輸函數為:H3 (Z) = (1 - 2cos(Q(n))z+z2)/(l-2b cos(Q (n) +b2) (b = 0.95b2 指 b 平方));
[0020](2)將信號χ2 (η)通過濾波器Η3,得到信號χ4 (η),計算信號χ4 (η)方差D ;
[0021](3)將Q(n)分別向左、向右移頻2HZ,重復(1)、(2)分別計算方差DL、DR,
[0022]若D〈min(DL,DR),Q(n)即為最優嘯叫點,輸出信號x4(n),采用Q(n+1),x4(n)作為輸入,同時將Q(N)存入最優嘯叫點隊列V(N),重復步驟⑴、⑵、(3),直到QJ隊列處理完,
[0023]若DL>DR 時,領 QP = Q(n),Q(n) = Q(n)+2/B*PI 重復步驟(3)直到 Q(n)-QP>n*PI/(10*B),其中B為信號帶寬,
[0024]gDL〈DI^fjlQP = Q(n),Q(n) = Q (η) _2/B*PI 重復步驟(3)直到 QP-Q (η) >n*PI/(10*B),其中B為信號帶寬。
[0025]作為本發明的進一步改進,在所述處理步驟中包括:
[0026]⑴.更新最優嘯叫統計,求解移相截止頻率,移相截止頻率fc =min(V(fmax), avg(ft));
[0027](2).相關點移相,將輸入信號x4(n),通過移相濾波器,輸出信號y (η),Ζ域傳遞函數為 Η4(Z) = 4096+a*z/a+4096*z,其中 a = 4096*((tan(fc/fs)-1)/(tan(fc/fs) +1),fc為上一步計算的移相截止頻率,fs為信號采樣頻率,tan為正切函數。
[0028]本發明還提供了一種移動聲場下的實時聲學反饋抑制系統,包括:
[0029]低通濾波模塊,用于對輸入信號X (η)進行低通濾波,去除超低頻的影響;
[0030]尚通濾波t旲塊,用于對輸入?目號X (η)進彳丁尚通濾波,去除超尚頻的影響;
[0031]初步搜索模塊,用于采用能相位法初步搜索到低精度嘯叫點;
[0032]精確搜索模塊,用于嘯叫點自適應精確定位與濾波;
[0033]處理模塊,用于嘯叫相關點移相處理;
[0034]輸出模塊,用于輸出信號。
[0035]作為本發明的進一步改進,在所述低通濾波模塊中,Ζ域傳遞函數設計為:Η1(ζ)=3975+7949z-l+3975z-2/4096+7946z-l+3857z-2, HI (Z)輸出信號為 xl (η);
[0036]在所述高通濾波模塊中,Ζ域傳遞函數設計為:H2(z) = 3896-7791ζ-1+3895ζ-2/4096-7781ζ-1+3705ζ-2,Η2 (Ζ)輸入信號為 xl (η)輸出信號為 χ2 (η)。
[0037]作為本發明的進一步改進,在所述初步搜索模塊中包括:
[0038]對輸入信號χ2 (η)進行320點快速傅里葉變換,得到頻域復信號X (η);
[0039]計算Χ(η)的能量譜Ρ(η/2),計算公式:P(i) = X(2*i —1)*父(2封-1)+父(2封)料(2封),計算平滑能量?(丨)=0.8P(i)+0.2P(1-1);
[0040]計算X(n)的相位譜 PH (I) = atan (X (2i)/X (2*1- 1)),并將 PH 入隊 QPH 保持隊列QPH長度為5 ;
[0041]查找滿足嘯叫的點集合Q使得Q[i]為P(i)的極值,并且對于QPH均方差小于0.1。
[0042]作為本發明的進一步改進,在所述精確搜索模塊中包括:
[0043]模塊一,取出嘯叫點集合Q的元素Q(n),以Q(n)為中心設計陷波濾波器,Z域傳輸函數為:H3 (Z) = (1- 2cos (Q (η)) ζ+ζ2) / (l_2b cos (Q (n) +b2) (b = 0.95b2 指 b 平方));
[0044]模塊二,將信號χ2 (η)通過濾波器Η3,得到信號χ4 (η),計算信號χ4 (η)方差D ;
[0045]模塊三,將Q (η)分別向左、向右移頻2ΗΖ,重復(1)、⑵分別計算方差DL、DR,
[0046]若D〈min(DL,DR),Q(n)即為最優嘯叫點,輸出信號χ4(η),采用Q(n+1),χ4(η)作為輸入,同時將Q(N)存入最優嘯叫點隊列V(N),重復模塊一、二、三,直到QJ隊列處理完,
[0047]若DL>DR 時,領 QP = Q (n),Q (n) = Q (η) +2/Β*ΡΙ 重復模塊三直到 Q (η) - QP>n*PI/(10*B),其中B為信號帶寬,
[0048]若DL〈DR 時,領 QP = Q (n),Q (n) = Q (η) _2/Β*ΡΙ 重復模塊三直到 QP-Q (η) >η*ΡΙ/(10*Β),其中Β為信號帶寬。
[0049]作為本發明的進一步改進,在所述處理模塊中包括:
[0050]更新最優嘯叫統計,求解移相截止頻率,移相截止頻率fc =min(V(fmax), avg(ft));
[0051]相關點移相,將輸入信號χ4 (η),通過移相濾波器,輸出信號y (η),Ζ域傳遞函數為Η4 (Z) = 4096+a*z/a+4096*z,其中 a = 4096* ((tan (fc/fs) -1) / (tan (fc/fs) +1), fc 為上一步計算的移相截止頻率,fs為信號采樣頻率,tan為正切函數。
[0052]本發明的有益效果是:本方法提出一種適用于移動聲場環境的低復雜度的方法,解決在低功耗處理器上實現移動聲場反饋抑制,從而實現各種不同型號的高低檔次手機、助聽設備、移動錄播設備、智能對講設備無需專用的語音處理芯片,而解決語音在移動場景下的嘯叫問題。
【附圖說明】
[0053]圖1是本發明的方法流程圖。
【具體實施方式】
[0054]如圖1所示,本發明公開了一種移動聲場下的實時聲學反饋抑制方法,包括如下步驟:
[0055]在步驟S1中,低通濾波步驟,首先對輸入信號x(n)進行低通濾波,去除超低頻的影響,Z 域傳遞函數設計為:Hl(z) = 3975+7949z-l+3975z-2/4096+7946z-l+3857z-2,H1(Z)輸出信號為xl (η)。
[0056]在步驟S2中,高通濾波步驟,對輸入信號x (n)進行高通濾波,去除超高頻的影響,Ζ域傳遞函數設計為:H2(z) = 3896-7791ζ-1+3895ζ-2/4096-7781ζ-1+3705ζ-2,Η2(Ζ)輸入信號為xl(n)輸出信號為x2 (η)。
[0057]在步驟S3中,初步搜索步驟,采用能相位法初步搜索到低精度嘯叫點;
[0058]在步驟S3中具體包括:
[0059](1).對輸入信號χ2 (η)進行320點快速傅里葉變換,得到頻域復信號X (η);
[0060](2).計算Χ(η)的能量譜Ρ(η/2),計算公式:
[0061 ] P(i) = X(2*1- 1)*X(2*1-l) +X(2*i)*X(2*i)
[0062]計算平滑能量P (i) = 0.8P (i) +0.2P (1-1);
[0063](3).計算 X(n)的相位譜 PH (I) = atan (X (2i)/X (2*1- 1)),并將 PH 入隊 QPH 保持隊列QPH長度為5 ;
[0064]⑷.查找滿足嘯叫的點集合Q使得Q[i]為P⑴的極值,并且對于QPH均方差小于 0.1。
[0065]在步驟S4中,精確搜索步驟,嘯叫點自適應精確定位與濾波;
[0066]在步驟S4中具體包括:
[0067](1)取出嘯叫點集合Q的元素Q(n),以Q(n)為中心設計陷波濾波器,Z域傳輸函數為:
[0068]H3 (Z) = (1- 2cos (Q (n)) z+z2) / (l_2b cos (Q (n) +b2) (b = 0.95b2 指 b 平方));
[0069](2)將信號x2 (n)通過濾波器H3,得到信號χ4 (η),計算信號χ4 (η)方差D ;
[0070](3)將Q(n)分別向左、向右移頻2HZ,重復(1)、(2)分別計算方差DL、DR,
[0071]若D〈min(DL,DR),Q(n)即為最優嘯叫點,輸出信號χ4(η),采用Q(n+1),χ4(η)作為輸入,同時將Q(N)存入最優嘯叫點隊列V(N),重復步驟⑴、⑵、(3),直到QJ隊列處理完;
[0072]若DL>DR 時,領 QP = Q(n),Q(n) = Q(n)+2/B*PI 重復步驟(3)直到 Q(n)-QP>n*PI/(10*B),其中B為信號帶寬;
[0073]gDL〈DI^fj:SQP = Q(n),Q(n) = Q (η) _2/B*PI 重復步驟(3)直到 QP-Q (η) >n*PI/