基于MATLAB語音信號降噪處理_第1頁
基于MATLAB語音信號降噪處理_第2頁
基于MATLAB語音信號降噪處理_第3頁
基于MATLAB語音信號降噪處理_第4頁
基于MATLAB語音信號降噪處理_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、目 錄插 圖 清 單II摘 要IIIAbstractIV引 言- 1 -第一章 語音信號的采集- 2 -1.1 語音信號產(chǎn)生數(shù)字模型- 2 -1.2 語音信號的數(shù)字化和預(yù)處理- 2 -第二章 語音信號的分析- 6 -2.1 語音信號的時域分析和頻域分析- 6 -2.1.1 語音信號的時域分析- 6 -2.1.2 語音信號的頻域分析- 6 -2.2 語音信號處理軟件介紹- 7 -2.3 基于MATLAB的語音信號處理- 7 -第三章 MATLAB濾波器設(shè)計- 9 -3.1 模擬濾波器設(shè)計- 9 -3.2 數(shù)字濾波器設(shè)計- 9 -第四章 語音信號降噪處理- 11 -4.1 語音信號處理調(diào)用函數(shù)介紹

2、- 11 -4.2 語音信號降噪程序設(shè)計- 12 -4.2.1 原始語音信號的獲得- 12 -4.2.2 原始語音信號加噪處理- 13 -4.2.3 語音信號濾波處理- 15 -4.3 改進(jìn)型語音降噪技術(shù)- 18 -結(jié) 論- 25 -參考文獻(xiàn)- 26 -致 謝- 27 -插 圖 清 單圖1-1 語音信號產(chǎn)生模型-2-圖1-2語音信號時域波形-3-圖1-3語音信號頻譜圖-4-圖1-4 時域波形比較-5-圖2-1 語音信號降噪流程圖-8-圖 3-1 巴特沃斯濾波器頻率響應(yīng)-10-圖4-1 原始語音信號時域波形-13-圖4-2 原始語音信號頻譜圖-13-圖4-3 加噪語音信號時域波形-15-圖 4-

3、4 加噪語音信號頻譜圖-15-圖 4-5 濾波前后時域波形比較圖-17-圖 4-6 濾波前后頻譜比較圖-17-圖 4-7 語音激活檢測框圖-18-圖 4-8 純凈語音信號時域波形-23-圖 4-9 帶噪語音信號時域波形-23-圖 4-10 增強后語音信號時域波形-24-摘 要語音是語言符號系統(tǒng)載體。由人的發(fā)音器官發(fā)出,帶有一定意義的語言意義。語言通過語音實現(xiàn)它的社會功能。語言的聲音和語言的意義是緊密聯(lián)系著的,但語言和語音又是有著本質(zhì)區(qū)別的。人們通過語言進(jìn)行交流和社會活動,我們要對語音進(jìn)行處理分析,優(yōu)化人類通信交流。對于語音信號的處理,有通過語音信號的數(shù)字處理技術(shù)和相關(guān)技術(shù),研究語音信號處理是十

4、分有實際意義的。本次論文制作,選取的是一段wav格式語音信號,運用 MATLAB軟件分析語音信號的時域波形和頻域圖形。在對語音信號進(jìn)行濾波處理前,先對原始語音信號進(jìn)行了加噪處理,此舉目的是為了使濾波前和濾波后的信號有明顯區(qū)別。加噪后的語音通過MATLAB繪制出它的時域波形和頻譜。加噪前后的語音信號我們可通過MATLAB軟件中sound函數(shù)播放,明顯感覺到加入噪聲的效果。濾波處理后進(jìn)行了語音回放。濾波處理在本次設(shè)計中用到的是巴特沃斯低通濾波器。對于巴特沃斯低通濾波器的設(shè)計,在現(xiàn)在已有相當(dāng)成熟的設(shè)計技術(shù)可供借鑒。濾波器降噪效果不是十分理想,本文還提供了一種改進(jìn)型降噪處理方法。MATLAB軟件功能強

5、大,本次語音信號處理所用的都是MATLAB軟件中的相關(guān)函數(shù)。關(guān)鍵詞:語音;噪聲;MATLAB;濾波器;信號處理AbstractThe voice is the carrier of language symbol system. Issued by the human vocal organs, with a certain sense of meaning in language. Its social function of language are closely linked ,but the language and voice is different in nature. Thr

6、ough language, communication and social activities, to the voice processing and analysis and optimization of human communication exchange. For speech signal processing,digital voice signal processing technology and related technologies,speech signal processing is of practical significance.The paper

7、production, the selected perid of wav format voice signal using MATLAB software to analyze the speech signal time-domain waveform and frequence-domain graphics. Filtering the speech signal, the first of the original speech signal plus noise ,the aim was to make before filtering and the filtered sign

8、al. Voice plus noise by MATLAB to map out its time-domain wavefrom and spectrum. The voice signal before and after adding noise,we can pay through the sound function in the MATLAB software, and obviously feel that by adding the effect of noise. Voice playback filtering,filtering used in the design o

9、f the Butterworth low-pass filter. Butterworth low-pass filter design are now quite mature design technology for reference.MATLAB software is powerful, the correlation function of the speech signal processing are used MATLAB software .Kerwords : voice ; noise; of MATLAB; filter; signal processing 引

