語音信號的處理與濾波_第1頁
語音信號的處理與濾波_第2頁
語音信號的處理與濾波_第3頁
語音信號的處理與濾波_第4頁
語音信號的處理與濾波_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、廣西工學院數字信號處理課程設計設計題目:語音信號的處理與濾波系 別: 學 號: 姓 名: 班 級: 指導教師: 完成日期: 目錄1. 摘要32.MATLAB簡介33.設計目的44.設計內容45.設計原理46.設計步驟57.總結與分析108.參考資料10摘要本課題分析了數字信號處理課程的重要性及特點,可以幫助理解與掌握課程中的基本概念、基本原理、基本分析方法;并利用MATLAB對語音信號進行分析和處理,要求采集語音信號后,在MATLAB軟件平臺進行頻譜分析。用設計的數字濾波器對語音信號進行了濾波MATLAB簡介MATLAB 是一種對技術計算高性能的語言。它集成了計算,可視化和編程于一個易用的環(huán)境

2、中,在此環(huán)境下,問題和解答都表達為我們熟悉的數學符號。典型的應用有:· 數學和計算 · 算法開發(fā) · 建模,模擬和原形化 · 數據分析,探索和可視化 · 科學與工程制圖 · 應用開發(fā),包括圖形用戶界面的建立 MATLAB是一個交互式的系統(tǒng),其基本數據元素是無須定義維數的數組。這讓你能解決很多技術計算的問題,尤其是那些要用到矩陣和向量表達式的問題。而要花的時間則只是用一種標量非交互語言(例如C或Fortran)寫一個程序的時間的一小部分。 .名稱“MATLAB”代表matrix laboratory(矩陣實驗室)。MATLAB最初是編寫

3、來提供給對由LINPACK和EINPACK工程開發(fā)的矩陣軟件簡易訪問的。今天,MATLAB使用由LAPACK和ARPACK工程開發(fā)的軟件,這些工程共同表現了矩陣計算的軟件中的技術發(fā)展。 MATLAB已經與許多用戶輸入一同發(fā)展了多年。在大學環(huán)境中,它是很多數學類、工程和科學類的初等和高等課程的標準指導工具。在工業(yè)上,MATLAB是高產研究、開發(fā)和分析所選擇的工具。  MATLAB以一系列稱為工具箱的應用指定解答為特征。對多數用戶十分重要的是,工具箱使你能學習和應用專門的技術。工具箱是是MATLAB函數(M-文件)的全面的綜合,這些文件把MATLAB的環(huán)境擴展到解決特殊類型問題上。具有可

4、用工具箱的領域有:信號處理,控制系統(tǒng)神經網絡,模糊邏輯,小波分析,模擬等等。設計目的 綜合運用本課程的理論知識進行頻譜分析以及濾波器設計,通過理論推導得出相應結論,并利用MATLAB作為工具進行實現,從而復習鞏固課堂所學的理論知識,提高對所學知識的綜合應用能力,并從實踐上初步實現對數字信號的處理。設計內容 1熟悉并掌握MATLAB中有關聲音(wave)錄制、播放、存儲和讀取的函數。2在MATLAB環(huán)境中,使用聲音相關函數錄制3秒左右自己的聲音,抽樣率是8000Hz/s。(考慮如何解決一個實際問題:錄制剛開始時,常會出現實際發(fā)出聲音落后錄制動作半拍的現象,如何排除對這些無效點的采樣?)3分別取8

5、000個和16000個數據進行頻譜分析,得到幅度和相位譜,比較二者異同并分析原因。4針對電話信道(最高3500Hz),設計一個FIR或IIR濾波器進行濾波,把抽樣率轉變?yōu)?000Hz/s,并進行頻譜分析,得到幅度和相位譜。5把處理后的所有數據儲存為聲音文件,與原始聲音進行比較。設計原理1.語音信號的采集:在MATLAB中有關聲音的函數有:聲音錄制函數wavrecord(),文件保存wavwrite(),文件讀取wavread(),語音回放sound(),語音播放wavplay(),錄制的文件以 .wav作為文件擴展名的文件。2. 設計IIR數字濾波器 ,其主要步驟有:(1)把給出的數字濾波器的

