數(shù)字信號處理課程設(shè)計--用matlab對語音信號進行分析及處理_第1頁
已閱讀1頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  《數(shù)字信號處理》</b></p><p><b>  課程設(shè)計報告</b></p><p>  用MATLAB對語音信號進行分析及處理</p><p><b>  摘要</b></p><p>  MATLAB 語言是一種數(shù)據(jù)分析和處理功能十分強大

2、的計算機應(yīng)用軟件 ,它可以將聲音文件變換為離散的數(shù)據(jù)文件 , 然后利用其強大的矩陣運算能力處理數(shù)據(jù) ,如數(shù)字濾波 、傅里葉變換 、時域和頻域分析 、聲音回放以及各種圖的呈現(xiàn)等 , 信號處理是MATLAB 重要應(yīng)用的領(lǐng)域之一 。 </p><p>  本課程設(shè)計介紹了基于Matlab的對語音信號采集、處理及濾波器的設(shè)計,并使之實現(xiàn)的過程。理解與掌握課程中的基本概念、基本原理、基本分析方法,用Matlab進行數(shù)字語音

3、信號處理,并闡述了課程設(shè)計的具體方法、步驟和內(nèi)容。綜合運用本課程的理論知識進行頻譜分析以及濾波器設(shè)計,通過理論推導(dǎo)得出相應(yīng)結(jié)論,并利用MATLAB作為工具進行實現(xiàn),從而復(fù)習(xí)鞏固課堂所學(xué)的理論知識,提高對所學(xué)知識的綜合應(yīng)用能力,并從實踐上初步實現(xiàn)對數(shù)字信號的處理。</p><p><b>  目錄</b></p><p><b>  一、設(shè)計目的:4<

4、/b></p><p><b>  二、設(shè)計內(nèi)容:4</b></p><p><b>  三、設(shè)計原理:4</b></p><p>  1).直接設(shè)計數(shù)字濾波器;5</p><p>  2).脈沖響應(yīng)不變法;6</p><p>  3).雙線性變換;6<

5、/p><p>  4). 設(shè)計思路:7</p><p><b>  四、設(shè)計步驟:7</b></p><p>  1). 語音信號的采集7</p><p>  2). 語音信號的頻譜分析8</p><p>  3). 設(shè)計數(shù)字濾波器,畫出其頻率響應(yīng)曲線10</p><p&

6、gt;  五、心得體會:13</p><p>  六、參考文獻:14</p><p><b>  一、設(shè)計目的:</b></p><p>  1).掌握數(shù)字信號處理的基本概念、基本理論和基本方法; </p><p>  2).掌握MATLAB設(shè)計FIR和IIR數(shù)字濾波器的方法; </p><p&g

7、t;  3).掌握在Windows環(huán)境下語音信號采集以及時域、頻域分析;</p><p>  4).學(xué)會MATLAB的使用,掌握MATLAB的程序設(shè)計方法;</p><p>  5).學(xué)會用MATLAB對信號進行分析和處理。</p><p><b>  二、設(shè)計內(nèi)容:</b></p><p>  1).錄制一段自己的語音

8、信號,對錄制的信號進行采樣;</p><p>  2).畫出采樣后語音信號的時域波形和頻譜圖;</p><p>  3).給定濾波器的性能指標,采MATLAB設(shè)計數(shù)字濾波器,并畫出濾波器的頻率響應(yīng);</p><p>  4).然后用自己設(shè)計的濾波器對采集的信號進行濾波,畫出濾波后信號的時域波形和頻譜,并對濾波前后的信號進行對比,分析信號的變化;</p>

9、<p>  5).回放語音信號。</p><p><b>  三、設(shè)計原理:</b></p><p>  濾波器的設(shè)計原理 設(shè)計數(shù)字濾波器的任務(wù)就是尋求一個因果穩(wěn)定的線性時不變系統(tǒng),并使系統(tǒng)函數(shù)H(z)具有指定的頻率特性。數(shù)字濾波器根據(jù)其沖激響應(yīng)函數(shù)的時域特性,可分為兩種,即無限長沖激響應(yīng)(IIR)濾波器和有限長沖激響應(yīng)(FIR)濾波器。IIR濾波器的特