10、言通過語音傳遞信息是人類最重要、最有效、最常用和最方便的交換信息形式。語音信號是人們構(gòu)成思想疏通和感情交流的最主要途徑。20世紀(jì)60年代中期語音信號的采集與分析作為一個重要的研究領(lǐng)域,形成的一系列數(shù)字信號處理方法和技術(shù),如快速博里葉變換(FFT)、數(shù)字濾波器。隨著信息科學(xué)技術(shù)的飛速發(fā)展,語音信號處理在最近20多年中取得了重大進(jìn)展。在處理方法上,隨著電子計算機(jī)的飛速發(fā)展,以前以硬件為中心的研究逐漸轉(zhuǎn)化為以軟件處理為主的研究。然而,在語音識別領(lǐng)域,初期有幾種語音打字機(jī)的研究很活躍,但后來被全部停了下來,這說明了當(dāng)時對話音識別難度的認(rèn)識得到了加深。20世紀(jì)90年代以來,語音信號采集和分析通過科學(xué)家的

11、不斷努力在實用化方面取得了許多實質(zhì)性的研究進(jìn)展。其中,語音信號的識別技術(shù)和處理技術(shù)逐漸從實驗室走到大眾的現(xiàn)實生活中,具體體現(xiàn)在移動通信的普。另一方面,為了語音識別實用化的需要,快速搜索識別算法、聽覺模型、講者自適應(yīng)以及進(jìn)一步的語言模型的研究等課題倍受關(guān)注。本文基于matlab的基礎(chǔ)進(jìn)行語音信號的分析和降噪處理。第一章 語音信號的采集1.1 語音信號產(chǎn)生數(shù)字模型一般的語音信號是模擬信號,模擬信號的存儲和傳輸都比數(shù)字語音信號占更大的內(nèi)存和帶寬。所以獲得數(shù)字語音信號可方便對語音信號的后續(xù)處理。語音信號的數(shù)字模型就是利用數(shù)字模擬技術(shù)模擬連續(xù)語音信號,或者說,利用數(shù)字信號處理技術(shù)來實現(xiàn)發(fā)音器官的模擬。發(fā)

12、音器官能發(fā)出連續(xù)的聲波,那么數(shù)字模型就能產(chǎn)生與此相對應(yīng)的信號序列。為了表示取樣的語音信號,我們采用的是離散時間模型。雖然已經(jīng)假定了許多不同的模型,但是目前還沒發(fā)現(xiàn)一種可以詳細(xì)描述人類語音中以觀察到的全部特征模型。建立模型的基本準(zhǔn)則是尋求一種可以表達(dá)一定物理狀態(tài)下的數(shù)學(xué)關(guān)系,要使這種關(guān)系不僅具有強大的精確度,而且還要最簡單。由于語音信號是一連串的時變過程,具有的是非線性時變特性。然而,作出一些合理的假設(shè),在較短的時間間隔內(nèi)表示語音信號,可以采用線性時不變模型。圖1-1給出經(jīng)典的語音信號數(shù)字模型。這里,語音信號被看成是線性時不變系統(tǒng)在隨機(jī)噪聲或準(zhǔn)周期脈沖序列下的輸出。沖激序列發(fā)生器隨機(jī)噪聲發(fā)生器聲

13、門波模型聲道模型振幅Au振幅Av聲道參數(shù)圖1-1 語音信號產(chǎn)生模型1.2 語音信號的數(shù)字化和預(yù)處理語音信號的數(shù)字化處理一般包括反混疊濾波、采樣、放大以及增益控制、A/D轉(zhuǎn)換及PCM編碼。預(yù)處理則包括預(yù)加重、分幀和加窗。在將語音信號進(jìn)行數(shù)字化前,必須先進(jìn)行防混疊預(yù)濾波,預(yù)濾波的目的有兩個:(1)抑制輸入信導(dǎo)各頻域分量中頻率超出fs/2的所有分量(fs為采樣頻率),以防止混疊干擾。(2)抑制50Hz的電源工頻干擾。這樣預(yù)濾波器必須是一個帶通濾波器。語音信號處理中,為將原始模擬語音信號變?yōu)閿?shù)字信號,必須經(jīng)過采樣和量化兩個步驟,從而得到時間和幅度上均為離散的數(shù)字語音信號。采樣,是信號在時間上的離散化,

14、即在模擬信號x(t)上按照一定時間間隔逐點采取其瞬時值。采樣時必須要注意滿足奈奎斯特定理,即采樣頻率fs必須以高于被測信號的最高頻率兩倍以上的速度進(jìn)行采樣,才能正確地重建原始波形,它是通過采樣脈沖和模擬信號相乘來實現(xiàn)的。 根據(jù)語音信號時域波形可知,語音信號頻率集中于1KHz,而采樣頻率50KHz遠(yuǎn)大于1KHz,因此不會發(fā)生采樣混疊現(xiàn)象。如果上述語音信號的采樣頻率變?yōu)?00Hz時,由于采樣頻率小,所得采樣點少,離散信號偏離原始信號,頻譜發(fā)生混疊。一般而言,采樣頻率越高,采樣就越密,所得離散信號就越逼近原始信號。但對于固定長度的信號,過高的采樣頻率并不可取,會給計算機(jī)增加不必要的工作量和存儲空間。

