基于matlab的語音信號的采集和處理_第1頁
基于matlab的語音信號的采集和處理_第2頁
基于matlab的語音信號的采集和處理_第3頁
基于matlab的語音信號的采集和處理_第4頁
基于matlab的語音信號的采集和處理_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、電子科技大學(xué)課 程 設(shè) 計(jì) 報(bào) 告課程名稱: 信號與系統(tǒng) 設(shè)計(jì)名稱: 語音信號的采集和處理 姓 名: 肖燕平 學(xué) 號: 2011019090028 班 級: 通信九班 指導(dǎo)教師: 何春 起止日期: 2012.12.15-2012.12.20 基于MATLAB的語音信號的采集和處理摘要:本文介紹了一種基于matlab的語音信號的采集和處理設(shè)計(jì)實(shí)現(xiàn)方案。聲音是由物體的振動產(chǎn)生,以聲波的形式在介質(zhì)中傳播,介質(zhì)主要可分為固 體, 液體以及氣體。 聲波振動內(nèi)耳的聽小骨, 這些振動被轉(zhuǎn)化為微小的電子腦波, 它就是我們覺察到的聲音。 內(nèi)耳采用的原理與麥克風(fēng)捕獲聲波或揚(yáng)聲器的發(fā)音一 樣,它是移動的機(jī)械部分與氣

2、壓波之間的關(guān)系。在國際標(biāo)準(zhǔn)中,人聲的頻率范圍 是 300Hz3400Hz,不同的人或樂器產(chǎn)生的聲音頻率不一致,通過對聲音信號的 研究能夠更好的處理聲音信號的處理以及傳輸。Matlab 作為一款主要面對科學(xué) 計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算軟件,能夠很好的完成對聲音信 號的分析和處理,快速的得出聲音信號的時域圖以及頻域圖。關(guān)鍵字:聲音|、頻率、時域圖、頻域圖1緒 論1.1課題研究目的及意義 掌握語音信號采集的方法 掌握一種語音信號基音周期提取方法 了解Matlab的編程方法 1.2本課題的設(shè)計(jì)要求及設(shè)計(jì)方案概述一:使用wavrecord錄入自己的語音信號,使用save函數(shù)進(jìn)行保存后使用

3、wavplay 函數(shù)進(jìn)行播放。二:使用plot再畫出該語音信號的時域波形,對原始波形進(jìn)行用fft函數(shù)傅里葉 變換后,使用plot畫出其頻譜。三:設(shè)計(jì)切比雪夫的低通,高通,帶通濾波器對原始信號進(jìn)行濾波。四: 畫出濾波后的信號時域、頻域圖五:考慮到國際標(biāo)準(zhǔn)人聲的頻率范圍在300Hz3400Hz,于是給原始語音信號加入 3800hz的正弦高頻噪聲,再分析語音信號的特點(diǎn)。六:設(shè)計(jì)低通計(jì)濾波器將高頻噪聲濾除。2設(shè)計(jì)過程2.1本課題的設(shè)計(jì)要求1,使用wavrecord錄入自己的語音信號,保存到一個數(shù)組后,再使用save函數(shù)進(jìn)行保存文件,后使用wavplay函數(shù)進(jìn)行播放。程序?qū)崿F(xiàn)如下:fs=8000;%采樣

