數(shù)字信號處理課程設計---基于matlab的語音信號濾波處理_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  數(shù)字信號處理課程設計</p><p>  題目: 基于matlab的語音信號濾波處理</p><p><b>  學院: </b></p><p>  專業(yè): </p><p>  班級: </p><p>  學號:

2、 </p><p>  姓名: </p><p>  指導教師: </p><p><b>  摘要</b></p><p>  本課程設計旨在熟悉在Windows環(huán)境下語音信號采集的方法,掌握數(shù)字信號處理的基本概念、基本理論和基本方法,掌握MAT

3、LAB設計FIR和IIR數(shù)字濾波器的方法并且學會用MATLAB對信號進行分析和處理。</p><p>  課題的制作過程中,首先對語音信號進行采集和頻譜分析,然后再分別用低通、高通和帶通三種濾波器進行濾波處理,最后回放語音信號。</p><p>  語音信號經(jīng)過濾波器濾波處理后,雜音有所減少,效果變的更好。</p><p><b>  目錄</b&g

4、t;</p><p><b>  實驗內(nèi)容:.4</b></p><p>  一、語音信號的采集.........................4</p><p>  二、語音信號的頻譜分析.4</p><p>  三、用濾波器對語音信號進行濾波.4</p><p>  四、回放語音信號

5、.4</p><p>  實驗原理:...................................................................................4</p><p>  一、數(shù)字濾波器..........................................................................

6、......4</p><p>  二、MATLAB....................................................................................5</p><p>  實驗步驟:.....................................................................

7、.................6</p><p>  語音信號的采集.........................................................................6</p><p>  二、語音信號的頻譜分析................................................................

8、6</p><p>  三、信號經(jīng)低通濾波器濾波..............................................................8</p><p>  四、信號經(jīng)高通濾波器濾波..............................................................9</p><p>  

9、五、信號經(jīng)帶通濾波器濾波...........................................................12</p><p>  六、回放語音信號...........................................................................14</p><p>  結(jié)論:.............

10、................................................................................14</p><p>  參考文獻:...................................................................................14</p><p><

11、b>  實驗內(nèi)容:</b></p><p><b>  1、語音信號的采集</b></p><p>  利用Windows下的錄音機, 錄制一段自己的話音, 時間在幾秒內(nèi)。然后在Matlab軟件平臺下, 利用函數(shù)wavread對語音信號進行采樣, 記住采樣頻率和采樣點數(shù)。</p><p>  [y,fs,bits]=wavre

12、ad();</p><p>  2、語音信號的頻譜分析</p><p>  首先畫出語音信號的時域波形, 然后對語音信號進行頻譜分析。 在Matlab 中, 可以利用函數(shù)fft對信號進行快速傅里葉變換, 得到信號的頻譜特性。</p><p>  3、用濾波器對語音信號進行濾波</p><p>  設計濾波器對采集的信號進行濾波, 比較濾波前后

13、語音信號的波形及頻譜。</p><p>  要求自己確定濾波器的性能指標,用沖激響應不變法、雙線性變換法或窗函數(shù)法設計3種濾波器:低通、高通和帶通濾波器。</p><p><b>  4、回放語音信號</b></p><p>  在Matlab中, 函數(shù)sound 可以對聲音進行回放,其調(diào)用格式: </p><p>  

14、sound (x, fs, bits);</p><p><b>  實驗原理:</b></p><p><b>  1.數(shù)字濾波器</b></p><p>  數(shù)字濾波是數(shù)字信號分析中最重要的組成部分之一,與模擬濾波相比,它具有精度和穩(wěn)定性高、系統(tǒng)函數(shù)容易改變、靈活性強、便于大規(guī)模集成和可實現(xiàn)多維濾波等優(yōu)點。在信號的過濾

15、、檢測和參數(shù)的估計等方面,經(jīng)典數(shù)字濾波器是使用最廣泛的一種線性系統(tǒng)。</p><p>  數(shù)字濾波器是指完成信號濾波處理功能的,用有限精度算法實現(xiàn)的離散時間線性非時變系統(tǒng),其輸入是一組數(shù)字量,其輸出是經(jīng)過變換的另一組數(shù)字量。因此,數(shù)字濾波器本身既可以是用數(shù)字硬件裝配成的一臺完成給定運算的專用的數(shù)字計算機,也可以將所需要的運算編成程序,讓通用計算機來執(zhí)行。</p><p>  從數(shù)字濾波器的