15、采樣頻率過低,采樣點間隔過遠(yuǎn),則離散信號不足以反映原有信號波形特征,無法使信號復(fù)原,造成信號混淆。根據(jù)采樣定理,當(dāng)采樣頻率大于信號的兩倍帶寬時,采樣過程不會丟失信息,利用理想濾波器可從采樣信號中不失真地重構(gòu)原始信號波形。采樣后的信號仍然是模擬信號,需對其進(jìn)行量化,才可得到數(shù)字信號。量化是對幅值進(jìn)行離散化,即將振動幅值用二進(jìn)制量化電平來表示。量化電平按級數(shù)變化,實際的振動值是連續(xù)的物理量。量化一般有均勻量化和非均勻量化。而均勻量化對于小輸入信號很不利,為了克服這個缺點,改善小信號時的信號量噪比,通常在實際中用到非均勻量化。非均勻量化間隔是根據(jù)信號抽樣值的不同而變化的。 語音信號經(jīng)過預(yù)濾波和采樣后

16、,由A/D變換器變換為二進(jìn)制數(shù)字碼。這種防混疊濾波與模數(shù)轉(zhuǎn)換器通常做在一個集成塊內(nèi),因此到目前來說,語音信號的數(shù)字化的質(zhì)量還是可靠地。第二章 語音信號的分析2.1 語音信號的時域分析和頻域分析2.1.1 語音信號的時域分析語音信號是一種非平穩(wěn)的時變信號,它攜帶著各種信息。在語音識別、語音增強、語音編碼和語音合成等語音處理中全都需要提取語音中包含的各類信息。語音信號分析的目的就在與方便有效的提取并表示語音信號所攜帶的信息。語音信號分析可以分為時域變換和頻域變換分析方法,其中時域分析是最簡單的方法,直接對語音信號的時域波形進(jìn)行分析,提取的特征參數(shù)主要有語音的短時能量,短時平均過零率,短時自相關(guān)函數(shù)

17、等。(1) 提取:通過圖形用戶界面上的菜單功能按鍵采集電腦設(shè)備上的一段音頻信號,完成音頻信號的頻率,幅度等信息的提取,并得到該語音信號的波形圖。(2) 調(diào)整:在設(shè)計的用戶圖形界面下對輸入的音頻信號進(jìn)行各種變化,如變化幅度、改變頻率等操作,以實現(xiàn)對語音信號的調(diào)整。2.1.2 語音信號的頻域分析 分析語音信號的頻域特征稱為語音信號的頻域分析。語音信號的頻域分析包括語音信號的功率譜、頻譜、頻譜包絡(luò)倒頻譜分析。我在本次設(shè)計中選擇傅里葉變換的方法對語音信號的頻譜進(jìn)行分析。之所以選擇這種方法,是由于在本科學(xué)習(xí)期間重點學(xué)習(xí)了傅里葉變換的方法。對于傅里葉變換,它把一些復(fù)雜的信號進(jìn)行分解,分解為許多有一定相互關(guān)

18、系的正弦信號的和。再對各個正弦信號進(jìn)行分析,而得到復(fù)雜信號的一些特征。傅里葉變換可用下面公式表示:x(t)為信號的時域表示,X(f)為信號的頻域表示,f為頻率。信號的傅里葉表示在信號的分析與處理中有著十分重要的作用。因為對于線性系統(tǒng)來說,可以很方便地確定其對正弦或復(fù)指數(shù)和的響應(yīng),所以傅里葉分析方法能完善地解決許多信號分析和處理問題。另外,傅里葉表示使信號的某些特性變得更明顯。 語音信號是隨著時間變化的,但通常認(rèn)為,語音是一個隨機(jī)噪聲源激勵或受準(zhǔn)周期脈沖的線性系統(tǒng)的輸出,輸出頻譜是聲道系統(tǒng)頻率響應(yīng)與激勵源頻譜的乘積。然而聲道系統(tǒng)的頻率響應(yīng)及激勵源都是隨時間變化的,一般標(biāo)準(zhǔn)的傅里葉表示雖然適用于周

19、期及平穩(wěn)隨機(jī)信號的表示,但不能直接用于語音信號。語音信號我們則可以認(rèn)為在短時間內(nèi),近似不變,因而可以采用短時分析法,減少分析的困難。2.2 基于MATLAB的語音信號處理Matlab是一個比較常用的語音處理工具箱?;贒SP和MATLAB的語音數(shù)據(jù)采集和處理系統(tǒng),該工具包主要應(yīng)用于語音處理中聽覺模型的建立和分析,其中也包含了語音處理的各種基本功能如線性預(yù)測、語譜圖、識別和合成等語音信號的頻域處理。語音雖然是一個非平穩(wěn)、時變的隨機(jī)過程,但在短時間內(nèi)可近似看作是平穩(wěn)的。如果能從帶噪語音的短時譜中估計出“純凈”的語音短時譜,就可達(dá)到消除噪聲的目的。噪聲也是隨機(jī)過程,所以這種估計只能建立在統(tǒng)計模型基礎(chǔ)