4、頻率為8000hzy=wavrecord(3*fs,fs);%錄入3s的聲音wavplay(y,fs);%播放已錄入的聲音信號file='voice.mat'%創(chuàng)建一個數(shù)據(jù)文件,且賦給變量filesave('voice.mat','y');%將語音數(shù)據(jù)保存到數(shù)據(jù)文件voice.mat中l(wèi)oad voice.mat; %讀出voicet.mat的語音數(shù)據(jù)2,使用plot再畫出該語音信號的時域波形程序代碼為:subplot(211);%對圖形窗口進(jìn)行分割plot(y);xlabel('time n');ylabel('ampl

5、itude');title('原始語音信號');%標(biāo)出橫縱坐標(biāo)和圖像名稱再對原始波形進(jìn)行用fft函數(shù)傅里葉變換后得到向量,使用plot畫出其頻譜。因?yàn)橹苯佑胒ft得出的數(shù)據(jù)與頻率不是對應(yīng)的,由于fftshift可以將fft的直流分量移到頻譜中心,即讓正半軸部分和負(fù)半軸部分的圖像分別關(guān)于各自的中心對稱。故再使用fftshift對fft進(jìn)行變換。程序代碼為:a=fftshift(fft(y,l)/l);%對語音信號進(jìn)行離散時間傅里葉變換,且將fft的直流分量移到頻譜中心fd=fs/l;fx=fd*(-l/2:l/2-1);%將橫軸變?yōu)轭l率軸fy=abs(a);%將縱軸變?yōu)轭l

6、率幅度軸subplot(212);plot(fx,fy);xlabel('頻率Hz');ylabel('幅度');title('原始信號頻譜');如圖所示:3,設(shè)計(jì)切比雪夫?yàn)V波器對原始信號進(jìn)行濾波時,利用cheb1ord計(jì)算濾波器階數(shù):N, Wn =cheb1ord(Wp, Ws, Rp, Rs);利用cheby1計(jì)算濾波器系數(shù):b,a = cheby1(N,Wn)。其中設(shè)計(jì)了通帶截止頻率為1000hz,阻帶截止頻率為1200hz的低通濾波器,如圖所示 程序?yàn)椋篺ph=1000; fsh=1200; rp=2; rs=15; omegaph=fp

