?

基于語音活動性檢測的維納濾波處理?

2020-05-25 09:44于春和朱雨薇
艦船電子工程 2020年2期
關鍵詞:漢明信噪比矩形

于春和 朱雨薇

(沈陽航空航天大學電子信息工程學院 沈陽 110136)

1 引言

人們可以通過語音來表達情感和信息,語音也成為一種重要的交流方式。隨著科技的不斷更新和發展,通信領域被人們越來越重視。例如手機智能語音助手,手機通話等方面。但是在語音傳輸的過程中,總是會產生噪音,這些噪音主要是由于受到背景環境和傳輸環境的影響而產生的。同樣,語音信號的產生過程和處理過程也會產生噪聲。噪聲可以是白高斯噪聲、寬帶和窄帶噪聲、加性噪聲、電學或者聲學噪聲,也可以是與原始純凈語音無關的其它語音信號。在這些條件的干擾下,語音的可懂度和語音質量會大幅度下降,產生可逆或不可逆的影響。但是噪音的產生具有隨機性,我們只能是盡量減小,并不能做到完全的消除。一般我們用語音的語音質量和可懂度這兩個指標來評價處理語音信號的好壞。這兩個評價指標有聯系而又不同。語音質量是通過信噪比的值來反映出來,目標是提高信噪比。而語音的可懂度則需要人們主觀去判斷。具有高可懂度的語音信號在各個領域都起著重要的作用。既然噪聲的產生無法避免,我們就要想辦法來處理它們。

2 語音的預處理

在處理語音信號的問題上我們先要討論信號的預加重、分幀和加窗問題,才能進一步對信號進行具體的處理。

2.1 預加重

語音信號受生理因素的干擾,會對語音產生一些影響,高頻部分通常按著一定倍頻程衰減,在衰減過程中頻譜的頻率越高,其頻譜幅值越小,反過來,頻率越低,頻譜幅值越大。我們如果要消除這種影響,取消其不均勻的分布,需要對語音信號進行預加重處理。加重語音的高頻部分,去除口唇輻射對語音信號造成的影響,同時也需要增加語音的高頻分辨率。一般通過傳遞函數為

的高通數字濾波器來實現預加重,預加重系數設置為α,其取值范圍設置為0.9~1。在n 時刻時,語音采樣值可以表達為x(n),經過預加重處理后的結果為

2.2 語音信號分幀、加窗處理

根據語音時長可以看出,語音信號有長有短,有的短則幾秒鐘,有的長達幾分鐘,甚至更長。在宏觀上來看,長的語音信號不滿足平穩特性,我們可以認為其是不平穩信號。但是在維納濾波等一些處理方法中,要求信號必須是在平穩信號下進行處理的。根據語音信號具有短時平穩特性,我們可以對語音信號進行分段處理,每一個短段稱為一幀。這些段落長度相同,都帶有語音的詳細特性。我們稱這個過程為語音信號的分幀處理。一幀語音的長度可以根據需要來設定,但是要保證在10ms~30ms之間。

加窗操作即語音信號與一個窗函數相乘,其是為了使整個語音信號更加連續,避免出現一種效應,即吉布斯效應。加窗函數的時候,我們也使本來沒有周期性的語音信號獲得了周期函數的部分特征。

但是加窗會造成一定后果,其使每一幀信號的兩端部分會造成削弱,為了后續加窗的操作,我們一般在分幀的時候,需要相互重疊一部分。而不是不要背靠背地截取,相鄰兩幀的起始位置上存在的時差叫做幀移。

在語音信號處理中常用的窗函數有矩形窗、漢寧窗等。

2.2.1 矩形窗

其中幀長為N。將其進行傅里葉變換求得矩形窗的頻譜:

幅度譜為R(W),如圖1所示。

圖1 矩形窗的幅度譜

這是一個逐漸削弱的衰減函數,x 軸的正半軸第一個過零的在點w1=2π/N處,x軸的負半軸的在w2=-2π/N處第一個過零點,ω1和ω2之間的距離叫做主瓣,矩形窗的主瓣寬為4π/N,其兩邊的旁瓣各占二分之一,均為2π/N。

2.2.2 巴特利窗

從其表達式可以看出巴特利窗是一種三角窗,兩端為0,中間為最大值。

其頻譜為

其幅度譜為R(w),如圖2所示。

圖2 巴特利窗的幅度譜

和矩形窗的頻譜相比,巴特利窗的頻譜最大旁瓣的幅度降低了很多。但時其主瓣寬度和過渡帶寬增加了。

2.2.3 漢寧窗

其也是一種常用的窗函數,其中RN(n)是長度為N 的矩形窗。其頻譜為

矩形窗的幅度譜表示為RNr,如圖3所示。

3 個分量之和構成了其幅度譜,導致其旁瓣相互抵消,旁瓣減小。與矩形窗的幅度譜相比,我們很容易看出其能量更加集中到主瓣,主瓣加寬。

圖3 漢寧窗的幅度譜

2.2.4 漢明窗