20、上。利用人耳感知對語音頻譜分量的相位不敏感的特性,這類語音增強算法主要針對短時譜的幅度估計。用MATLAB對語音信號進(jìn)行處理,綜合運用數(shù)字信號處理的理論知識對加噪語音信號進(jìn)行時域、頻域分析和濾波。濾波所需的濾波器,可以利用MATLAB工具箱快速有效的設(shè)計。本次設(shè)計流程,大致包括對原始語音加噪、時域分析和頻域分析,繪制出相關(guān)波形。加噪語音再通過設(shè)計的濾波器,得出處理后的頻譜圖形。處理的一系列過程,都在MATLAB環(huán)境中進(jìn)行。流程圖如圖2-1。錄制語音信 號有效語音段截取語音信號加噪處理語音信號時域分析和頻域分析語音信號濾波處理語音回訪圖 2-1 語音信號降噪處理流程圖第三章 MATLAB濾波器設(shè)

21、計3.1 模擬濾波器設(shè)計 模擬濾波器的理論和設(shè)計方法已相當(dāng)成熟,設(shè)計時可以選用已有的典型模擬濾波器,如巴特沃斯濾波器、契比雪夫濾波器、橢圓濾波器、貝賽爾濾波器等。它們有嚴(yán)格的設(shè)計公式和現(xiàn)成的曲線圖表可供參考。本次設(shè)計中選擇巴特沃斯濾波器。巴特沃斯濾波器具有單調(diào)下降的幅頻特性。該濾波器通帶內(nèi)具有最大平坦的幅頻特性,隨頻率的增大,平滑單調(diào)下降。且階數(shù)N越高,響應(yīng)特性越接近矩形,過度帶越窄。巴特沃斯低通濾波器設(shè)計:MATLAB信號處理工具箱函數(shù)buttap,buttord和butter是巴特沃斯濾波器設(shè)計函數(shù)。Buttord命令的格式是:n,wn=buttord(wp,ws,Rp,Rs)巴特沃斯低通

22、濾波器系數(shù)的計算公式為:b,a=butter(n,Wn)3.2 數(shù)字濾波器設(shè)計數(shù)字濾波器按照實現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)或單位抽樣響應(yīng)進(jìn)行分類,可以分成無限長單位沖激響應(yīng)( IIR)數(shù)字濾波器和有限長單位沖激響應(yīng)( FIR)數(shù)字濾波器。數(shù)字濾波器的四個重要的通帶、阻帶參數(shù)是:fp:通帶截止頻率(Hz)fs:阻帶起始頻率(Hz)Rp:阻帶內(nèi)波動(dB),即通帶內(nèi)允許的最大衰減Rs:阻帶內(nèi)最小波動(dB)設(shè)采樣頻率(即奈奎斯特頻率)為fN,那么可將以上參數(shù)中的頻率參數(shù)轉(zhuǎn)化為歸一化角頻率參數(shù):Wp:通帶截止角頻率(rad/s),wp=fp/(fN/2)Ws:通帶起始角頻率(rad/s),ws=fs/(fN/2)通

23、過這些參數(shù)就可以進(jìn)行數(shù)字濾波器的設(shè)計。在本次設(shè)計中用到得是FIR濾波器。FIR濾波器的設(shè)計方法有窗函數(shù)法、頻率取樣法、最佳等波紋法等。FIR濾波器與IIR濾波器相比,在保證幅頻滿足技術(shù)要求的同時,更容易做到嚴(yán)格的線性相位。在MATLAB設(shè)計FIR濾波器的相關(guān)文件buttord.m用來確定數(shù)字濾波器的階次,其調(diào)用格式為:n,wn=buttord(wp,ws,Rp,Rs)對于不同類型的濾波器,參數(shù)Wp和Ws有一些限制:對于低通濾波器,Wp<Ws。bilinear 可實現(xiàn)雙線性變換,即由模擬濾波器H(s)到數(shù)字濾波器H(z)。其調(diào)用格式是bz,az=bilinear(b,a,Fs)式中b,a分

24、別是H(s)的分子、分母多項式的系數(shù)向量;bz,az分別是H(z)的分子、分母多項式的系數(shù)向量,F(xiàn)s是抽樣頻率。本次設(shè)計中用到的巴特沃斯低通濾波器設(shè)計程序如下:Fs=50000;Ts=1/Fs;wp1=2/Ts*tan(wp/2);  %將模擬指標(biāo)轉(zhuǎn)換成數(shù)字指標(biāo)ws1=2/Ts*tan(ws/2); N,Wn=buttord(wp1,ws1,Rp,Rs,'s');  %選擇濾波器的最小階數(shù)Z,P,K=buttap(N);  %創(chuàng)建butterworth模擬濾波器Bap,Aap=zp2tf(Z,P,K);b,a=lp2lp(Bap,Aap,Wn);&