16、單位沖擊響應來看,可以分為兩大類:有限沖擊響應(FIR)數(shù)字濾波器和無限沖擊響應(IIR)數(shù)字濾波器。濾波器按功能上分可以分為低通濾波器(LPF)、高通濾波器(HPF)、帶通濾波器(BPF)、帶阻濾波器(BSF)。</p><p>  在很多實際應用中如語音和音頻信號處理中,數(shù)字濾波器來實現(xiàn)選頻功能。因此,指標的形式應為頻域中的幅度和相位響應。在通帶中,通常希望具有線性相位響應。在FIR濾波器中可以得到精確的線性

17、相位。FIR濾波器傳遞函數(shù)的極點是固定在原點,是不能動的,它只能靠改變零點位置來改變它的性能,所以要達到高的選擇性,必須用高的階數(shù),對于同樣的濾波器設計指標,F(xiàn)IR濾波器所要求的階數(shù)可能比IIR濾波器高5-10倍,結(jié)果成本高,信號延時也較大,如果按線性相位要求來說,則IIR濾波器就必須加全通網(wǎng)絡進行相位校正,同樣大大增加了濾波器的階數(shù)和復雜性。而FIR濾波器卻可以得到嚴格的線性相位。</p><p>  不論是I

18、IR濾波器還是FIR濾波器的設計都包括三個步驟:</p><p>  (1) 按照實際任務的要求,確定濾波器的性能指標。</p><p>  (2) 用一個因果、穩(wěn)定的離散線性時不變系統(tǒng)的系統(tǒng)函數(shù)去逼近這一性能指標。根據(jù)不同的要求 可以用IIR系統(tǒng)函數(shù),也可以用FIR系統(tǒng)函數(shù)去逼近。</p><p>  (3) 利用有限精度算法實現(xiàn)系統(tǒng)函數(shù),包括結(jié)構(gòu)選

19、擇、字長選擇等。</p><p><b>  2.MATLAB</b></p><p>  MATLAB是矩陣實驗室(Matrix Laboratory)之意。除具備卓越的數(shù)值計算能力外,它還提供了專業(yè)水平的符號計算,文字處理,可視化建模仿真和實時控制等功能。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達式與數(shù)學,工程中常用的形式十分相似,故用MATLAB來解算問題要

20、比用C,FORTRAN等語言完相同的事情簡捷得多,工具包又可以分為功能性工具包和學科工具包。</p><p>  功能工具包用來擴充MATLAB的符號計算,可視化建模仿真,文字處理及實時控制等功能。學科工具包是專業(yè)性比較強的工具包,控制工具包,信號處理工具包,通信工具包等都屬于此類。</p><p>  MATLAB具有許多的優(yōu)點比如:語言簡潔緊湊,使用方便靈活,庫函數(shù)極其豐富;MATLA

21、B既具有結(jié)構(gòu)化的控制語句(如for循環(huán),while循環(huán),break語句和if語句),又有面向?qū)ο缶幊痰奶匦?程序的可移植性很好,基本上不做修改就可以在各種型號的計算機和操作系統(tǒng)上運行,等等優(yōu)點。</p><p>  MATLAB 的應用范圍非常廣,包括信號和圖像處理、通訊、控制系統(tǒng)設計、測試和測量、財務建模和分析以及計算生物學等眾多應用領(lǐng)域。附加的工具箱(單獨提供的專用MATLAB 函數(shù)集)擴展了MATLAB 環(huán)

22、境,以解決這些應用領(lǐng)域內(nèi)特定類型的問題。</p><p><b>  實驗步驟: </b></p><p><b>  一、語音信號的采集</b></p><p>  [y,fs,bits]=wavread();</p><p><b>  fs =</b></p>

23、;<p>  22050 %采樣頻率</p><p><b>  bits =</b></p><p>  16 %采樣點數(shù)</p><p>  二、語音信號的頻譜分析</p><p><b>  實驗程序:</b></p><

24、;p>  [x1,Fs,bits]=wavread('C:\WINNT\Media\ding.wav');</p><p>  %sound(y,Fs,bits);</p><p>  figure(1);</p><p>  plot(x1); %做原始語音信號的時域圖形</p><p&

25、gt;  title('原始語音信號');</p><p>  xlabel('時間 n');ylabel('音量 n');</p><p>  figure(2);</p><p>  y1=fft(x1); %做length(x1)點的FFT</p><p>  y1=fftshif

26、t(y1);%平移,是頻率中心為0</p><p>  derta_Fs = Fs/length(x1);%設置頻譜的間隔,分辨率</p><p>  plot([-Fs/2:derta_Fs: Fs/2-derta_Fs],abs(y1));%畫出原始語音信號的頻譜圖</p><p>  title('原始語音信號的頻譜');grid on;<

