基于matlab譜減法音頻降噪處理_第1頁
基于matlab譜減法音頻降噪處理_第2頁
基于matlab譜減法音頻降噪處理_第3頁
基于matlab譜減法音頻降噪處理_第4頁
基于matlab譜減法音頻降噪處理_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數字信號處理課程設計題目 基于matlab譜減法音頻降噪處理班級學號姓名指導時間景德鎮陶瓷學院數字信號處理課程設計任務書設計課題:基于matlab譜減法音頻降噪處理設 計 任 務 與 要 求1、題目選擇:根據自己掌握的情況選擇合適的題目,要求IIR濾波器的設計中,模擬濾波器的設計選擇一個,數字濾波器的設計選擇一個,FIR濾波器的設計中,窗函數選擇一個(可參考選題另有附件);2、掌握Matlab軟件的基本應用;設 計 步 驟1、選擇適當的題目,查閱相關資料;2、技術參數設定,選定所要設計的某種類型的濾波器后,設定相應的技術參數;3、Matlab程序設計;4、得出結果和仿真波形;5、總結,對以上各

2、步驟寫出詳細的設計報告,存在什么問題,如何解決。正文字數不得少于 3000字。參 考 文 獻(1)程佩青 數字信號處理教程清華大學出版社(2)吳鎮揚 數字信號處理高等教育出版社(3)胡廣書數字信號處理導論清華大學出版社(4)(5)(6)姓名班級指導老師目錄1、設計要求 12、 設計原理 23、源程序清單 74、設計結果和仿真波形 115、 參考文獻 15.6、 設計心得體會 161、設計要求語言是人類最重要、 直接、有效和便捷的交換信息的方式。 隨著近些年科學 技術的飛速發展, 人們也不滿足于和計算機的信息交換方式, 希望能夠甩掉鍵盤 和鼠標而實現用語言來對計算機進行控制。 因此,語音信號處理

3、技術便應運而生。 語音信號處理是一門新興的學科, 同時也是綜合多種學科和涉及面非常廣泛的交 叉學科。現在在一些職能系統中嵌入有語音處理系統, 但它們只能在安靜的環境 中才能使用。 然而,在語音信息的采集過程中難免會有各種噪聲的干擾。 噪聲不 僅降低了語音的可懂度和語音質量, 還嚴重的影響語音處理的準確性, 甚至使系 統不能正常工作。 本文將就對語音增強技術的原理和方法進行討論, 重點介紹語 音增強的一種方法譜減法及其改進算法。 該方法能夠有效消除平穩的加性噪 聲,其改進算法能夠有效消除普通方法產生的“音樂噪聲” ,在很大程度上提高 語音信號的信噪比。目前,語言識別技術已經取得了重大進展, 并開

4、始進入實用階段。 但語音識 別系統必須在相對比較安靜的環境下運行, 然而,在語言信息的采集中難免會有 各種噪聲的干擾,在較強的噪聲背景下, 語音識別系統的準確性會受到較大影響, 甚至沒法正常工作。 所以在語音識別系統對語音信息處理前, 應該對語音信息進 行預處理,即背景噪聲消除。 語音背景噪聲消除技術的出現使得語音識別技術更 加穩定和精確, 也使得語音信息的可懂度大大提高, 使人們能夠從較復雜的語音 信息中提取到更多的有用信息。162、設計原理噪聲的生成原理及分類噪聲的來源取決于實際應用,不同情形下產生的噪聲其特性也是千變萬化, 所以沒有一種通用的語音增強算法能對每一種噪聲起到有效的消除。 下

5、面我們來 簡單分析噪聲的生成原理及分類情況。噪聲可以分為兩大類:加性噪聲和非加性噪聲,加性噪聲一般是指熱噪聲、 散彈噪聲等, 其特點是噪聲信號與語音信號是加性的, 噪聲不隨信號而改變, 即 使信號不存在噪聲也會存在。非加性噪聲如乘性噪聲,他們與信號成乘性關系, 信號存在噪聲就存在, 信號改變噪聲也隨之改變。 一般通信中我們把加性隨機性 看成背景噪聲,而乘性隨機性則是由系統時變性和非線性造成的。這里我們僅介紹加性噪聲, 加性噪聲一般分為一下幾類: 人為噪聲, 自然噪 聲和內部噪聲。人為噪聲是指信號之外人為的噪聲,如外臺信號、開關接觸噪 聲、工業的點火輻射等;自然噪聲則是由于自然界的各種電磁波源如