10、征是,具有無限持續(xù)時間沖激響應(yīng)。這種濾波器一般需要用遞歸模型來實現(xiàn),因而有時也稱之為遞歸濾波器。FIR濾波器的沖激響應(yīng)只能延續(xù)一定時間,在工程實際中可以采用遞歸的方式實現(xiàn),也可以采用非遞歸的方式實現(xiàn)。</p><p>  濾波器的性能指標 在設(shè)計一個濾波器之前,必須首先根據(jù)工程實際的需要確定濾波器的技術(shù)指標。在很多實際應(yīng)用中,數(shù)字濾波器常常被用來實現(xiàn)選頻操作。因此,指標的形式一般在頻域中給出幅度和相位響應(yīng)。幅度

11、指標主要以兩種方式給出。第一種是絕對指標。它提供對幅度響應(yīng)函數(shù)的要求,一般應(yīng)用于FIR濾波器的設(shè)計。第二種指標是相對指標。它以分貝值的形式給出要求。在工程實際中,這種指標最受歡迎。對于相位響應(yīng)指標形式,通常希望系統(tǒng)在通頻帶中人有線性相位。運用線性相位響應(yīng)指標進行濾波器設(shè)計具有如下優(yōu)點:①只包含實數(shù)算法,不涉及復(fù)數(shù)運算;②不存在延遲失真,只有固定數(shù)量的延遲;③長度為N的濾波器(階數(shù)為N-1),計算量為N/2數(shù)量級。下面給出了有關(guān)濾波器的性

12、能指標 1、 低通濾波器的性能指標:Fp=1000Hz,F(xiàn)s=1200Hz,As=50dB,Ap=1dB; 2、 高通濾波器的性能指標:Fp=4000Hz,F(xiàn)s=3500Hz,As=50dB,Ap=1dB; 3、 帶通濾波器的性能指標:Fp1=1200Hz,F(xiàn)p2=3000HZ,F(xiàn)s1=1000Hz, Fs</p><p>  1).直接設(shè)計數(shù)字濾波器;&

13、lt;/p><p>  數(shù)字濾波器是數(shù)字信號處理的一個重要組成部分。數(shù)字濾波實際上是一種運算過程,其功能是將一組輸入的數(shù)字序列通過一定的運算后轉(zhuǎn)變?yōu)榱硪唤M輸出的數(shù)字序列。</p><p>  數(shù)字濾波器一般可以用兩種方法來實現(xiàn):一種是根據(jù)描述數(shù)字濾波器的數(shù)學(xué)模型或信號流圖,用數(shù)字硬件裝配成一臺專門的設(shè)備,構(gòu)成專用的信號處理機;另一種方法就是直接利用通用計算機,將所需要的運算編成程序讓計算機來執(zhí)

14、行,這也是用軟件來實現(xiàn)數(shù)字濾波器。</p><p>  數(shù)字濾波器是離散時間系統(tǒng),所處理的信號是離散時間信號。一般時域離散系統(tǒng)或網(wǎng)絡(luò)可以用差分方程、單位脈沖響應(yīng)以及系統(tǒng)函數(shù)進行描述。如果輸入、輸出服從N階差分方程</p><p>  則其系統(tǒng)函數(shù),即濾波器的傳遞函數(shù)為</p><p>  2).脈沖響應(yīng)不變法;</p><p>  利用模擬濾

15、波器來設(shè)計數(shù)字濾波器,就是從已知的模擬濾波器傳遞函數(shù)Ha(s)設(shè)計數(shù)字濾波器的系統(tǒng)函數(shù)H(z)。</p><p>  因此,它歸根結(jié)底是一個由S平面映射到Z平面的變換,這個變換通常是復(fù)變函數(shù)的映射變換,為了保證轉(zhuǎn)換后的H(z)穩(wěn)定且滿足技術(shù)要求,這個映射變換必須滿足以下兩條基本要求:</p><p>  (1)因果穩(wěn)定的模擬濾波器轉(zhuǎn)換成數(shù)字濾波器,仍是因果穩(wěn)定的。即 S平面的左半平面必須映