7、h/(fs/2); %歸一化 omegash=fsh/(fs/2); N,wn=cheb1ord(omegaph,omegash,rp,rs); BZ,AZ=cheby1(N,rp,wn,'low'); yl=filter(BZ,AZ,y);subplot(211);plot(yl);xlabel('time n');ylabel('amplitude');title('低通濾波后語音信號時域波形');al=fftshift(fft(yl,l)/l;%對低通濾波后信號進(jìn)行傅里葉變換fdl=fs/l;fxl=fdl*(-l/2:l/

8、2-1);fyl=abs(al);subplot(212);plot(fxl,fyl);xlabel('頻率Hz');ylabel('幅度');title('低通濾波后信號頻譜');設(shè)計(jì)了通帶截止頻率為2000hz,阻帶截止頻率為1600hz的高通濾波器,如圖所示 fph=2000; fsh=1600; rp=2; rs=15; omegaph=fph/(fs/2); omegash=fsh/(fs/2); N,wn=cheb1ord(omegaph,omegash,rp,rs); BZ,AZ=cheby1(N,rp,wn,'high&#

9、39;); %計(jì)算切比雪夫高通濾波器系數(shù) yh=filter(BZ,AZ,y);subplot(211);plot(yh);xlabel('time n');ylabel('amplitude');title('高通濾波后語音信號時域波形');ah=fftshift(fft(yh,l)/l;fdh=fs/l;fxh=fdh*(-l/2:l/2-1);fyh=abs(ah); subplot(212);plot(fxh,fyh);xlabel('頻率Hz');ylabel('幅度');title('高通濾波后

10、信號頻譜');設(shè)計(jì)了截止頻率Wp1000Hz 2000Hz;阻帶截止頻率Ws800Hz 2500Hz;的帶通濾波器,如圖所示程序?yàn)椋?fph=1000,2000; fsh=800,2500; rp=3; rs=20; omegaph=fph/(fs/2); omegash=fsh/(fs/2); N,wn=cheb1ord(omegaph,omegash,rp,rs); BZ,AZ=cheby1(N,rp,wn,'bandpass'); yb=filter(BZ,AZ,y); subplot(211);plot(yb);xlabel('time n');

11、ylabel('amplitude');title('帶通濾波后語音信號時域波形');ab=fftshift(fft(yb,l)/l;fdb=fs/l;fxb=fdb*(-l/2:l/2-1);fyb=abs(ab);subplot(212);plot(fxb,fyb);xlabel('頻率Hz');ylabel('幅度');title('帶通濾波后信號頻譜');4,使用wavplay函數(shù)播放濾波前后的語音信號程序?yàn)椋簑avplay(y,fs); %播放原始語音信號wavplay(yl,fs); %播放低通濾波后語

12、音信號wavplay(yh,fs); %播放高通濾波后語音信號wavplay(yb,fs); %播放帶通濾波后語音信號可以明顯地聽到經(jīng)過低通后聲音明顯較先前低沉但音量減小,如下一、二圖所示,低通濾波后信號高頻部分明顯大幅衰,即信號只剩余低音部分;經(jīng)過高通濾波后聲音較原始信號刺耳但音量減小,如下一、三圖所示,高通濾波后信號低頻部分明顯大幅衰,剩下高頻部分,即信號只剩余高音部分;經(jīng)過帶通濾波后聲音較原始信號無明顯區(qū)別但音量明顯減小,如下一、四圖所示,帶通濾波后信號低頻和高頻部分明顯大幅衰,剩下中頻部分,即信號只剩余中音部分;如圖所示,分別為原始信號,低濾波后信號,高通濾波后信號,帶通濾波后信號頻譜

13、5,考慮到國際標(biāo)準(zhǔn)人聲的頻率范圍在300Hz3400Hz,于是給原始語音信號加入頻率為3800hz的正弦高頻噪聲,如圖所示,為加入高頻噪聲后的信號時域波形和頻譜圖,由圖可以看出,加入信號后的時域波形明顯幅度加大,使用wavplay函數(shù)播放也可明顯聽到明顯滴聲,頻譜圖中也可看到較原信號而言,加噪聲后頻譜在3800hz和-3800hz處增加了一高峰。程序?yàn)椋篈u=1;t=0:1/fs:(l-1)/fs;d=Au*sin(2*pi*3800*t); %構(gòu)造頻率為3800hz的正弦信號,且取其一段d=d'yy=y+d; %將所得噪音信號加入原始信號中subplot(211);plot(yy);

14、 %繪制加入噪音后波形xlabel('time n');ylabel('amplitude');title('加入噪音后語音信號時域波形');ay=fftshift(fft(yy,l)/l;fdy=fs/l;fxy=fdy*(-l/2:l/2-1);fyy=abs(ay);subplot(211);plot(yy);%繪制加入噪音后頻譜xlabel('time n');ylabel('amplitude');title('加入噪音后語音信號時域波形');6,設(shè)計(jì)阻帶截止頻率為3600,通帶截止頻率為

15、3400的切比雪夫低通計(jì)濾波器將高頻噪聲濾除。所得信號時域波形及頻譜圖如下:程序?yàn)椋篺ph=3400; fsh=3600; rp=2; rs=60; omegaph=fph/(fs/2); omegash=fsh/(fs/2); N,wn=cheb1ord(omegaph,omegash,rp,rs); BZ,AZ=cheby1(N,rp,wn,'low'); yyy=filter(BZ,AZ,yy);subplot(211);plot(yyy);xlabel('time n');ylabel('amplitude');title('對加

16、噪信號濾波后語音信號時域波形');ayy=fftshift(fft(yyy,l)/l);fdyy=fs/l;fxyy=fdyy*(-l/2:l/2-1);fyyy=abs(ayy);subplot(212);plot(fxyy,fyyy);xlabel('頻率Hz');ylabel('幅度');title('加入噪音濾波后信號頻譜');3本課題的設(shè)計(jì)原理1、采樣定理: 在進(jìn)行模擬與數(shù)字信號的轉(zhuǎn)換過程中,當(dāng)采樣大于最高頻率的 2 倍 時,則采樣之后的數(shù)字信號完整的保留了原始信號中的信息,一般實(shí)際 應(yīng)用中保證采樣頻率為信號最高頻率的 510

17、倍。 2、采樣頻率: 采樣頻率是指計(jì)算機(jī)每秒鐘采樣多少個聲音樣本, 是描述聲音文件 的音質(zhì)、音頻、衡量聲卡、聲音文件的質(zhì)量標(biāo)準(zhǔn)。采樣頻率越高,即采 樣的時間間隔越短,則在單位時間內(nèi)計(jì)算機(jī)得到的聲音樣本數(shù)據(jù)越多,對聲音波形的表示也越準(zhǔn)確。 3、采樣位數(shù)與采樣頻率: 采樣位數(shù)即采樣值或取樣值,用來衡量聲音波動變化的參數(shù),是指 聲卡在采集和播放聲音文件時所使用數(shù)字聲音信號的二進(jìn)制位數(shù)。 采樣頻率是指錄音設(shè)備在一秒鐘內(nèi)對聲音信號的采樣次數(shù),采樣頻率越高聲 音的還原就越真實(shí)越自然。 采樣位數(shù)和采樣率對于音頻接口來說是最為 重要的兩個指標(biāo)。無論采樣頻率如何,理論上來說采樣的位數(shù)決定了音頻數(shù)據(jù)最大的力度范圍

18、。采樣位數(shù)越多則捕捉到的信號越精確。 4、利用MATLAB對語音信號進(jìn)行分析 和處理: 采集語音信號后,利用MATLAB軟件平臺進(jìn)行頻譜分析;并對所采集的語音信號加入干擾噪聲,對加入噪聲的信號進(jìn)行頻譜分析, 設(shè)計(jì)合適的濾波器濾除噪聲,恢復(fù)原信號。4 總結(jié)和心得體會在為期一周的設(shè)計(jì)中我遇到不少的問題,主要有以下兩點(diǎn):1,剛開始時對fft函數(shù)的本質(zhì)不是很了解,導(dǎo)致畫出的波形有一半是人聲無法發(fā)出的高頻。后來經(jīng)過復(fù)習(xí)信號與系統(tǒng)的課本,與同學(xué)討論后才發(fā)現(xiàn)這部分看起來是高頻的成分實(shí)際是-w,因?yàn)橹苯佑胒ft得出的數(shù)據(jù)與頻率不是對應(yīng)的,由于fftshift可以將fft的直流分量移到頻譜中心,即讓正半軸部分和

19、負(fù)半軸部分的圖像分別關(guān)于各自的中心對稱。故再使用fftshift對fft進(jìn)行變換。2,加入噪聲時發(fā)現(xiàn)直接加入頻率為5500hz的正弦信號后所得信號頻率不再是實(shí)際的5500hz,再次翻閱書本才回憶起采樣的原則是Ws>2Wm,若采樣頻率為fs=8000,則5000hz頻譜將會出現(xiàn)重疊現(xiàn)象,信號無法恢復(fù),即所得噪音信號頻率改變,考慮到國際標(biāo)準(zhǔn)人聲的頻率范圍在300Hz3400Hz,于是改為給原始語音信號加入頻率為3800hz的正弦高頻噪聲。通過這一個星期的課程設(shè)計(jì), 同時我學(xué)到了很多的東西,不僅鞏固了我以前所 學(xué)過的知識, 還讓我學(xué)到很多在書本上所沒有學(xué)到過的知識。 同時進(jìn)一步加深了對語音信號

20、的了解和熟練了對 Matlab 的使用。 也深深地體會到作為工科女獨(dú)有的驕傲,因?yàn)橐郧岸际腔谡n本上所學(xué)的理論知識,很少將所學(xué)知識運(yùn)用于實(shí)際,而通過這次課程設(shè)計(jì)之后更加感覺到只是會做題并不代表真正理解了課本的知識,必須要在實(shí)際中才能真正地理解。同時,這次設(shè)計(jì)也讓我感受到了書本的知識也很重要,做任何一個工程,再小都需要足夠的理論知識作為墊腳石。 5參考文獻(xiàn)【1】Alan.V.Oppenheim,Signal and System,電子工業(yè)出版社,2009.【2】數(shù)學(xué)實(shí)驗(yàn)講義,電子科技大學(xué)出版社,2010.【3】劉樹棠, 信號與系統(tǒng)計(jì)算機(jī)練習(xí)利用 MATLAB,西安交通大學(xué)出版社,2006【4】

21、謝云蓀,數(shù)學(xué)實(shí)驗(yàn),科學(xué)出版社,1999.【5】蘇金明,MATLAB 實(shí)用教程,電子工業(yè)出版社,2005.【6】徐全智,概率論與數(shù)理統(tǒng)計(jì),高等教育出版社,2004. 【7】楊克昌,計(jì)算機(jī)程序設(shè)計(jì)典型例題精解,國防科技大學(xué)出版社程序清單fs=8000;%采樣頻率為8000hzy=wavrecord(3*fs,fs);%錄入3s的聲音wavplay(y,fs);%播放已錄入的聲音信號file='voice.mat'%創(chuàng)建一個數(shù)據(jù)文件,且賦給變量filesave('voice.mat','y');%將語音數(shù)據(jù)保存到數(shù)據(jù)文件voice.mat中l(wèi)oad v

22、oice.mat; %讀出voicet.mat的語音數(shù)據(jù)subplot(211);%對圖形窗口進(jìn)行分割plot(y);xlabel('time n');ylabel('amplitude');title('原始語音信號');%標(biāo)出橫縱坐標(biāo)和圖像名稱a=fftshift(fft(y,l)/l);%對語音信號進(jìn)行離散時間傅里葉變換,且將fft的直流分量移到頻譜中fd=fs/l;fx=fd*(-l/2:l/2-1);%將橫軸變?yōu)轭l率軸fy=abs(a);%將縱軸變?yōu)轭l率幅度軸subplot(212);plot(fx,fy);%畫出原始信號頻譜圖xlab