6、性能指標 由Wk(2/T)*tan(),轉換為模擬濾波器的頻率指標。(2)根據轉后的性能指標,通過濾波器階數選擇函數,來確定濾波器的最小階數N和固有頻率Wn;(3)由最小階數N得到濾波器原型,用來估計契比雪夫I型濾波器階數和截止頻率Wn的函數:N,Wn=cheb1ord(Wp,Ws,Rp,Rs)。(4)用直接設計IIR數字濾波器的函數來設計出所需要的濾波器,設計契比雪夫I型數字濾波器的函數:num,den=cheby1(N,Rp,Wn),Wn是標量,則為低通,否則為帶通。3. 抽樣定理 :連續(xù)信號經理想抽樣后時域、頻域發(fā)生的變化(理想抽樣信號與連續(xù)信號頻譜之間的關系)。 4. 理想抽樣信號能否

7、代表原始信號、如何不失真地還原信號即由離散信號恢復連續(xù)信號的條件(抽樣定理)。5. 奈奎斯特采樣定理:要使實信號采樣后能夠不失真還原,采樣頻率必須大于信號最高頻率的兩倍。設計步驟1語音信號的采集在MATLAB環(huán)境中,使用聲音相關函數錄制3秒左右自己的聲音,程序如下:fs=8000;t=3;fprintf('按任意鍵后開始 %d 秒錄音:',t); %文字提示 pause; %暫停命令fprintf('錄音中.'); %文字提示y=wavrecord(t*fs,fs,'double'); %錄制語音信號fprintf('錄音結束n'

8、); %文字提示wavwrite(y,fs,'f:黃xiaoqing.wav'); %存儲錄音信號fprintf('按任意鍵后回放:');pausewavplay(y,fs); %播放語音信號wavwrite(y,fs,'f:黃xiaoqing.wav '); %存儲語音信號plot(y); %畫出原始語音信號的時域圖形title('聲音時域圖');xlabel('頻率');ylabel('振幅');聲音的時域圖是:針對實際發(fā)出聲音落后錄制動作半拍的現象,如何拔除對無效點的采樣的問題:因為在剛錄制聲

9、音時,錄入的基本是幅度值很小的信號,先讀取聲音出來,將原始語音信號時域波形圖畫出來,根據已得到的信號,可以在第二次讀取聲音的后面設定采樣點,取好有效點,畫出濾除無效點后的語音信號時域波形圖,對比可以看出。這樣就可以解決這個問題。y= wavread('f:黃xiaoqing.wav'); subplot(2,1,1);plot(y);title('濾除無效點后的語音信號')2、分別取8000個和16000個數據進行頻譜分析,得到幅度和相位譜,比較二者異同并分析原因。%取8000點頻譜分析并畫圖程序 N1=8000; %采樣的點數y1=fft(y,N1); %做F