改變漢寧窗定義式中的系數0.5則可以得到漢明窗。即漢明窗是漢寧窗的升級版。

圖4 為漢明窗的幅度譜,與圖3 相比,漢明窗幅度譜旁瓣更小,從而使得能量更加集中到主瓣。

圖4 漢明窗的幅度譜

加窗分幀可以采用前后兩幀完全不重疊的連續分幀;也可以前后兩幀完全有部分重疊的疊分幀。但是一般都采用重疊分幀的方法。這是為了保證前后兩幀參數能夠平穩的過渡。幀移則表示為前一幀和后一幀的重復部分。幀移與幀長的比值在0~0.5范圍內選取。當幀移取0時表示連續分幀,即相當于前后兩幀沒有交疊重復部分,當幀移取0.5時表示前后兩幀有一半重疊的分幀。

3 維納濾波器

濾波器就是一個含有噪聲的信號,經過這個濾波器之后,輸入信號變成了另一個信號。只不過這個信號比較特殊,它和原來的信號有聯系,這個聯系就是原來的信號是現在的信號的+噪聲信號。維納濾波器是一種以語音信號衰減為代價而實現噪聲抑制[1]的濾波器。也是常用的線性濾波器之一。它是對語音處理的關鍵的一個部分。

假設所有信號都是平穩的,純凈語音信號y(n)受到噪聲信號v(n)干擾,帶噪信號可以表示為

其中帶噪信號v(n)是與純凈語音信號y(n)不相關的白噪聲或者有色噪聲[2]。

當帶噪信號s(n)輸入到維納濾波器后,可以得到輸出信號ss(n),使得輸出信號ss(n)盡可能接近純凈信號y(n),即均方差E{e(n)2} 最小,可以表示為

其中h(n)為單位沖擊響應。均方誤差MSE 準則[3]可以表示為

其中:

其中Ryy表示帶噪信號s(n)自相關矩陣,rsy表示帶噪信號和純凈信號的互相關矢量,δ2為信號y(n)的方差,E[.]表示數學期望??梢缘玫阶顑灳S納錄波器為[4]

然而在現實當中我們往往不知道純凈信號y(n)的信息,這就使得rsy[5]很難獲得。但是通過以下公式的推導:

我們可以找到噪語音信號與噪聲信號互相關函數和帶噪語音自相關函數與噪聲信號自相關函數之間的聯系。

從中可以看出帶噪信號和純凈信號的互相關矢量取決于帶噪信號的自相關矢量和噪聲信號的自相關矢量。其中帶噪信號的自相關矢量可以通過純凈信號和噪聲信號混合時得到,噪聲信號的自相關矢量,可以在只有噪聲存在的時刻估計得到。為了解決這一問題,需要提前對噪聲進行估計,這一步就顯得十分重要,這里利用語音活動性檢測的方法從帶噪語音中提取純凈的噪聲片段,從而估計其自相關矩陣。

4 語音活動性檢測

語音活性檢測[6]是一項用于語音處理的技術,簡稱VAD。其目的是檢測語音信號的存在與否。VAD 技術通常在語音編碼和語音識別[7]方面應用。它可以簡化語音處理,也可用于在視頻通話的時候出去非語音信號,可以在IP 電話應用中避免對靜音數據包的編碼和傳輸,從而節省了計算時間和帶寬[8]。

VAD 有很多種方法。在實際處理中,為了提高其精確度往往會提取四種或者更多的特征進行判斷[9],此處介紹的是利用短時能量(簡稱STE)和過零率(簡稱ZCC)的檢測方法[9]。

4.1 過零率

過零率是指一個信號的符號變化的比率,即一幀語音時域信號穿過時間軸的次數。

其計算方法是,將幀內所有信號平移1,再對應點做乘積,符號為負的則說明此處過零,只需將幀內所有負數乘積數值求出則得到該幀的過零率。

4.2 短時能量

短時能量是指一幀語音信號的能量[10]。由于隨著時間變化信號能量也隨之變化,清音和濁音之間的能量差別相當顯著。利用短時能量可以很好地進行處理。

可以定義為[11]

在信噪比不是很低的前提下,語音片段的STE相對較大,ZCC 相對較??;而非語音片段的STE 相對較小,ZCC相對較大[12]。主要是由于語音信號能量絕大部分包含在低頻帶內,而噪音信號通常能量較小且含有較高頻段的信息而造成的。所以可以設置兩個門限通過語音信號這兩個特征進行對比,從得得到想要的非語音信號,進行下一步維納濾波的操作。

5 實驗分析和結果

Matlab[13]是一款在算法開發時經常用到的數學軟件。因此在維納濾波處理和運用上,我們也將使用這個便捷的計算軟件。主要考慮的是輸入的帶噪信號s(x)的自相關函數Rs(x)和帶噪信號s(x)和純凈信號y(x)的互相關函數Rsy(x)。

本文實驗取一段在安靜環境下錄制的30s 語音作為純凈始語音y(n),并加入不同信噪比的高斯白噪,得到帶噪信號s(n)。