16、射到Z平面單位圓的內(nèi)部。</p><p>  (2)數(shù)字濾波器的頻率響應(yīng)模仿模擬濾波器的頻 響,s平面的虛軸映射為z平面的單位圓,相應(yīng)的頻率之間成線性關(guān)系。</p><p><b>  核心原理:</b></p><p>  通過對連續(xù)函數(shù)ha(t)等間隔采樣得到離散序列ha(nT)。令h(n)= ha(nT) ,T為采樣間隔。它是一種時域上

17、的轉(zhuǎn)換方法。</p><p><b>  轉(zhuǎn)換步驟:</b></p><p><b>  3).雙線性變換;</b></p><p>  脈沖響應(yīng)不變法的主要缺點是頻譜交疊產(chǎn)生的混淆,這是從S平面到Z平面的標準變換的多值對應(yīng)關(guān)系導(dǎo)致的,為了克服這一缺點,設(shè)想變換分為兩步:</p><p>  第一步

18、:將整個S平面壓縮到S1平面的一條橫帶里;</p><p>  第二步:通過標準變換關(guān)系將此橫帶變換到整個Z平面上去。由此建立S平面與Z平面一一對應(yīng)的單值關(guān)系,消除多值性,也就消除了混淆現(xiàn)象。</p><p>  與脈沖響應(yīng)不變法相比,雙線性變換的主要優(yōu)點:靠頻率的嚴重非線性關(guān)系得到S平面與Z平面的單值一一對應(yīng)關(guān)系,整個jΩ軸單值對應(yīng)于單位圓一周。在零頻率附近,Ω~ω接近于線性關(guān)系,Ω進一

19、步增加時,ω增長變得緩慢, (ω終止于折疊頻率處),所以雙線性變換不會出現(xiàn)由于高頻部分超過折疊頻率而混淆到低頻部分去的現(xiàn)象。</p><p>  雙線性變換法的缺點:Ω與ω的非線性關(guān)系,導(dǎo)致數(shù)字濾波器的幅頻響應(yīng)相對于模擬濾波器的幅頻響應(yīng)有畸變,(使數(shù)字濾波器與模擬濾波器在響應(yīng)與頻率的對應(yīng)關(guān)系上發(fā)生畸變)。雙線性變換比脈沖響應(yīng)法的設(shè)計計算更直接和簡單。由于s與z之間的簡單代數(shù)關(guān)系,所以從模擬傳遞函數(shù)可直接通過代數(shù)置

20、換得到數(shù)字濾波器的傳遞函數(shù)。</p><p><b>  4). 設(shè)計思路:</b></p><p>  首先將數(shù)字高通濾波器的技術(shù)指標轉(zhuǎn)化為模擬濾波器的技術(shù)指標,再采用Buttetworth逼近的方法求得其系統(tǒng)函數(shù)H(S),再利用沖激響應(yīng)不變法將模擬濾波器的系統(tǒng)函數(shù)H(s)變?yōu)橄鄳?yīng)的數(shù)字濾波器的系統(tǒng)函數(shù)H(Z),然后用MATALB進行仿真,然后確定數(shù)字濾波器的結(jié)構(gòu)。

21、</p><p><b>  四、設(shè)計步驟:</b></p><p>  1). 語音信號的采集</p><p>  采集一小段語音信號保存為wav音頻文件格式,放到c目錄下待用。并且在Matlab軟件平臺下,利用函數(shù)wavread對語音信號進行采樣,記住采樣頻率和采樣點數(shù)。</p><p>  圖1 語音采集流程圖&l

22、t;/p><p><b>  程序為:</b></p><p>  [y,fs,bite]=wavread('7.wav');</p><p><b>  sound(y);</b></p><p>  wavrecord(2*fs,fs);</p><p>&l

23、t;b>  fft(y);</b></p><p><b>  Y=fft(y);</b></p><p><b>  fp=1000;</b></p><p>  fr=1200;as=40;ap=1;</p><p>  [N, Wn] = BUTTORD(2*fp/fs, 2

24、*fr/fs, ap, as);</p><p>  [B,A] = BUTTER(N,Wn);</p><p>  2). 語音信號的頻譜分析</p><p>  要求畫出語音信號的時域波形;然后對語音號進行快速傅里葉變換,得到信號的頻譜特性。</p><p><b>  程序為:</b></p><

