一種數(shù)字助聽器語音噪聲消除方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及語音信號(hào)處理技術(shù)領(lǐng)域,尤其涉及一種數(shù)字助聽器語音噪聲消除方 法。
【背景技術(shù)】
[0002] 在數(shù)字助聽器中,降噪的效率對(duì)聽力損失患者至關(guān)重要。語音的信噪比嚴(yán)重影響 著聽力損失患者的聽覺認(rèn)知。相對(duì)于聽力正常者,在理解同一段語音時(shí)他們需要更高的信 噪比。數(shù)字助聽器中對(duì)語音的降噪處理不僅可以提高聽損患者對(duì)語音的可聽度,同時(shí)也提 高了聽損患者對(duì)語音的可懂度。
[0003] 傳統(tǒng)的維納濾波噪聲消除算法,在計(jì)算增益函數(shù)時(shí)引入了先驗(yàn)信噪比,并采用了 "直接判決"法對(duì)先驗(yàn)信噪比進(jìn)行估計(jì),該方法有效的抑制了語音中的噪聲,但該算法需要 對(duì)輸入信號(hào)進(jìn)行傅里葉變換,計(jì)算復(fù)雜度較高。
[0004] 近年來,很多優(yōu)秀的降噪方法被提出。R.C.Hendriks等人提出了一種DFT域單麥 克風(fēng)降噪語音增強(qiáng)的方法。斯坦福大學(xué)的AndrewL.Maas提出了一種新的基于深層神經(jīng)網(wǎng) 絡(luò)的降噪算法,取得了優(yōu)秀的降噪效率。除此之外,正交分解、小波變換和壓縮傳感等方法 都被用來提高降噪的性能。但是,同樣這些算法大多數(shù)計(jì)算復(fù)雜度都較高,并不滿足于數(shù)字 助聽器對(duì)實(shí)時(shí)性和功耗限制的要求。在數(shù)字助聽器中,語音從麥克風(fēng)輸入到輸出的時(shí)間延 遲一般不能超過10毫秒。因此,因數(shù)字助聽器系統(tǒng)對(duì)時(shí)延的敏感性,降低算法的計(jì)算復(fù)雜 度至關(guān)重要。
【發(fā)明內(nèi)容】
[0005] 針對(duì)現(xiàn)有技術(shù)存在的不足,本發(fā)明的目的在于提供一種計(jì)算復(fù)雜度低的數(shù)字助聽 器語音噪聲消除方法。
[0006] 為實(shí)現(xiàn)上述目的,本發(fā)明可以通過以下技術(shù)方案予以實(shí)現(xiàn):
[0007] -種數(shù)字助聽器語音噪聲消除方法,包括以下步驟:
[0008]S1.將輸入語音的采樣信號(hào)分割子帶和分幀,得到各幀子帶帶噪語音信號(hào);
[0009]S2.計(jì)算各幀子帶帶噪語音信號(hào)的增益函數(shù);
[0010]S3.根據(jù)增益函數(shù)衰減各幀子帶帶噪語音信號(hào),得到各幀子帶增強(qiáng)信號(hào);
[0011]S4.將各幀子帶增強(qiáng)信號(hào)通過綜合濾波器組并相加,得到降噪后輸出語音。
[0012] 進(jìn)一步的,步驟S1中所述的分割子帶包括:
[0013] 將輸入語音的采樣信號(hào)設(shè)定為χ(η),η表示離散時(shí)間點(diǎn),將x(n)通過分析濾波器 組氏(ζ),Η2 (ζ),· ··,H16 (z)分解為16個(gè)子帶信號(hào),各濾波器輸出的子帶信號(hào)為:
[0014]yk (n) =x(n) *hk (η) (式 1)
[0015] 式中k為子帶號(hào),k= 1,2, . . .,16,yk(n)為子帶k的輸出,hk(n)為濾波器單位脈 沖響應(yīng);
[0016]步驟S1中所述的分幀包括:
[0017] 將子帶信號(hào)yk(n)分幀,用y(m,k)表示第k子帶第m幀帶噪語音信號(hào)矢量,y(m,k) =[yk (0)yk⑴…yk(N-l)],將y(m,k)表示為y(m,k) =s(m,k)+n(m,k),其中s(m,k)為純 凈語音信號(hào)矢量,s(m,k) = [sk(0),sk (1),(m,k)為噪聲信號(hào)矢量,n(m,k)= [nk(0),nk(l),…,nk(N-l)],N為幀長(zhǎng)。
[0018] 進(jìn)一步的,步驟S2中的增益函數(shù)為:
[0019]
[0020] 式中SNRpriC](m,k)為先驗(yàn)信噪比。
[0021] 進(jìn)一步的,先驗(yàn)信噪比SNRpi4c](m,k)的計(jì)算公式為:
[0022]
[0023] 式中U)||2表示子帶k第m-Ι幀的純凈語音功率估計(jì)值,I分(w-U)||2表示 子帶k第m-Ι幀的噪聲功率估計(jì)值,α取值〇. 95~0. 99,SNRpcist(m,k)表示后驗(yàn)信噪比。
[0024] 進(jìn)一步的
表示子帶k第m-Ι幀的增 強(qiáng)信號(hào),N為幀長(zhǎng)。
[0025] 進(jìn)一步的,
[0026] 式中々(〃")表示子帶k第m幀的噪聲功率估計(jì)值,| |Y(m, k)| |2表示子帶k第 m幀的帶噪語音信號(hào)功率,| |Y(m,k1 | |2=Xy2(m,k)/N。
[0027] 進(jìn)一步的,所述噪聲功率估計(jì)值的計(jì)算步驟包括:
[0028] (2)計(jì)算各幀子帶帶噪語音信號(hào)功率;
[0029] (2)對(duì)各幀子帶帶噪語音信號(hào)功率進(jìn)行平滑處理;
[0030] (3)搜索各幀子帶帶噪語音信號(hào)功率中的最小值;
[0031] (4)判斷各幀子帶帶噪語音信號(hào)中是否存在純凈語音;
[0032] (5)計(jì)算純凈語音出現(xiàn)的概率;
[0033](6)計(jì)算得到各幀子帶噪聲功率估計(jì)值。
[0034] 進(jìn)一步的,所述噪聲功率估計(jì)值的各個(gè)計(jì)算步驟的計(jì)算公式為:
[0035](1)子帶k第m幀的帶噪語音信號(hào)功率為
[0036] |Y(m, k)| |2=Σγ 2(k, m)/N(式5)
[0037] 式中N為幀長(zhǎng);
[0038] (2)P(m,k) =αρ ·P(m-1,k) + (1-αp) · | |Y(m,k) | |2 (式 6)
[0039]式中ape [0,l],P(m,k)為子帶k第m幀平滑后的帶噪語音信號(hào)功率,其中 P(〇,k)取值為 ||Y(0,k)| |2;
[0040] (3)假設(shè)最小值為Pmin (m,k) 「00411 vj-v< ;
[0042] 式中β取值為0· 96,γ取值為0· 998,P^JO,k)取值為P(0,k);
[0043] (4)純凈語音存在函數(shù)I(m,k)為:
[0044]
[0045] 式中δ取值為2. 5~3. 5;
[0046] (5)純凈語音出現(xiàn)概率p(m,k)為:
[0047] p(m,k)=ξ·p(m-l,k)+(l-ξ) ·I(m,k) (式 9)
[0048] 式中ζ取值為0· 2,p(0,k)取值為Ο;
[0049] (6)子帶k第m幀的帶噪功率估計(jì)值為:
[0050]
[0051]式中Φ(m,k) =ζ+(1_ζ)p(m,k),ζ取值為 0· 95, |A((U)|2取值為P(0,k)。
[0052] 進(jìn)一步的,步驟S3中,子帶k第m幀的增強(qiáng)信號(hào)封叫幻為:
[0053]
[0054]
[0055] 進(jìn)一步的,步驟S4具體為:
[0056] 將各子帶第m幀的增強(qiáng)信號(hào)通過綜合濾波器組并相加得到降噪后輸出語音:
[0057]
[0058]式中η= 1,2, · · ·,N-1。
[0059] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
[0060] 利用計(jì)算各子帶信號(hào)功率取代傳統(tǒng)方法中的FFT變換,降低了計(jì)算復(fù)雜度,從而 降低了時(shí)間延遲和功率消耗,同時(shí)改進(jìn)的算法使得降噪后語音的信噪比得到了超過5dB的 改善,有效的抑制了語音信號(hào)中的噪聲,提高了語音可懂度,具有較高的實(shí)用價(jià)值。
【附圖說明】
[0061] 圖1是本發(fā)明的方法流程圖;
[0062] 圖2是本發(fā)明的噪聲功率估計(jì)值的計(jì)算步驟圖;
[0063] 圖3是純凈語音、加噪語音和降噪后語音波形對(duì)比圖;
[0064] 圖4是純凈語音、加噪語音和降噪后語音語譜圖對(duì)比圖。
【具體實(shí)施方式】
[0065] 下面將結(jié)合附圖以及【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步的說明:
[0066] 如圖1所示,本發(fā)明所述的數(shù)字助聽器語音噪聲消除方法,主要包括以下步驟:
[0067] S1.將輸入語音的采樣信號(hào)分割子帶和分幀,得到各幀子帶帶噪語音信號(hào),可以先 分割子帶再分幀,也可以先分幀再分割子帶,在本實(shí)施例中采用先分割子帶再分幀的順序。
[0068] 分割子帶包括以下步驟:
[0069] 由麥克風(fēng)輸入的語音信號(hào)米樣頻率;1^為16KHz,因語音信號(hào)的短時(shí)平穩(wěn)性,取一幀 信號(hào)長(zhǎng)度為128個(gè)點(diǎn),即8ms。將輸入語音的采樣信號(hào)設(shè)定為χ(η),η表示離散時(shí)間點(diǎn),將 X(η)通過分析濾波器組氏(z),H2 (z),. . .,Η16 (ζ)分解為16個(gè)子帶信號(hào),為進(jìn)一步降低計(jì)算 復(fù)雜度,分析濾波器組中各濾波器均為6階的IIR濾波器。各濾波器輸出的子帶信號(hào)為:
[0070] yk (n) =x(n) *hk (η) (式 1)
[0071] 式中k為子帶號(hào),k= 1,2, · · ·,16,yk(n)為子帶k的輸出,hk(n)為濾波器單位脈 沖響應(yīng)。
[0072] 分幀包括以下步驟:
[0073] 在第k個(gè)子帶中,將子帶信號(hào)yk(n)分幀,用y(m,k)表示第k子帶第m幀帶噪語 音信號(hào)矢量,BP在第m幀內(nèi)y(m,k) = [yk(0)yk(1>"yk(N-l)],將y(m,k)表示為y(m,k)= 8〇11,1〇+11(111,1〇,其中3(111,1〇為純凈語音信號(hào)矢量,3(111,1〇 = [81<(0),81<(1),~,81^-1)], n(m,k)為噪聲信號(hào)矢量,n(m,k)=[叫⑶以⑴^^叫⑴-川"為幀長(zhǎng)"值為挪。
[0074] S2.計(jì)算各幀子帶帶噪語音信號(hào)的增益函數(shù)。
[0075] 增益函數(shù)為:
[0076]
[0077] 式中SNRpriC](m,k)為先驗(yàn)信噪比。
[0078] 計(jì)算先驗(yàn)彳目噪比:
[0079]
〇
[0080] 式中i(fli-li)表示子帶k第m-ι幀的純凈語音功率估計(jì)值
W 為幀長(zhǎng),外《 -1,幻表示子帶k第m-Ι幀的增強(qiáng)信號(hào),幻由(式10)計(jì)算所得。
[0081] A(