25、#160;  bz,az=bilinear(b,a,Fs);  %用雙線性變換法實現(xiàn)模擬濾波器到數(shù)字濾波器的轉(zhuǎn)換H,W=freqz(bz,az);  %繪制頻率響應(yīng)曲線figure(1);plot(W*Fs/(2*pi)   wp=0.25*pi;ws=0.3*pi;Rp=1;Rs=15;abs(H);grid xlabel('頻率Hz');ylabel('頻率響應(yīng)幅度');title('Butterworth')該低通濾波器的頻率響應(yīng)如圖3-1:圖3-1 巴特沃斯濾波器頻率響應(yīng)第四章 語音信號降

26、噪處理4.1 語音信號處理調(diào)用函數(shù)介紹信號處理中調(diào)用函數(shù)主要有Wavread,還有其他相關(guān)函數(shù),有fftfilt函數(shù)、sound函數(shù)、filter函數(shù)、randn函數(shù)和FFT函數(shù)。選取一段語音信號,然后在matlab軟件平臺下,利用wavread函數(shù)對語音信號進(jìn)行采樣,記住采樣頻率和采樣點數(shù)。通過使用wavread函數(shù),理解采樣頻率、采樣位數(shù)等概念。wavread函數(shù)調(diào)用格式:y=wavread(file)讀取file所規(guī)定的wav文件,pcm格式的文件才能被讀取。返回采樣值放在向量y中。y,fs,nbits=wavread(file)采樣值放在向y中,表示采樣頻率(),nbits表示采樣位數(shù)

27、。y=wavread(file,N)讀取前N點的采樣值放在向量y中。y=wavread(file,,)讀取從到點的采樣值放在向量y中。對語音信號1.wav進(jìn)行采樣其程序如下:y,fs,nbits=wavread(1.wavv)其中:fs =5000;(fs=50000為雙聲道設(shè)置頻率,fs=25000為單聲道設(shè)置頻率)nbits =16;y=wavread(1.wav)另外相關(guān)的函數(shù)fftfilt的調(diào)用格式為y=fftfilt(b,x)該格式是利用FFT的重疊相加法對數(shù)據(jù)進(jìn)行濾波的,并且這種頻域濾波技術(shù)只對FIR濾波器有效。該函數(shù)是通過向量b描述的濾波器對x數(shù)據(jù)進(jìn)行濾波。函數(shù)sound可以對聲

28、音進(jìn)行回放。其調(diào)用格式為:sound(x,fs,bits)函數(shù)filter的調(diào)用格式為y=filter(b,a,x)該格式采用數(shù)字濾波器對數(shù)據(jù)進(jìn)行濾波,既可以用于IIR濾波器,也可以用于FIR濾波器。其中向量b和a分別表示系統(tǒng)函數(shù)的分子、分母多項式的系數(shù),若a1,此時表示FIR濾波器,否則就是IIR濾波器。該函數(shù)是利用給出的向量b和a,對x中的數(shù)據(jù)進(jìn)行濾波,結(jié)果放入向量y中。rand產(chǎn)生的是0,1上的均勻分布的隨機(jī)序列 ,randn產(chǎn)生均值為0,方差為1的高斯隨機(jī)序列,也就是白噪聲序列;也就是說,可以直接使用上面兩個函數(shù)對原始信號添加噪聲,調(diào)用格式:y=x+rand(length(x),1)或

29、者y=x+randn(length(x),1)在MATLAB的信號處理工具箱中函數(shù)FFT用于序列快速傅立葉變換。FFT函數(shù)的一種調(diào)用格式為其中,x是序列,y是序列的FFT,x可以為一向量或矩陣。FFT函數(shù)的另一種調(diào)用格式為式中,x,y意義同前,N為正整數(shù)4.2 語音信號降噪程序設(shè)計4.2.1 原始語音信號的獲得 在原始語音信號的得到可用windows的錄音機(jī)錄制一段自己說的話(語音信號),在本次設(shè)計中我直接用了一個wav文件來當(dāng)作原始語音信號,再畫出語音信號的時域波形和頻譜圖;在MATLAB中使用Wavread函數(shù),可得出聲音的采樣頻率fs為5KHz, 且聲音是雙聲道的。利用sound函數(shù),

30、可清晰地聽到一段音樂語音。設(shè)計程序詳見附錄1:得到時域波形和頻譜圖如圖4-1和圖 4-2:圖4-1 原始語音信號時域波形時域波形中的藍(lán)色波形是選用的語音信號原來帶有的噪聲,說明原始的聲音包含在少量噪聲。圖4-2原始語音信號頻譜圖從頻譜圖可以看出,語音信號的頻譜在0,2是對稱的,主要看0,2.5KHZ之間的頻譜,可以看出這段語音信號的頻譜主要集中在0,1KHZ之間,高頻部分幾乎為0 。4.2.2 原始語音信號加噪處理 運用MATLAB,給語音信號加上噪聲,繪出加噪后的語音信號時域波形和頻譜。應(yīng)當(dāng)注意加入的單頻噪聲的位置應(yīng)高于原始語音信號的頻率,噪聲頻率越高,濾波器設(shè)計的指標(biāo)就會越寬松,這樣可使噪