6、閃電、 大氣中電暴和宇宙輻射等造成的噪聲;內部噪聲是信號采集時系統設備自 身產生的各種噪聲,如熱噪聲和散彈噪聲等8 。以上噪聲中確定類型的噪聲因為知道其產生機制, 所以理論上是能夠消 除或者基本消除。但是有一類隨機噪聲因為不能預測其波形而比較難以消 除,這種不能預測的噪聲系統成為隨機噪聲。隨機噪聲可分為三類:( 1)周期性噪聲是由于發動機等機械、電氣干擾特別是交流電等造成的周期性 的干擾噪聲。 ( 2)脈沖噪聲是突發的幅度高且持續時間短的離散脈沖。它 的來源是由于爆炸、點擊和撞擊等,其特點就是脈沖幅度大,持續時間短, 兩個脈沖之間時間長等。這類噪聲通常在時域情況下消除,根據信號的幅 度平均值來

7、確定信號幅度的閉值。當信號超過這一閉值時,系統則認為是 脈沖噪聲,再對脈沖噪聲進行衰減。 ( 3)寬帶噪聲的來源很多,熱噪聲、 氣流(如風、呼吸)噪聲及各種隨機噪聲源,量化噪聲也可視為寬帶噪聲。 由于寬帶噪聲與語音信號在時域和頻域上完全重疊,因而消除它最為困難。 這種噪聲只有在語音間歇期才單獨存在。對于平穩的寬帶噪聲通常可以認 為是白色高斯噪聲。不具有白色頻譜的噪聲,可以先進行白化處理。對于 非平穩的寬帶噪聲,情況就更為復雜一些。噪聲破壞了語音信號原有的聲學特征和模型參數, 使語音質量下降, 也 使人產生聽覺疲勞。不僅如此,強噪聲環境還會對說話的人產生影響,使 人改變在安靜環境或者低噪聲環境中

8、的發音,從而改變了說話人的語音特 征參數,它對語音識別系統有很大影響。基本譜減法消除噪聲的原理在諸多語音增強方法中,譜減法因其計算量小,容易實現和增強效果 好等特點而備受關注,是諸多方法中比較有效的語音增強算法。譜相減方 法是居于人的感覺特性,即語音信號的短時幅度比短時相位更容易對人的 聽覺系統產生影響,從而估計語音的短時幅度譜,比較適用于消除帶加性 噪聲的語音。譜減法在20世紀八十年代后用來與其它方法相結合來獲得更為有效的語音增強算法。并且成為其它語音增強算法的比較標準。下面我們來詳 細了解譜減法的原理。在基本譜減法中,假定語音為平穩信號,且噪聲為加性噪聲,與語音信號彼此不相關。此時帶噪語音