在維納濾波階段,根據帶噪信號s(n)和VAD估計得噪聲信號v(n),通過Matlab 可以求解維納-霍夫方程得出系統函數[14]:

其中R 為相關函數,其傅立葉變換為G。進一步計算輸出信號ss(n)與輸入信號y(n)的均方誤差值,可以得到最優維納濾波輸出信號。

在根據語音活動性檢測來估計噪聲v(n)的階段,首先需要對語音信號進行預處理[15],本實驗取采樣頻率為fs,一幀長度為0.02fs。對語音信號進行分段處理,計算短時能量和過零率,通過STE 和ZCC這兩個特征并且與兩個門限進行對比,從而判斷非語音信號[16]。

圖5 流程圖

5.1 加噪處理

我們錄制了30s 的語音信號作為試驗的數據,對錄制的語音信號,加入已知信噪比為60 的白噪聲,用來評定噪聲信號估計的結果是否與加入的白噪聲接近。錄制信號加入白噪聲后頻譜如圖6所示。

圖6 語音信號加噪聲

5.2 預處理

為了加重語音的高頻部分,消除口唇輻射對語音信號的干擾,需要對帶噪語音進行操作,這個過程就叫做預加重。從圖7 可以看出預加重后得到的語音更符合我們的要求。

圖7 預加重處理

為了得到平穩信號,我們對語音信號進行了分針加窗處理,在已知錄制語音的采樣頻率為fs的前提下,取一幀的長度L 為0.02ms,幀移為0.5L。窗函數選取為漢明窗??梢缘玫秸Z音信號,如圖8 所示為加窗后的一幀信號。

圖8 一幀語音信號

5.3 噪聲估計

圖9 短時能量和過零率

利用過零率和短時能量來做為評判語音活性檢測的兩個指標,在信噪比為60時??梢詮膱D9觀測這兩個指標的變化。

生成的檢測VAD 和帶噪語音進行對比,提取噪聲片段。如圖10和圖11。

圖10 語音活性檢測

圖11 噪聲片段

5.4 維納濾波處理

根據估計的噪聲,可以求得噪聲信號的自相關矢量。帶噪信號的自相關矢量已知,根據公式:

我們很容易求得系統函數。帶噪語音信號通過系統后得到的濾波信號為圖12??梢钥闯龌謴偷男盘柌ㄐ谓咏紟г胝Z音信號。

圖12 恢復信號

通過對濾波處理的恢復信號可懂度和信噪比兩方面進行分析。語音可懂度大大提高,除去白噪聲的語音信號更加清晰。在信噪比方面,本身加入的是信噪比為60 的白噪聲。濾波之后信噪比變為80.45。

從這兩個指標可以看出,基于語音活動性檢測的維納濾波處理的效果十分明顯。我們可以通過這種方法來達到對白噪聲的去除。

5.5 信噪比對維納濾波效果的影響

除此之外,本實驗對加入不同信噪比白噪聲的語音信號分別進行處理。維納濾波的目標是使得輸出信號無限接近未加噪之前的語音信號,即輸出信號和純凈的語音信號最小均方誤差最小。當信噪比分別取50~100 時,觀察輸出信號與純凈信號之間的最小均方誤差,形成對比圖像。如圖13 所示。

圖13 不同均方誤差結果

從圖中可以看出隨著信噪比的提高,維納濾波處理的效果也越來越明顯,輸出信號無限接近輸入信號,我們也更可以得到想要的去噪信號。信噪比的值在50-60 之間時,維納濾波處理效果大幅上升,而在信噪比大于65 之后,維納濾波處理效果基于穩定。其不會隨著信噪比的提高而提升處理效果。

6 結語

本文先通過語音活性檢測對帶噪語音進行噪聲估計,估計其噪聲片段,從而求得維納濾波系統函數。再通過維納濾波對帶噪語音的處理實現,判斷維納濾波器的線性濾波效特性,獲得去噪信號。其次,加入不同信噪比的白噪聲,得到系統輸出和輸入的最小均方誤差判斷維納濾波的穩定性和處理效果,濾波輸出的期望信號ss(n)越接近純凈信號y(n)。在信噪比達到一定數值時,維納濾波處理趨于穩定。

維納濾波的研究有著重要的理論價值和應用價值。它是最佳濾波器研究的基礎。它也是語音增強的重要組成部分。此外,維納濾波也在其他許多聲學領域的應用前景也非常廣闊。通過仿真實踐研究,可以更好地學習這一領域,對今后在通信領域中研究信號處理有很大的幫助,為日后的研究提供了一定的理論依據。我們也要繼續在這一領域逐漸成長。

猜你喜歡
漢明信噪比矩形
兩種64排GE CT冠脈成像信噪比與劑量對比分析研究
基于經驗分布函數快速收斂的信噪比估計器
有限域上一類極小線性碼的構造
矩形面積的特殊求法
自跟蹤接收機互相關法性能分析
基于深度學習的無人機數據鏈信噪比估計算法
從矩形內一點說起
巧用矩形一性質,妙解一類題
媳婦管錢
一種新的計算漢明距方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合