31、聲容易被濾除。高斯白噪聲加噪設(shè)計程序見附錄2:加噪聲后的語音信號時域波形和頻譜圖如圖4-3和圖4-4:圖4-3 加噪語音信號時域波形從時域圖中可以看出,聲音信號的波形基本都被噪聲波形覆蓋。圖4-4 加噪語音信號頻譜圖對比圖1-2,可以看出,在高頻部分1KHZ,2.5KHZ間噪聲信號。4.2.3 語音信號濾波處理用前面設(shè)計的濾波器對語音信號進(jìn)行濾波,得出濾波后信號的時域波形和頻譜圖,并對濾波前、后的信號進(jìn)行對比,畫出時域波形差,分析信號的變化。在MATLAB中,用巴特沃斯數(shù)字低通濾波器,其程序設(shè)計詳見附錄3:濾波前后語音信號的時域波形和頻譜圖對比如圖4-5和圖4-6:圖4-5 濾波前后時域波形比

32、較圖圖4-6 濾波前后頻譜對比圖利用函數(shù)sound函數(shù),進(jìn)行語音回放,比較下濾波前后的語音效果,會發(fā)現(xiàn)濾除了絕大部分噪聲,但沒完全濾除,這是設(shè)計的濾波器不夠精細(xì),殘留噪聲的緣故。4.3 改進(jìn)型語音降噪技術(shù)上述語音信號降噪處理方法稱為譜減法。譜減法就是從輸入信號的幅度譜中減去估計得來的噪聲平均的幅度譜,其效果相當(dāng)于在變換域?qū)г胄盘栠M(jìn)行了某種均衡化處理。與其它方法相比較,譜相減法引入的約束條件最少,物理意義最直接,運算量小,但是在實際中語音噪聲頻率和信號頻率很接近,噪聲頻率很難準(zhǔn)確的估計出來。因此傳統(tǒng)的譜減法除噪效果并不是十分理想。傳統(tǒng)的譜減法即在頻域?qū)г胝Z音的功率譜減去噪聲的功率譜,得到語音

33、的功率譜估計,開方后就得到語音幅度估計,將其相位恢復(fù)后再采用逆傅立葉變換恢復(fù)時域信號。所以在譜減法中噪聲功率譜的估計至關(guān)重要,如果噪聲估計偏差較大的話,這必將會影響語音增強質(zhì)量。傳統(tǒng)的噪聲估計方法是基于最優(yōu)平滑和最小統(tǒng)計的噪聲估計,還有一種采用改進(jìn)的算法基于語音活性檢測的噪聲估計算法。語音激活檢測指從一段包含語音信號中確定出語音的起始點和終點,又稱端點檢測。語音端點檢測的目的就是從連續(xù)記錄的帶噪語音信號中分離出有用的語音信號。語音激活檢測是各種語音處理中必需的一個重要環(huán)節(jié),精確地確定輸入語音的起點和終點將保證語音處理系統(tǒng)良好的性能。對于語音激活檢測在語音增強中的應(yīng)用,為了得到更多的關(guān)于背景噪聲

34、特性,語音端點檢測更注重于如何準(zhǔn)確的檢測出無音段。一般的語音激活檢測是根據(jù)語音幀來進(jìn)行的,語音幀的長度在1030ms不等。語音端點檢測的方法可以綜述為:從輸入信號中提取一個或一系列的對比特征參數(shù),然后將其和一個或一系列的門限閾值進(jìn)行比較,如圖4-7所示。如果超過門限則表示當(dāng)前為有音段,否則就表示當(dāng)前為無音段。帶噪語音加窗分幀特征提取與閥值比較判斷有無語音圖4-7語音激活檢測框圖目前語音端點檢測所采取的方法大體可以分為兩類:第一類是噪聲環(huán)境下基于 HMM 模型的語音信號端點檢測的方法,該方法要求背景噪聲保持平穩(wěn)且信噪比較高。第二類方法是基于信號的短時能量進(jìn)行檢測的算法,它通過對背景噪聲能量的統(tǒng)計

35、,定出能量門限,利用能量門限來確定語音信號起始點。在這里運用語音端點檢測采用了第二類方法,即基于信號的短時能量進(jìn)行檢測的算法。基于信號的短時能量檢測具體算法如下:1) 計算每一幀的語音能量: (4-1)式中為幀長,為幀的編號,m為每一幀中的各點,為幀數(shù);然而它有一個缺陷,即它對高電平非常敏感(信號的二次方計算)。為此,定義短時平均幅度函數(shù)來表征一幀語音信號的能量大小,定義: (4-2)2) 計算前20幀平均噪聲能量;3) 求能量最大值和能量最小值,;4) 根據(jù)式(4-2)確定門限 (4-3)應(yīng)用譜相減法實現(xiàn)語音增強基本原理是通過對帶噪語音譜減去噪聲譜得到語音譜,因此,語音激活檢測這一環(huán)節(jié)非常重