9、信號可表示為:y(t) =s(t) n(t)(1)式(1)中,y(t)為含噪語音信號,s(t)為純凈語音信號,n(t)為噪聲信號。 用丫(w),S(w)和N(w)來分別表示y(t) ,s(t)和n(t)的傅里葉變換,則有下列關 系:Y( w)工 S( w) N( w)(2)由公式(2)可得:,Y(w=S(w , +|n (w+2Re _S(w)N*(w)(3)根據(3)可得:E Y(w=E S(w+ E N (w, +2E<Re _S(w )N* (w)H由于基本假定是噪聲信號與語音信號是加性的,s(t)和n(t)獨立,所以S(w)和N(w)也獨立。故ERe|S w N* w)#=0。所

10、以對一個分析幀內得短時平穩過程,有:丫 (w=S (w f + N (w )2因為噪聲是局部平穩的,故可以認為沒有語音信息是的噪聲與有語音信息時 的噪聲功率譜是相同的,因而可以利用發語音前的“寂靜幀”來估計噪聲。由式(5)可以得到原始語音的估計值:A式(6)中,下標表示加窗信號,表示估值,;|Nw w2則表示無語音信號時2.1所示:2帶噪語音圖2.1基本譜減法的原理示意圖2N(w$的均值。如果式(6)中結果出現負值,則將其改為0或改變符號,因為功率譜不能為負數。由式(6)可得原始語音估值:Y(wf-N(w 廠根據人耳對語音的相位變化不敏感這一特點,我們可以用原帶噪語音信號y(t)的相位來代替估

11、計之后的語音信號的相位,將估計后的頻域信號進行逆傅里葉變換得到降噪后的語音時域信號。基本譜減法的原理圖如圖 噪聲 方差改進譜減法消除噪聲的原理傳統的噪聲估計方法是基于最優平滑和最小統計的噪聲估計,還有一種采用改進的算法一一基于語音活性檢測的噪聲估計算法。語音激活檢測指從一段包含語音信號中確定出語音的起始點和終點,又稱端點檢測。語音端點檢測的目的就是從連續記錄的帶噪語音信號中分離出有用的語 音信號。語音激活檢測是各種語音處理中必需的一個重要環節,精確地確定輸入語音的起點和終點將保證語音處理系統良好的性能。對于語音激活檢測在語音增強中的應用,為了得到更多的關于背景噪聲特 性,語音端點檢測更注重于如

12、何準確的檢測出無音段。一般的語音激活檢測是根據語音幀來進行的,語音幀的長度在 1030ms不等。語音端點檢測的方法可以 綜述為:從輸入信號中提取一個或一系列的對比特征參數,然后將其和一個或一系列的門限閾值進行比較,如圖 4-7所示。如果超過門限則表示當前為有音段, 否則就表示當前為無音段。圖4-7語音激活檢測框圖目前語音端點檢測所采取的方法大體可以分為兩類:第一類是噪聲環境下基于 HMM模型的語音信號端點檢測的方法,該方法 要求背景噪聲保持平穩且信噪比較高。第二類方法是基于信號的短時能量進行檢測的算法,它通過對背景噪聲能量的統計,定出能量門限,利用能量門限來確定語音信號起始點。在這里運用語音端

13、點檢測采用了第二類方法,即基于信號的短時能量進行檢 測的算法。基于信號的短時能量檢測具體算法如下:1)計算每一幀的語音能量:N A2EnXn(m)(4-1)式中N為幀長,n為幀的編號,m為每一幀中的各點,1_n_L 而它有一個缺陷,即它對高電平非常敏感(信號的二次方計算) 時平均幅度函數來表征一幀語音信號的能量大小,定義:N 二=送 |xn(m)|,L為幀數;然。為此,定義短nm =0(4-2)m=02)計算前20幀平均噪聲能量EMN ;3)求能量最大值和能量最小值 EAX,EMIN ;4)根據式(4-2)確定門限(4-3)T 二 min0.03(EAX - EMIN ) - EMN ,4EM

14、N應用譜相減法實現語音增強基本原理是通過對帶噪語音譜減去噪聲譜得到 語音譜,因此,語音激活檢測這一環節非常重要,準確地確定語音的起始點和終止點對噪聲譜估計有著重要的作用。 改進型語音降噪處理運用端點檢測技術,用MATLA仿真,可明顯顯示出其優越性。用 MATLA仿真的流程如下:1)對輸入的語音信號進行預濾波;2)對濾波后的語音信號進行預加重;3)將語音信號按每幀128個信號點進行分幀,幀移為64;4)對信號幀加漢明窗(Haming);5)對加窗后的信號幀進行FFT變換;6)對各幀語音信號求功率譜;7)根據前20幀求取平均噪聲功率;8)利用VAD進行噪聲估計檢測寂靜段,進而組合遞歸平滑,更新噪聲

15、譜;9)進行譜減運算,得到估計出的語音信號功率譜;10)插入相位譜,計算出語音譜;11)進行 IFFT 變換,得到還原的語音幀;12)根據各個語音幀組合為語音信號;13)對語音信號進行去加重處理,得到最終信號3、源程序清單F面是一段無噪聲純凈的音頻1.wav,用matlab仿真的源程序代碼: x,fs,bits=wavread('D:1.wav');x1=x(1:e nd,1);%因錄音時是立體聲,故取其中的第一通道的音頻數據 sound(x1,fs,bits);X仁fft(x1,4096);%對x1進行4096點傅里葉變換 magX1=abs(X1);angX1=angle(

16、X1); subplot(221);plot(x1);title('原始信號波形'); subplot(222);plot(X1); title('原始信號頻譜');subplot(223);plot(magX1);title('原始信號幅值'); subplot(224);plot(angX1);title('原始信號相位');其仿真圖如圖一所示。前面MATLA讀取的語音信號聲音比較清晰,信噪比較高,用這樣的信號實 驗對比效果不太明顯。 因此在進行消除噪聲實驗之前我們要人為的給原始信號添 加隨機白高斯噪聲, 降低語音信號的信噪比