23、el('頻率Hz');ylabel('幅度');title('原始信號頻譜');fph=1000; %低通濾波程序開始 fsh=1200; rp=2; rs=15; omegaph=fph/(fs/2); %歸一化 omegash=fsh/(fs/2); N,wn=cheb1ord(omegaph,omegash,rp,rs); %計(jì)算濾波器階數(shù) BZ,AZ=cheby1(N,rp,wn,'low');%計(jì)算濾波器系數(shù) yl=filter(BZ,AZ,y);%對原始信號低通濾波subplot(211);plot(yl);xlabe

24、l('time n');ylabel('amplitude');title('低通濾波后語音信號時域波形');al=fftshift(fft(yl,l)/l);%對低通濾波后信號進(jìn)行傅里葉變換fdl=fs/l;fxl=fdl*(-l/2:l/2-1);fyl=abs(al);subplot(212);plot(fxl,fyl);xlabel('頻率Hz');ylabel('幅度');title('低通濾波后信號頻譜');fph=2000; %高通濾波程序開始 fsh=1600; rp=2; rs=1

25、5; omegaph=fph/(fs/2); omegash=fsh/(fs/2); N,wn=cheb1ord(omegaph,omegash,rp,rs); BZ,AZ=cheby1(N,rp,wn,'high'); %計(jì)算切比雪夫高通濾波器系數(shù) yh=filter(BZ,AZ,y);subplot(211);plot(yh);xlabel('time n');ylabel('amplitude');title('高通濾波后語音信號時域波形');ah=fftshift(fft(yh,l)/l);fdh=fs/l;fxh=fdh

26、*(-l/2:l/2-1);fyh=abs(ah); subplot(212);plot(fxh,fyh);xlabel('頻率Hz');ylabel('幅度');title('高通濾波后信號頻譜');fph=1000,2000; %帶通濾波程序開始 fsh=800,2500; rp=3; rs=20; omegaph=fph/(fs/2); omegash=fsh/(fs/2); N,wn=cheb1ord(omegaph,omegash,rp,rs); BZ,AZ=cheby1(N,rp,wn,'bandpass'); yb=

27、filter(BZ,AZ,y); subplot(211);plot(yb);xlabel('time n');ylabel('amplitude');title('帶通濾波后語音信號時域波形');ab=fftshift(fft(yb,l)/l);fdb=fs/l;fxb=fdb*(-l/2:l/2-1);fyb=abs(ab);subplot(212);plot(fxb,fyb);xlabel('頻率Hz');ylabel('幅度');title('帶通濾波后信號頻譜');wavplay(y,fs); %播放原始語音信號wavplay(yl,fs); %播放低通濾波后語音信號wavplay(yh,fs); %播放高通濾波后語

溫馨提示

  • 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

提交評論