36、要,準(zhǔn)確地確定語音的起始點和終止點對噪聲譜估計有著重要的作用。改進(jìn)型語音降噪處理運用端點檢測技術(shù),用MATLAB仿真,可明顯顯示出其優(yōu)越性。用MATLAB仿真的流程如下:1)對輸入的語音信號進(jìn)行預(yù)濾波;2)對濾波后的語音信號進(jìn)行預(yù)加重;3)將語音信號按每幀128個信號點進(jìn)行分幀,幀移為64;4)對信號幀加漢明窗(Haming);5)對加窗后的信號幀進(jìn)行FFT變換;6)對各幀語音信號求功率譜;7)根據(jù)前20幀求取平均噪聲功率;8)利用VAD進(jìn)行噪聲估計檢測寂靜段,進(jìn)而組合遞歸平滑,更新噪聲譜;9)進(jìn)行譜減運算,得到估計出的語音信號功率譜;10)插入相位譜,計算出語音譜;11)進(jìn)行IFFT變換,得

37、到還原的語音幀;12)根據(jù)各個語音幀組合為語音信號;13)對語音信號進(jìn)行去加重處理,得到最終信號。本次仿真選用wav格式文件2.wav,仿真程序如下:s=wavread(2.wav);n=randn(length(s),1);x=s+n;Wp=0.025*pi,0.85*pi; %通帶上下截止頻率Ws=0.010*pi,0.95*pi; %阻帶上下截止頻率Ap=10; %通帶內(nèi)衰減As=60; %阻帶內(nèi)衰減N=128; %每幀的信號個數(shù)p=0.0005; %白噪聲信號的方差alpha=0.75; %加重系數(shù)beta=0.90;%去重系數(shù)%產(chǎn)生帶通濾波器wdb,mag,pha,grd,w=ban