25、;p>  [y,fs,bite]=wavread('7.wav');</p><p><b>  sound(y);</b></p><p><b>  Y=fft(y);</b></p><p>  mag=abs(Y);</p><p>  phase=angle(Y);&

26、lt;/p><p>  phase=phase*180/pi;</p><p>  dB=20*log10(abs(Y)+eps);</p><p>  t=(0:length(y)-1)/fs;</p><p><b>  figure(1)</b></p><p>  subplot(221);p

27、lot(t,y);title('波形圖');xlabel('時間(s)');ylabel('幅度');</p><p>  f=(1:length(Y))*fs/length(Y);</p><p>  subplot(222);plot(f,mag);title('幅度譜');xlabel('頻率(Hz)')

28、;ylabel('頻譜幅度');</p><p>  subplot(223);plot(f,phase);title('相位譜');xlabel('頻率(Hz)');ylabel('頻譜相位');</p><p>  subplot(224);plot(f,dB);title('對數(shù)幅度譜');xlabel(

29、'頻率(Hz)');ylabel('頻譜幅度(dB)');</p><p><b>  顯示為:</b></p><p>  3). 設(shè)計數(shù)字濾波器,畫出其頻率響應(yīng)曲線</p><p>  各濾波器的性能指標:</p><p>  1).低通濾波器性能指標 fp=1000Hz, fs=1

30、200Hz, As=40dB, Ap=1dB</p><p>  2).高通濾波器性能指標 fs=4000Hz, fp=4300Hz, As=40dB, Ap=1dB</p><p>  3).帶通濾波器性能指標 fp1=1200 Hz, fp2=3 000 Hz, fs1=1000 Hz, fs2=3200Hz, As=40dB, Ap=1dB。</p><p>

31、  (頻率變換法設(shè)計IIR濾波器)</p><p><b> ?、俚屯V波器</b></p><p><b>  程序為:</b></p><p><b>  clc</b></p><p>  [I,Fs,bits]=wavread('7.wav');%讀取語

32、音信號7.wav</p><p>  fp=1000; %通帶截止頻率</p><p>  fr=1200; %阻帶角頻率</p><p>  ap=1; %通帶紋波</p><p>  as=40;

33、 %阻帶衰減</p><p>  [n,fn]= buttord(fp/(Fs/2),fr/(Fs/2),ap,as,'z'); %巴特沃斯濾波器</p><p>  [b,a]=butter(n,fn); %巴特沃斯IIR濾波器</p><p>  [h,w]=freqz(b,a); %濾波器

34、的頻率響應(yīng)</p><p>  I1=filter(b,a,I); %1維數(shù)字濾波器</p><p>  I2=fftfilt(b,I); %FFT的FIR濾波</p><p>  subplot(321),plot(I);title('原始語音信號');</p><p>  subp

35、lot(322);plot(w*Fs/(2*pi),abs(h));title('巴特沃斯低通濾波');</p><p>  subplot(323);plot(I1);title('巴特沃斯IIR濾波后語音信號');</p><p>  subplot(324);plot(I2);title('巴特沃斯FIR濾波后語音信號');</p

36、><p>  subplot(325);plot([h,w]);title('濾波器頻率響應(yīng)');</p><p>  sound(I1,Fs,bits); %重放語音</p><p><b>  顯示為:</b></p><p><b>  ②高通濾波器</b><

37、;/p><p><b>  程序為:</b></p><p><b>  clc;</b></p><p>  [I,Fs,bits]=wavread('7.wav'); %讀取語音信號7.wav</p><p>  fp=4300; %通帶截止

38、頻率</p><p>  fr=4000; %阻帶角頻率</p><p>  ap=1; %通帶紋波</p><p>  as=40; %阻帶衰減</p><p>  [n,fn]=cheb1ord(fp/(Fs/2),

39、fr/(Fs/2),ap,as,'z');%切比雪夫I型濾波器</p><p>  [b,a]=cheby1(n,ap,fn,'high'); %I型切比雪夫IIR濾波器</p><p>  [h,w]=freqz(b,a); %濾波器的頻率響應(yīng)</p><p>  I1=filter(b,a,I);