27、;/p><p>  三、信號經(jīng)低通濾波器濾波:</p><p><b>  fs=22050;</b></p><p><b>  fc1=1100;</b></p><p>  wc1=2*pi*fc1/fs;</p><p>  wp1=2*pi*1000/fs;ws1=2*

28、pi*1200/fs;</p><p>  N1=ceil(200*2*pi/ws1-wp1);</p><p>  Window=boxcar(N1+1); %長度為N1的矩形窗Window</p><p>  b1=fir1(N1,wc1/pi,Window);</p><p>  figure(3);</p><p&

29、gt;  freqz(b1,1,512);</p><p>  title('低通濾波器的頻率響應');</p><p>  x1_low = filter(b1,1, x1);%對信號進行低通濾波</p><p>  figure(4);</p><p>  plot(x1_low);title('信號經(jīng)過低通濾波器

30、(時域)');</p><p>  figure(5);</p><p>  plot([-Fs/2:derta_Fs: Fs/2-derta_Fs],abs(fftshift(fft(x1_low))));</p><p>  title('信號經(jīng)過低通濾波器(頻域)');</p><p>  四、信號經(jīng)高通濾波器濾

31、波:</p><p><b>  fc2=4900;</b></p><p>  wc2=2*pi*fc2/fs;</p><p>  wp2=2*pi*4800/fs;ws2=2*pi*5000/fs;</p><p>  N2=ceil(4*pi/(ws2-wp2));</p><p>  W

32、indow=boxcar(N2+1);</p><p>  b2=fir1(N2,wc2/pi,Window);</p><p>  figure(6);</p><p>  freqz(b2,1,512);%數(shù)字濾波器頻率響應</p><p>  title('高通濾波器的頻率響應');</p><p&g

33、t;  x1_high = filter(b2,1,x1);%對信號進行高通濾波</p><p>  figure(7);plot(x1_high);title('信號經(jīng)過高通濾波器(時域)');</p><p>  figure(8);plot([-Fs/2:derta_Fs: Fs/2-derta_Fs],abs(fftshift(fft(x1_high))));<

34、;/p><p>  title('信號經(jīng)過高通濾波器(頻域)');</p><p>  五、信號經(jīng)帶通濾波器濾波:</p><p>  f1=1100;f2=3100; %帶通濾波器的通帶范圍</p><p>  w1=2*pi*f1/fs; %0.1567=0.0499pi</p><p>

35、;  w2=2*pi*f2/fs; %0.4417=0.1407pi</p><p>  w=[w1,w2];</p><p>  N3=ceil(4*pi/(2*pi*200/fs));</p><p>  b3=fir1(N3,w/pi,'high');%帶通濾波器</p><p>  figure(9);&l

36、t;/p><p>  freqz(b3,1,512);%數(shù)字濾波器頻率響應</p><p>  title('高通濾波器的頻率響應');</p><p>  x1_daitong = filter(b3,1,x1);%對信號進行高通濾波</p><p>  figure(10);plot(x1_daitong);title(

37、9;信號經(jīng)過高通濾波器(時域)');</p><p>  figure(11);</p><p>  plot([-Fs/2:derta_Fs: Fs/2-derta_Fs],abs(fftshift(fft(x1_daitong))));</p><p>  title('信號經(jīng)過帶通濾波器(頻域)');</p><p&

38、gt;<b>  六、回放語音信號:</b></p><p>  在Matlab中, 函數(shù)sound 可以對聲音進行回放,其調(diào)用格式: </p><p>  sound (x, fs, bits);</p><p>  sound(x1_low,Fs); </p><p>  sound(x1_high,Fs); <

39、;/p><p>  sound(x1_daitong,Fs);</p><p>  可以感覺濾波前后的聲音變化。</p><p><b>  結(jié)論:</b></p><p>  通過此次課程設計,讓我了解到數(shù)字濾波是數(shù)字信號分析中最重要的組成部分之一,與模擬濾波相比,它具有精度和穩(wěn)定性高、系統(tǒng)函數(shù)容易改變、靈活性強、便于大規(guī)

40、模集成和可實現(xiàn)多維濾波等優(yōu)點。還了解到MATLAB具有許多的優(yōu)點比如:語言簡潔緊湊,使用方便靈活,庫函數(shù)極其豐富;MATLAB既具有結(jié)構(gòu)化的控制語句(如for循環(huán),while循環(huán),break語句和if語句),又有面向?qū)ο缶幊痰奶匦浴?lt;/p><p><b>  參考文獻:</b></p><p>  1 黃文梅,熊佳林,楊勇編著.信號分析與處理——MATALB言 及應

溫馨提示

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

評論

0/150

提交評論