38、dpass(Wp,Ws,Ap,As,length(x);%將帶噪語音信號x通過帶通濾波器w,得到語音信號x_bapbap=abs(ifft(w/pi);x_conv=conv(x,bap);x_bap=x_conv(1,1:length(x_conv)/2);%將語音信號x_bap加重,得到語音信號yfor j=1:length(x_bap)-1y(j)=x_bap(j)-alpha*x_bap(j+1);endy(length(x_bap)=x_bap(length(x_bap);%將語音信號y按每幀N個信號點進(jìn)行分幀,幀移為N/2,得到信號幀y_framfor j=1:floor(leng

39、th(y)/(N/2)-1for k=1:Ny_fram(j,k)=y(j-1)*(N/2)+k);%產(chǎn)生漢明窗hamham=hamming(N);%對信號幀y_fram加漢明窗ham,得到信號幀y_hamfor j=1:floor(length(y)/(N/2)-1for k=1:Ny_ham(j,k)=y_fram(j,k)*ham(k);endendy_fft=fft(y_ham',128);y_fft_angle=angle(y_fft);y_w=sum(abs(y_fft);ave=0;for j=1:20ave=ave+y_w(j);endave=ave/20;EMAX=m

40、ax(y_w(1:20);EMIN=min(y_w(1:20);T=min(0.03*(EMAX-EMIN)+ave,4*ave);for j=1:length(y_w)if y_w(j)<Tnoise_w(j)=y_w(j);elsenoise_w(j)=T;%組合平滑更新噪聲譜%采用中值平滑更新噪聲譜noise_w,得到噪聲譜noise_w_midfor j=2:(length(noise_w)-1)array=noise_w(j-1),noise_w(j),noise_w(j+1);array=sort(array);noise_w_mid(j)=array(2);endnoise

41、_w_mid(length(noise_w)=ave;%采用線性平滑更新噪聲譜noise_w_mid,得到噪聲譜noise_w_linenoise_w_line(1)=ave;noise_w_line(2)=ave;for j=3:(length(noise_w_mid)-2)noise_w_line(j)=1/9*noise_w_mid(j-2)+2/9*noise_w_mid(j-1)+3/9*noise_w_mid(j)+2/9*noise_w_mid(j+1)+1/9*noise_w_mid(j+2);endnoise_w_line=noise_w_line,ave,ave;%計算原噪

42、聲功率譜noise_w與新噪聲功率譜noise_w_line的殘差噪聲譜noise_deltanoise_delta=noise_w-noise_w_line;%采用中值平滑更新殘差噪聲譜noise_delta,得到殘差噪聲譜noise_delta_midfor j=2:(length(noise_delta)-1)array=noise_delta(j-1),noise_delta(j),noise_delta(j+1);array=sort(array);noise_delta_mid(j)=s(2);endnoise_delta_mid(length(noise_delta)=0;for

43、 j=3:(length(noise_delta_mid)-2)noise_delta_line(j)=1/9*noise_delta_mid(j-2)+2/9*noise_delta_mid(j-1)+3/9*noise_delta_mid(j)+2/9*noise_delta_mid(j+1)+1/9*noise_delta_mid(j+2);endnoise_delta_line=noise_delta_line,0,0;noise_w_com=noise_w_line+noise_delta_line;%用平滑之后的噪聲功率譜noise_w_com減去功率譜y_w%如果減譜后的功率小于

44、0,則置為0%得到減譜后的功率譜y_w_decy_w_dec=y_w-noise_w_com;for j=1:length(y_w_dec)if y_w_dec(j)<0y_w_dec(j)=0;%利用相位譜y_fft_angle恢復(fù)減譜后的頻域信號y_fft_newfor j=1:N for k=1:floor(length(y)/(N/2)-1 y_percent(j,k)=abs(y_fft(j,k)/y_w(k); endendfor k=1:length(y_w_dec) for j=1:N y_fft_new(j,k)=y_w_dec(k)*y_percent(j,k)*ex

45、p(i*y_fft_angle(j,k);y_new_fram=real(ifft(y_fft_new);%根據(jù)信號幀y_new_fram恢復(fù)語音信號y_newh=1;for j=1:N/2 y_new(h)=y_new_fram(j,1); h=h+1;endfor j=2:floor(length(y)/(N/2)-1 for k=1:N/2 y_new(h)=y_new_fram(k,j)+y_new_fram(k+N/2,j-1); h=h+1;%對語音信號y_new做去加重,得到減譜完畢的語音信號x_newfor j=1:length(y_new)-1x_new(j)=y_new(j

46、)+beta*y_new(j+1);endx_new(length(y_new)=y_new(length(y_new);wavwrite(x,8000,'noised');wavwrite(x_new,8000,'enhanced');%產(chǎn)生帶通濾波器function db,mag,pha,grd,w=bandpass(Wp,Ws,Ap,As,Length)N,wn=buttord(Wp/pi,Ws/pi,Ap,As);b,a=butter(N,wn,'bandpass');H,w=freqz(b,a,Length);mag=abs(H);db

47、=20*log10(mag/max(mag);pha=angle(H);grd=grpdelay(b,a,w);%plot(w/pi,mag);所得仿真圖如圖4-8、圖4-9和圖4-10:圖4-8 純凈語音信號時域波形圖4-9 帶噪語音信號時域波形圖4-10 增強后語音信時域波形結(jié) 論 本文主要是研究語音信號的降噪處理。并且這次設(shè)計中主要通過用MATLAB軟件分析,得到語音信號的時域波形和頻域圖形,為后面語音信號處理提供原始信號。對信號進(jìn)行濾波處理,需要設(shè)計濾波器。本文中設(shè)計和用到的濾波器是巴特沃斯低通濾波器。對于濾波器的設(shè)計,已經(jīng)有很成熟的技術(shù)。所以本次濾波器設(shè)計直接借鑒現(xiàn)有的設(shè)計技術(shù)。為使

48、降噪處理結(jié)果更明顯,我在處理前對語音信號進(jìn)行加噪處理,再對其進(jìn)行濾波。需要指出的是,所加單頻噪聲應(yīng)高于語音信號的最高頻率,噪聲頻率越高,在設(shè)計濾波器時的指標(biāo)就可越寬松,使噪聲更容易被濾除。在對濾波處理后的語音進(jìn)行回放時,發(fā)現(xiàn)它和未加噪的語音還是有些不同,這是因為噪聲未完全濾除的緣故。在濾波處理時,噪聲估計直接由含噪語音信號的頻域圖形估計,略顯主觀。尤其當(dāng)噪聲為非單一頻譜噪聲時,這種估計更加不精確,會嚴(yán)重影響濾波器設(shè)計時的參數(shù)設(shè)置,使降噪效果不佳。在文中提出的改進(jìn)型語音降噪技術(shù),采用語音活性檢測的噪聲估計算法,更為客觀的估計了噪聲的頻率,保證了語音信號處理系統(tǒng)的良好性能。整個設(shè)計之中主要用到的是

49、MATLAB軟件,該軟件功能強大。就但對語音信號處理這一塊來說,就有專門的工具箱進(jìn)行處理。為我們的學(xué)習(xí)提供了方便。也激勵我需要用更多的時間去學(xué)習(xí)和思考。參考文獻(xiàn)1 胡航 .語音信號處理 M.哈爾濱工業(yè)大學(xué)出版社.2002.2月.2 張寶鋒. 基于DSP的語音識別算法研究與實現(xiàn) J.電子設(shè)計.2011.3 徐明遠(yuǎn) 邵玉斌.MATLAB仿真在通信與電子工程中的應(yīng)用 M.西安電子科技大學(xué)出版社.2005.4 羅軍輝 羅勇江 白義臣等.MATLAB 7.0在數(shù)字信號處理中的應(yīng)用 M.機(jī)械工業(yè)出版社.2005.5 徐鍵.無線通信中的聲信號處理及其DSP實現(xiàn) J.信號處理.2000.6 李金寶.抗噪聲語音

50、識別的前端處理算法研究 J.計算機(jī)應(yīng)用.2007.7 李海忠 楊艷翔 王娟等.基于改進(jìn)譜減法的語音增強J.電子設(shè)計.2010.4.8 丁玉美.數(shù)字信號處理M.西安電子科技大學(xué)出版社,20069 周淵.基于MATLAB的噪聲信號采集和分析系統(tǒng)的設(shè)計J. 清華大學(xué)出版社.2004.10 徐靖濤 王金根.基于MATLAB語音信號的分析和處理 J.科學(xué)應(yīng)用.2008.2.11 馮巖 唐普英.基于MATLAB的語音增強系統(tǒng)的設(shè)計 J.通信技術(shù).2010.5.12 (美)奧本海默.信號與系統(tǒng) M.西安電子科技大學(xué)出版社.第二版 1997.13 Donoho D L. De-noising by Soft-threshold

溫馨提示

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

評論

0/150

提交評論