40、 %1維數(shù)字濾波器</p><p>  I2=fftfilt(b,I); %FFT的FIR濾波</p><p>  subplot(321),plot(I);title('原始語音信號');</p><p>  subplot(322);plot(w*Fs/(2*pi),abs(h));title(&#

41、39;切比雪夫1高通濾波');</p><p>  subplot(323);plot(I1);title('切比雪夫1IIR濾波后語音信號');</p><p>  subplot(324);plot(I2);title('切比雪夫1FIR濾波后語音信號');</p><p>  subplot(325);plot([h,w

42、]);title('濾波器的頻率響應(yīng)');</p><p>  sound(I1,Fs,bits); %重放語音</p><p><b>  顯示為:</b></p><p><b> ?、蹘V波器</b></p><p><b>  程序為:&l

43、t;/b></p><p>  [I,Fs,bits]=wavread('7.wav');%讀取語音信號7.wav</p><p>  fp1=1200; %通帶截止頻率</p><p>  fp2=3000; %通帶截止頻率</p><p> 

44、 fp=[fp1,fp2]; %通帶截止頻率</p><p>  fr1=1000; %阻帶角頻率</p><p>  fr2=3200; %阻帶角頻率</p><p>  fr=[fr1,fr2]; %阻帶角頻率</p>

45、;<p>  ap=1; %通帶紋波</p><p>  as=40; %阻帶衰減</p><p>  [n,fn]=ellipord(fp/(Fs/2),fr/(Fs/2),ap,as,'z');%最小橢圓濾波器</p><p>  [b,a]=

46、ellip(n,ap,as,fn); %橢圓濾波器</p><p>  [h,w]=freqz(b,a); %波器的頻率響應(yīng)</p><p>  I1=filter(b,a,I); %1維數(shù)字濾波器</p><p>  I2=fftfilt(b,I); %FFT的FIR濾波</p><p>  

47、subplot(321),plot(I);title('原始語音信號');</p><p>  subplot(322);plot(w*Fs/(2*pi),abs(h));title('橢圓帶通濾波');</p><p>  subplot(323);plot(I1);title('橢圓IIR濾波后語音信號');</p><

48、;p>  subplot(324);plot(I2);title('橢圓FIR濾波后語音信號');</p><p>  subplot(325);plot([h,w]);title('濾波器的頻率響應(yīng)');</p><p>  sound(I1,Fs,bits); %重放語音</p><p><b>

49、  顯示為:</b></p><p><b>  五、心得體會:</b></p><p>  以往都是通過課本來感性的認知語音信號,通過本次的課程設(shè)計,讓我對語音信號有了一個較為實際的認識。于此同時,讓我再次把數(shù)字信號處理及數(shù)字濾波器的設(shè)計方法重新進行了復(fù)習(xí)和學(xué)習(xí)。而對Matlab,也再次讓我感受到了其功能的強大。最為重要的是,本次課程設(shè)計讓我重新審視了學(xué)

50、習(xí)的過程:只去做實驗是不行的,首先還是要思考,遇到了問題查書籍,百度搜索也只是一種手段,更加重要的是想,再理解,只有這樣才能真正的做好實驗。</p><p><b>  六、參考文獻:</b></p><p>  1. 陳懷琛.MATLAB及在電子信息課程中的應(yīng)用.北京電子工業(yè)出版社.2008.1 </p><p>  2. 張文.基于MATL

51、AB的語音信號的濾波域?qū)崿F(xiàn).山西電子技術(shù).2008.2 </p><p>  3. 徐靖濤.基于MATLAB的語音信號分析與處理.重慶科技學(xué)院學(xué)報.2008.1 </p><p>  4. 程佩青. 數(shù)字信號處理教程第三版.清華大學(xué)出版社. 2007.2 </p><p>  5. 陳后金. 數(shù)字信號處理第2版.高等教育出版社. 2008.11</p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論