10、FT變換n1=1:N1/2; %圖形顯示區(qū)間f1=(n1-1)*(2*pi)/N1/pi %轉換橫坐標subplot(2,2,1); %指定圖形位置plot(f1,abs(y1(n1); %畫出原始聲音的頻譜圖 xlabel('頻率');ylabel('振幅');title('8000點原始語音信號FFT幅度譜');subplot(2,2,2); %指定圖形位置plot(f1,angle(y1(n1); %畫出原始聲音的相位圖xlabel('頻率');ylabel('以弧度為單位的相位');title('8

11、000點原始語音信號FFT相位譜');%取16000點頻譜分析并畫圖程序N2=16000; %采樣的點數y2=fft(y,N2); %做FFT變換 n2=1:N2/2; %圖形顯示區(qū)間f2=(n2-1)*(2*pi)/N2/pi %轉換橫坐標 subplot(2,2,1); %指定圖形位置plot(f2,abs(y2(n2); %畫出取FFT變化后聲音的頻譜圖 xlabel('頻率');ylabel('振幅'); title('16000點原始語音信號FFT幅度譜');subplot(2,2,2); %指定圖形位置plot(f2,angl

12、e(y2(n2); %畫出取FFT變化后聲音的相位圖xlabel('頻率');ylabel('以弧度為單位的相位');title('16000點原始語音信號FFT相位譜');得出結論:通過對取8000個和16000個數據進行FFT變換后的頻域圖和相位圖比較發(fā)現,取16000個數據進行FFT變換后的頻域圖和相位圖更平滑和密集,并且振幅更大。因為取16000個數據時抽樣的點數增加,抽樣間隔減小,所以比取8000個數據時更密集,同時也更平滑。 3、針對電話信道(最高3500Hz),設計一個FIR或IIR濾波器進行濾波,把抽樣率轉變?yōu)?000Hz/s,并

13、進行頻譜分析,得到幅度和相位譜。%在這取契比雪夫型低通濾波器。Wp=2*1000/7000; %歸一化通帶截止頻率Ws=2*1200/7000; %為歸一化阻帶截止頻率Rp=1; %分貝的通帶波紋系數Rs=100; %最小阻帶衰減N,Wn=cheb1ord(Wp,Ws,Rp,Rs); %用cheb1ord函數求契比雪夫型濾波器階次和通帶頻率num,den=cheby1(N,Rp,Wn); %用cheby1函數求契比雪夫型低通濾波器分子分母系數 disp('分子系數是:');disp(num);disp('分母系數是:');disp(den); %顯示分子分母系數

14、h,w=freqz(num,den); %DFT變換subplot(2,1,1);plot(w/pi,abs(h);xlabel('omega/pi');ylabel('振幅(幅值)');grid; %畫圖 幅度頻率圖 做網格title('契比雪夫型低通濾波器的幅頻響應'); %顯示橫縱坐標及標題 subplot(2,1,2);plot(w/pi,20*log10(abs(h); %畫圖 畫分貝圖grid;axis(0,1,-20,10) %做網格,定義范圍 xlabel('omega/pi'); %橫坐標為omega/piyla

15、bel('振幅(分貝)'); %縱坐標為振幅(分貝)title('契比雪夫型低通濾波器的幅頻響應'); %標題為契比雪夫型低通濾波器的幅頻響應4把處理后的所有數據儲存為聲音文件,與原始聲音進行比較把我們上面錄制的語音放到濾波器里進行濾波,具體程序如下:y,fs,bits=wavread('f:黃xiaoqing.wav'); %對語音信號進行采樣 sound('f:黃xiaoqing.wav');N=length(y);t=(1:N)/fs;df=fs/N; %采樣間隔 n1=1:N/2; f=(n1-1)*df; %頻帶寬度 s

16、ubplot(2,2,1); plot(t,y)title('濾波前語音信號波形');xlabel('頻率/Hz');ylabel('幅值 ');f=(n1-1)*df; %頻帶寬度 z=fft(y);subplot(2,2,3);plot(20*log10(abs(z);title('濾波前語音信號的頻譜 ');xlabel('頻率/Hz');ylabel('幅值 ');x=filter(num,den,y);subplot(2,2,2);plot(t,x)title('濾波后語音信號波形

17、');xlabel('頻率/Hz');ylabel('幅值 ');z=fft(x);subplot(2,2,4);plot(20*log10(abs(z);title('濾波后語音信號的頻譜')xlabel('頻率/Hz'); ylabel('幅值 '); wavwrite(x,fs,'f:黃xiaoqing'); %把濾波后的信號寫入f:黃xiaoqing總結與分析通過本次的課程設計,我學會了 MATLAB 的使用,掌握了 MATLAB 的程序設計方法。掌握了在 用MATLAB編程序來對語音信號采集的方法。掌握數字信號處理的基本概念、基本理論和基本方法。 掌握 了MATLAB 設計 FIR 和 IIR 數字濾波器的方法。 學了會用 MATLAB 對信號進行分析和處理。通過綜合運用數字信號處理的理論知識進行頻譜分析和濾波器設計,通過理論推導得出相應結論,再利用 MATLAB 作為編程工具進行計算機實現,從而加深了對所

溫馨提示

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

評論

0/150

提交評論