17、。 下面是 matlab 加入噪聲的源代碼: clear x,fs,bits=wavread('D:1.wav');N=size(x,1);設定噪聲的頻率為 1000Hz 設置噪聲的長度跟原語音信一樣長 , ;%產生幅度為 0.5 頻率為 fn 的正弦波作為噪聲 . 將原語音信號跟噪聲相加 ,x 為帶有噪聲的語音信號x1=x(1:N,1);%3錄音時是立體聲,故取其中的第一通道的音頻數據fn=1000;%t=1:length(x1);%x2=0.5*sin(2*pi*fn/fs*t) y=x1+x2'% wavwrite(y,fs,'D:2.wav')

18、;%將帶有噪聲的語音信號轉換為聲音 ,2.wav 中將有噪聲下面是加噪后音頻的 matlab 仿真源代碼:x,fs,bits=wavread('D:1.wav');x1=x(1:e nd,1);%因錄音時是立體聲,故取其中的第一通道的音頻數據sound(x1,fs,bits);X仁fft(x1,4096);%對x1進行4096點傅里葉變換 magX1=abs(X1);angX1=angle(X1); subplot(221);plot(x1);title(' 加噪后信號波形 '); subplot(222);plot(X1); title(' 加噪后信號

19、頻譜 '); subplot(223);plot(magX1);title(' 加噪后信號幅值 '); subplot(224);plot(angX1);title(' 加噪后信號相位 '); 其仿真圖如圖二所示。下面是噪聲的 matlab 仿真的源代碼: clearx,fs,bits=wavread('D:2.wav'); %讀取 2.wav 文件并返回 fs 和 bits 的值。 y=x(1:4096,1) ;%截取語音信息前 4096 點作為噪聲信號Y=fft(y); %對噪聲信號進行傅里葉變換 magY=abs(Y);%取噪聲功率

20、譜絕對值 an gY=a ngle(Y);%取噪聲相位 subplot(221);plot(y);title(' 噪聲信號波形 ');subplot(222);plot(Y); title('噪聲信號頻譜'); subplot(223);plot(magY);title(' 噪聲信號幅值 ');subplot(224);plot(angY);title('噪聲信號相位'); 其仿真的圖形如圖三所示。下面是利用基本譜減法降噪處理 matlab 源代碼:clear; x,fs,bits=wavread('D:2.wav'

21、;);y=x(1:4096,1);Y=fft(y);magY=abs(Y);b=;for i=0:126;n=4096;x1=x(1+n*i:n+n*i);X1=fft(x1);magX=abs(X1);S=(magX.A2-magY.A2); S1=abs(S).A0.5; s1=ifft(S1);m=mean(s1)*300;for j=1:4096;if abs(s1(j)>m;s1(j)=s1(j)/4;endenda=s1'b=b a;endx2=b'plot(x2);soun d(x2,fs,bits);下面是利用改進的譜減法降噪處理的matlab源代碼:cl

22、ear;x,fs,bits=wavread('D:2.wav');y=x(1:4096,1);Y=fft(y);magY=abs(Y);b1=;a=1.3;b=1.3;% 設定和的值for i=0:126;n=4096;x1=x(1+ n*i: n+n *i);X1=fft(x1);magX=abs(X1);S=(magX.Aa-magY.Aa);S1=abs(S).A(1/b);s仁 ifft(S1);m=mea n( s1)*300;for j=1:4096;if abs(s1(j)>m;s1(j)=s1(j)/4;endenda1=s1'b1=b1 a1;endx2=b1'plot(x2);sound(x2,fs,bits);wavwrite(x2,fs,'D:4.wav')% 增強后語音以 4.wav 為文件名保存 其降噪后的 matlab 仿真圖形如圖四所示。4、設計結果和仿真波形圖一圖三圖四5、參考文獻【 1】程佩青 數字信號處理教程 清華大學出版社【 2】吳鎮揚 數字信號處理 高等教育出版社【 3】胡廣書 數字信號處理導論 清華大學出版社【 4】易克初 田斌 付強 語音信號處理

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論