版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、吉首大學(xué)信息科學(xué)與工程學(xué)院課程設(shè)計報告書課 程 數(shù)字信號處理 課 題: 基于Matlab的語音信號處理與仿真 姓 名: 周雄鵬,尹里,楊建,林湘煌, 學(xué) 號: 專 業(yè): 通信工程 年 級: 2011級 指導(dǎo)教師: 基地指導(dǎo)教師: 年 月一、項目介紹與設(shè)計目的語音是人類獲取信息的重要來源和利用信息的重要手段。通過語言相互傳遞信息是人類最重要的基本功能之一。語音是語言的聲學(xué)表現(xiàn),是相互傳遞信息的最重要的手段,是人類最重要、最有效、最常用和最方便的交換信息的形式。隨著計算機技術(shù)和信息技術(shù)的發(fā)展,語音交互已經(jīng)成為人機交互的必要手段,而語音信號的采集和處理是人機交互的前提和基礎(chǔ)。盡管在Windows附件
2、的娛樂中帶有一個錄音機,通過它可以驅(qū)動聲卡采集語音信號并保存為語音文檔,但是要對采集的信號進一步分析處理就必須另外編程或通過其它軟件,而且Windows附件中的錄音機功能極其有限不能擴展。而在Matlab環(huán)境中,可以通過多種編程方法驅(qū)動聲卡,實現(xiàn)對語音信號的采集和回放。同時由于Matlab是一個數(shù)據(jù)分析和處理功能十分強大的工程實用軟件,它的信號處理與分析工具箱為語音信號分析提供了十分豐富的功能函數(shù),利用這些功能函數(shù)可以快捷而又方便地完成語音信號的處理和分析以及信號的可視化,使人機交互更加便捷。語音信號處理是研究用數(shù)字信號處理技術(shù)對語音信號進行處理的一門新興學(xué)科。作為高科技應(yīng)用領(lǐng)域的研究熱點,語
3、音信號處理技術(shù)從理論的研究實際應(yīng)用已經(jīng)走過了幾十個春秋并且取得了長足的進步。它正在直接與辦公、交通、金融、保安、商業(yè)、旅游等行業(yè)的語音咨詢與管理等各種實際應(yīng)用領(lǐng)域相接軌??梢?,語音信號處理技術(shù)的研究將是一項挑戰(zhàn)性的工作。語音信號處理包括的主要方面有:語音的識別,語言的理解,語音的合成,語音的增強,語音的數(shù)據(jù)壓縮等。而本文僅僅是對語音信號做一些簡單的處理,包括信號的提取、調(diào)整、變換和濾波等。本文是對語音信號同時在時域和頻域進行濾波處理和分析,在Matlab應(yīng)用軟件下設(shè)計一個簡易圖形用戶界面(GUI),來解決一般應(yīng)用條件下的各種語音信號處理。二、設(shè)計方案1項目環(huán)境要求語音信號的處理與仿真選用Mat
4、lab平臺2,5,7,8,9。Matlab是矩陣實驗室(Matrix Laboratory)的簡稱,是美國MathWorks公司發(fā)布的主要面對科學(xué)計算、可視化以及交互式程序設(shè)計的高科技計算環(huán)境。主要應(yīng)用于工程計算、控制設(shè)計、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)計與分析等領(lǐng)域。下面對Matlab的主要組成部分和圖形用戶界面(GUI)作簡單介紹。· Matlab的主要組成部分: 1)開發(fā)環(huán)境:開發(fā)環(huán)境是幫助用戶使用Matlab函數(shù)和文件的工具的集合,這些工具中許多都是圖形用戶界面。開發(fā)環(huán)境包括Matlab桌面及其命令窗口、命令記錄、幫助瀏覽器、工作平臺、文件和搜索路徑等。 2)
5、Matlab數(shù)學(xué)函數(shù)庫:該庫收集了大量的從基本函數(shù)(求和、三角運算、復(fù)雜算術(shù)等)到復(fù)雜函數(shù)(矩陣求逆、求矩陣特征值、貝塞爾函數(shù)和快速傅立葉變換等)的計算算法。3)Matlab語言:Matlab語言是一種包括流程控制語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入/輸出和面向?qū)ο缶幊谭绞降母呒壘仃?數(shù)組語言,該語言能夠通過與其它Matlab系統(tǒng)組成部分之間的交互完成非常復(fù)雜的計算任務(wù)。4)圖形句柄:圖形句柄即Matlab的圖形系統(tǒng),該系統(tǒng)既包括二維和三維數(shù)據(jù)的可視化、圖像處理、動畫和圖形描述等高級命令,又包括允許用戶完全自定義圖形,并在Matlab應(yīng)用程序中建立自己的圖形界面的低級命令。5) Matlab應(yīng)用程序接口
6、:API是允許用戶編寫C、FORTIULN和Matlab接口程序的系統(tǒng)庫,該庫中包含一些調(diào)用工具,其它應(yīng)用程序能夠通過動態(tài)鏈接、作為計算引擎、讀寫MAT文件三種形式來使用這些工具以調(diào)用Matlab程序。·圖形用戶界面(GUI)1)圖形用戶界面概念圖形用戶界面或圖形用戶接口(Graphical User Interface,GUI)是指采用圖形方式顯示的計算機操作環(huán)境用戶接口。與早期計算機使用的命令行界面相比,圖形界面對于用戶來說更為簡單易用。GUIDE是Matlab提供的圖形界面開發(fā)環(huán)境,提供了一系列用于創(chuàng)建圖形用戶界面的工具,從而簡單化界面布局和編程工作。2)圖形用戶界面設(shè)計GUI
7、設(shè)計模板在Matlab主窗口中,選擇File菜單中的New菜單項,再選擇其中的GUI命令,就會顯示圖形用戶界面的設(shè)計模板。Matlab為GUI設(shè)計一共準備了4種模板,分別是Black GUI(默認)、GUI with Uicontrols(帶控件對象的GUI模板)、GUI with Axes and Menu(帶坐標軸與菜單的GUI模板)與Modal Question Dialog(帶模式問話對話框的GUI模板)。當用戶選擇不同的模板時,在GUI設(shè)計模板界面的右邊會顯示與該模板對應(yīng)的GUI圖形。GUI設(shè)計窗口在GUI設(shè)計模板中選中一個模板,然后單擊OK按鈕,就會顯示GUI設(shè)計窗口。選擇不同的G
8、UI設(shè)計模式時,在GUI設(shè)計窗口中顯示的結(jié)果是不一樣的。GUI設(shè)計窗口由菜單欄、工具欄、控件工具欄以及圖形對象設(shè)計區(qū)等部分組成。GUI設(shè)計窗口的菜單欄有File、Edit、View、Layout、Tools和Help 6個菜單項,使用其中的命令可以完成圖形用戶界面的設(shè)計操作。GUI設(shè)計窗口的基本操作在GUI設(shè)計窗口創(chuàng)建圖形對象后,通過雙擊該對象的屬性編輯器。例如,創(chuàng)建一個Push Button 對象,并設(shè)計該對象的屬性值。2項目功能模塊1、語音信號的采集 使用電腦的聲卡設(shè)備采集一段時間長度約為510秒的聲音信號,保存為*.wav格式。2、語音信號的處理語音信號的處理1,8,11,12,13主要
9、包括信號的提取、調(diào)整、變換和濾波等。1)提取:通過圖形用戶界面上的菜單功能按鍵采集電腦設(shè)備上的一段音頻信號、完成音頻信號的頻率,幅度等信息的提取,并得到該語音信號的波形圖。2)調(diào)整:在設(shè)計的用戶圖形界面下對輸入的音頻信號進行各種變化,如變化幅度、改變頻率等操作,以實現(xiàn)對語音信號的調(diào)整。3)變換:在用戶圖形界面下對采集的語音信號進行Fourier等變換,并畫出變換前后的頻譜圖。4)濾波:濾除語音信號中的噪音部分,可采用低通濾波、高通濾波、帶通濾波和帶阻濾波,并比較各種濾波后的效果。3、語音信號的效果顯示通過用戶圖形界面的輸出功能,將處理后的語音信號進行播放,試聽處理后的效果。4、語音信號處理方框
10、圖圖3-1列出了整個語音信號處理的方框圖:信號采集 信號提取信號濾波信號變換信號調(diào)整效果顯示 圖3-1語音信號處理方框圖幅度調(diào)整其中信號調(diào)整包括信號的幅度和頻率的任意倍數(shù)變化,如圖3-2所示:信號調(diào)整頻率調(diào)整 圖3-2 信號調(diào)整 信號的濾波采用了四種濾波方式,如圖3-3所示:信號濾波低通濾波帶阻濾波帶通濾波高通濾波 圖3-3 語音信號濾波的方式綜合圖3-1、3-2、3-3可以看到,整個語音信號處理系統(tǒng)的流程分為三步,首先是讀入待處理的語音信號,即信號的采集;然后進行語音信號的處理,包括信息的提取、信號幅度和頻率調(diào)整、語音信號的傅里葉變換以及信號的濾波,而濾波又包括低通濾波、高通濾波、帶通濾波、
11、帶阻濾波等方式;最后是對處理后的語音信號進行效果顯示。3設(shè)計內(nèi)容(一)信號的采集本文是以一段簡短的語音信號作為分析樣本,通過計算機中的錄音機將一段語音信號“尊敬的老師,親愛的同學(xué)們,大家好,我是來自07電信的馬芳蘭” 錄入到計算機中。該段語音時長約為6秒,并保存為“voice.wav”文件。(二)語音信號的提取在Matlab中使用Wavread函數(shù),可以得知語音信號的采樣頻率fs,采樣位數(shù)bits。利用Sound函數(shù)可以清晰的聽到“尊敬的老師,親愛的同學(xué)們,大家好,我是來自07電信的馬芳蘭”語音的播放。語音信號提取的程序如下:x,fs,bits=wavread('voice.wav
12、39;);%讀入語音信號fs %提取采樣頻率bits %提取采樣位數(shù)sound(x,fs,bits); % 聽取“voice.wav”語音ms2=floor (fs*0.002);ms10=floor (fs*0.01);ms20=floor (fs*0.02);ms30=floor (fs*0.03);t=(0:length(x)-1)/fs; %計算樣本時刻plot(t,x); %畫出語音信號的波形legend(Waveform);xlabel(Time(s);ylabel(Amplitude);運行上面程序,得到采樣頻率fs=22050Hz,采樣位數(shù)bits=16位,語音信號的波形圖如圖
13、4-1所示:高頻噪聲 圖4-1 語音信號的波形圖如圖4-1所示,整段音頻數(shù)據(jù)中得到的聲音高低起伏與錄入的聲音信號高低起伏基本一致,并且可以觀察到其中包含部分高頻噪聲(如圖中標注部分)。(二)語音信號的調(diào)整在語音信號的研究中,經(jīng)常會對語音信號進行多倍頻率以及多倍幅度變換調(diào)整,日常應(yīng)用中,這種變換調(diào)整也經(jīng)常要用到。1、語音信號的頻率調(diào)整在設(shè)計中,可以將語音信號的采樣頻率提高或降低,來實現(xiàn)語音信號的調(diào)整,得到所要求的語音信號。例如將采樣頻率提高一倍,即可得到語音信號頻率為原頻率2倍的新的語音信號。頻率調(diào)整程序如下:x,fs,bits=wavread('voice.wav');ms2=
14、floor(fs*0.002);ms10=floor(fs*0.01);ms20=floor(fs*0.02);ms30=floor(fs*0.03);t=(0:length(x)-1)/(2*fs); %計算樣本時刻sound(x,2*fs,bits);%聽取2倍頻后的語音wavwrite(x,2*fs,bits,調(diào)頻);%將倍頻后的語音保存為“調(diào)頻.wav”plot(t,x); %畫頻率調(diào)整后的波形圖legend('Waveform');xlabel('Time(s)');ylabel('Amplitude');運行得到如圖4-2所示的信號波
15、形圖,并試聽調(diào)整后的效果。原時長為6s圖4-2頻率調(diào)整后的波形與原語音信號相比,經(jīng)過調(diào)整后的信號周期變?yōu)樵瓉淼?/2(也可以從語音信號的時長上直觀的看出,如圖4-2中標注所示,原語音信號時長約為6s,而此時變?yōu)?s),此時的語速明顯變快,即實現(xiàn)了信號的2倍頻功能。2、語音信號的振幅調(diào)整在設(shè)計中,可以將語音信號的幅度進行提高或降低操作,來實現(xiàn)語音信號的調(diào)整,得到聲音音量大小不同的語音信號。幅度調(diào)整程序如下:x,fs,bits=wavread('voice.wav');ms2=floor(fs*0.002);ms10=floor(fs*0.01);ms20=floor(fs*0.0
16、2);ms30=floor(fs*0.03);t=(0:length(x)-1)/(fs); %計算樣本時刻plot(t,x*4); %畫調(diào)幅波形圖 sound(x*4,fs,bits);%聽取幅度調(diào)整后的語音wavwrite(4*x,fs,bits,調(diào)幅);%將調(diào)整后的信號保存為“調(diào)幅.wav”legend('Waveform'); xlabel('Time(s)');ylabel('Amplitude');運行得到如圖4-3所示的信號波形圖,并試聽調(diào)整后的效果。 圖 4-3幅度調(diào)整后的波形幅度經(jīng)過四倍的放大,此時聽到的聲音聲調(diào)變高,但還不是很
17、明顯,如果將幅度的變化值設(shè)置的更大些,那么就可以得到效果相當明顯的語音信號了。(三)語音信號的傅里葉變換傅里葉變換就是把信號由時域轉(zhuǎn)為頻域,而傅里葉反變換就是信號由頻域轉(zhuǎn)為時域。倒譜分析是指信號短時振幅譜的對數(shù)進行傅里葉反變換。它具有可近似地分離并提取出頻譜包絡(luò)信息和細微結(jié)構(gòu)信息的特點。對語音信號進行頻譜分析,在Matlab中可以利用函數(shù)FFT對信號進行快速傅里葉變換得到信號的頻譜圖,并進行倒譜分析,得到倒譜圖。傅里葉變換及倒譜分析的部分程序如下:x=y(44101:55050,1);%提取原語音信號的一部分t=(0:length(x)-1)/fs;%計算樣本時刻subplot(3,1,1);
18、 %確定顯示位置plot(t,x);%畫波形圖legend('波形圖');xlabel('Time(s)');ylabel('Amplitude');Y=fft(x,hamming(length(x);% 做加窗傅里葉變換fm=5000*length(Y)/fs; %限定頻率范圍f=(0:fm)*fs/length(Y); %確定頻率刻度subplot(3,1,2);plot(f,20*log10(abs(Y(1:length(f)+eps);legend('頻譜圖'); %畫頻譜圖ylabel('幅度(db)')
19、;xlabel('頻率(Hz)');c=fft(log(abs(x)+eps); %倒譜計算ms1=fs/1000;ms20=fs/50;q=(ms1:ms20)/fs; %確定倒譜時刻subplot(3,1,3);plot(q,abs(c(ms1:ms20); %畫倒譜圖legend('倒譜圖');xlabel('倒譜(s)');ylabel('倒頻譜幅度(Hz)'); 對語音信號的一部分(由本人隨機選?。┻M行傅里葉變換,并進行倒譜分析,得到如圖4-4:圖4-4 聲音樣本波形圖、頻譜圖和倒譜圖從圖4-4中的倒譜圖可以看出,選取的
20、語音信號部分所對應(yīng)的頻率大概在200Hz左右。這與人的語音信號頻率集中在200Hz到4.5khz之間是相一致的。(四)語音信號的濾波從圖4-4中發(fā)現(xiàn),語音信號中包含背景噪聲,這些噪聲的頻率一般較高。所以可以利用Matlab軟件中的濾波器進行濾波處理,得到較為理想的語音信號。1、語音信號的低通濾波本文中設(shè)計了一個截止頻率為200Hz切比雪夫型低通濾波器,它的性能指標為:wp=0.075pi, ws=0.125pi, Rp=0.25;Rs=50dB。低通濾波器處理程序如下:x,fs,bits=wavread('voice.wav');wp=0.075;ws=0.125;Rp=0.2
21、5;Rs=50;N,Wn=cheb1ord(wp,ws,Rp,Rs);b,a=cheby1(N,Rp,Wn);b,a=cheby1(N,Rp,Wn);X=fft(x);subplot(221);plot(x);title('濾波前信號的波形');subplot(222);plot(X);title('濾波前信號的頻譜');y=filter(b,a,x); %IIR低通濾波sound(y,fs,bits);%聽取濾波后的語音信號wavwrite(y,fs,bits,低通);%將濾波后的信號保存為“低通.wav”Y=fft(y);subplot(223);plot(
22、y);title(' IIR濾波后信號的波形');subplot(224);plot(Y);title(' IIR濾波后信號的頻譜');經(jīng)過低通濾波器處理后,比較濾波前后的波形圖的變化,如圖4-5所示: 圖4-5 低通濾波后波形和頻譜的變化低通濾波后,聽到聲音稍微有些發(fā)悶,低沉,原因是高頻分量被低通濾波器衰減。但是很接近原來的聲音。2、語音信號的高通濾波運用切比雪夫型數(shù)字高通濾波器,對語音信號進行濾波處理。高通濾波器性能指標:wp=0.6, ws=0.975 ,Rp=0.25;Rs=50dB。高通濾波器處理程序如下:x,fs,bits=wavread('
23、voice.wav');wp=0.6;ws=0.975;Rp=0.25;Rs=50;N,Wn=cheb2ord(wp,ws,Rp,Rs);b,a=cheby2(N,Rs,Wn);b,a=cheby2(N,Rs,Wn,'high');X=fft(x);subplot(221);plot(x);title('濾波前信號的波形');subplot(222);plot(X);title('濾波前信號的頻譜');y=filter(b,a,x); sound(y,fs,bits);%聽取濾波后的語音wavwrite(y,fs,bits,高通);%將濾
24、波后的語音保存為“高通.wav”Y=fft(y);subplot(223);plot(y);title('IIR濾波后信號的波形');subplot(224);plot(Y);title('IIR濾波后信號的頻譜');經(jīng)過高通濾波器處理后,比較濾波前后的波形圖的變化,如圖4-6所示:圖4-6 高通濾波后波形和頻譜的變化高通濾波后,只能聽到少許雜音,原因是低頻分量被高通濾波器衰減,而人的聲音部分正好是低頻部分,所以只剩下雜音了。3、語音信號的帶通濾波運用巴特沃斯帶通濾波器函數(shù),帶通濾波器性能指標:N=5;wc=0.3 0.6。帶通濾波器處理程序如下:x,fs,bi
25、ts=wavread('voice');N=5;wc=0.3 0.6 ;b,a=butter(N,wc);X=fft(x);subplot(221);plot(x);title('濾波前信號的波形');subplot(222);plot(X);title('濾波前信號的頻譜');y=filter(b,a,x);%IIR帶通濾波Y=fft(y);sound(y,fs,bits);% 聽取濾波后的語音wavwrite(y,fs,bits,帶通);% 將濾波后的語音保存為“帶通.wav”subplot(223);plot(y);title('
26、IIR濾波后信號的波形');subplot(224);plot(Y);title(' IIR濾波后信號的頻譜');經(jīng)過帶通濾波器處理后,比較濾波前后的波形圖的變化,如圖4-7所示:圖4-7 帶通濾波波形和頻譜的變化帶通濾波后,聽到的聲音有點像機器人發(fā)出的聲音。4、語音信號的帶阻濾波運用巴特沃斯數(shù)字帶阻濾波器,帶阻濾波器性能指標:N=5;wc=0.2 0.7。帶阻濾波器處理程序如下:x,fs,bits=wavread('voice');N=5;wc=0.2 0.7 ;b,a=butter(N,wc,'stop');X=fft(x);subp
27、lot(221);plot(x);title('濾波前信號的波形');subplot(222);plot(X);title('濾波前信號的頻譜');y=filter(b,a,x);%IIR帶阻濾波Y=fft(y);sound(y,fs,bits);% 聽取濾波后的語音wavwrite(y,fs,bits,帶阻);% 將濾波后的語音保存為“帶阻.wav”subplot(223);plot(y);title(' IIR濾波后信號的波形');subplot(224);plot(Y);title(' IIR濾波后信號的頻譜');經(jīng)過帶阻濾波器處理后,比較濾波前后的波形圖的變化,如圖4-8所示:圖4-8 帶阻濾波波形和頻譜的變化帶阻濾波后,聽到的聲音比較接近原來的聲音。5、圖形用戶界面制作Matlab中圖形用戶界面的制作有兩種方法:M文件和GUIDE,本設(shè)計采用GUIDE的方法制作GUI。新建一個空白GUI模板:進入Matlab程序界面以后執(zhí)行FileNewGUI過程,即可進入。選擇空白模板選項條,單擊OK,一個空白GUI
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車旅館裝修合同解除
- 招聘保安合同協(xié)議書
- 建筑工程勞務(wù)合同集錦
- 項目組織與管理標準手冊
- 法律服務(wù)協(xié)議書
- 數(shù)據(jù)科學(xué)與機器學(xué)習(xí)實戰(zhàn)作業(yè)指導(dǎo)書
- 汽車零部件制造技術(shù)手冊
- 短信息服務(wù)合同五
- 欠款借款合同
- 財務(wù)信息咨詢合同年
- 華住酒店管理制度
- 教育科學(xué)與兒童心理學(xué)
- 2022高速公路隧道工程施工管理標準化手冊
- 工人工資結(jié)清證明范本
- 腹腔引流管的護理常見并發(fā)癥的預(yù)防與處理規(guī)范
- 工地試驗室質(zhì)量手冊
- 江蘇省船舶行業(yè)智能化改造數(shù)字化轉(zhuǎn)型實施指南(第二版)
- 高一寒假學(xué)習(xí)計劃表格
- 河北省建筑工程資料管理規(guī)程DB13(J) T 145 201
- 2023年廣東廣州期貨交易所招聘筆試參考題庫附帶答案詳解
- 05G359-3 懸掛運輸設(shè)備軌道(適用于一般混凝土梁)
評論
0/150
提交評論