版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 數(shù)字信號處理課程設(shè)計</p><p><b> 說 明 書</b></p><p> 設(shè)計題目 語音信號的處理與濾波</p><p> 系 別 計算機(jī)工程系</p><p> 專業(yè)班級 通信061</p><p> 學(xué)生姓名
2、 </p><p> 學(xué) 號 </p><p> 指導(dǎo)教師 </p><p> 日 期 日</p><p> 摘要: 本文主要利用MATLAB工具采用雙線性法和窗函數(shù)法設(shè)計IIR濾波器和FIR數(shù)字濾波器,并通過所設(shè)計的濾波器進(jìn)行語音信
3、號濾波分析,初步學(xué)會信號處理的過程和分析問題的能力。</p><p> 關(guān)鍵詞:MATLAB 濾波器設(shè)計 </p><p><b> 一.引言</b></p><p> 隨著信息時代和數(shù)字世界的到來,數(shù)字信號處理已成為今一門極其重要的學(xué)科和技術(shù)領(lǐng)域。數(shù)字信號處理在通信語音、圖像、自動控制、雷達(dá)、軍事、航空航天、醫(yī)療和家用電器等眾多領(lǐng)域得
4、到了廣泛的應(yīng)用。在數(shù)字信號處理應(yīng)用中,數(shù)字濾波器十分重要并已獲得廣泛應(yīng)用。</p><p> 二.MATLAB工具簡介</p><p> 1.MATLAB是矩陣實驗室(Matrix Laboratory)之意,現(xiàn)已發(fā)展成為適合多學(xué)科,多種工作平臺的功能強大的大型軟件,已經(jīng)成為線性代數(shù),自動控制理論,數(shù)理統(tǒng)計,數(shù)字信號處理,時間序列分析,動態(tài)系統(tǒng)仿真等高級課程的基本教學(xué)工具;</p
5、><p> 2.MATLAB的語言特點</p><p> (1)。語言簡潔緊湊,使用方便靈活,庫函數(shù)極其豐富。MATLAB程序書寫形式自由,利用起豐富的庫函數(shù)避開繁雜的子程序編程任務(wù),壓縮了一切不必要的編程工作。由于庫函數(shù)都由本領(lǐng)域的專家編寫,用戶不必?fù)?dān)心函數(shù)的可靠性。</p><p> (2)運算符豐富。由于MATLAB是用C語言編寫的,MATLAB提供了和C語
6、言幾乎一樣多的運算符,靈活使用MATLAB的運算符將使程序變得極為簡短。 </p><p> ?。?)MATLAB既具有結(jié)構(gòu)化的控制語句(如for循環(huán),while循環(huán),break語句和if語句),又有面向?qū)ο缶幊痰奶匦浴?</p><p> ?。?)程序限制不嚴(yán)格,程序設(shè)計自由度大。例如,在MATLAB里,用戶無需對矩陣預(yù)定義就可使用。 </p><p> ?。?)
7、程序的可移植性很好,基本上不做修改就可在各種型號的計算機(jī)和操作系統(tǒng)上運行。 </p><p> ?。?)MATLAB的圖形功能強大。在FORTRAN和C語言里,繪圖都很不容易,但在MATLAB里,數(shù)據(jù)的可視化非常簡單。MATLAB還具有較強的編輯圖形界面的能力。 </p><p> ?。?)MATLAB的缺點是,它和其他高級程序相比,程序的執(zhí)行速度較慢。由于MATLAB的程序不用編譯等預(yù)處
8、理,也不生成可執(zhí)行文件,程序為解釋執(zhí)行,所以速度較慢。 </p><p> ?。?)功能強大的工具箱是MATLAB的另一特色。MATLAB包含兩個部分:核心部分和各種可選的工具箱。核心部分中有數(shù)百個核心內(nèi)部函數(shù)。其工具箱又分為兩類:功能性工具箱和學(xué)科性工具箱。功能性工具箱主要用來擴(kuò)充其符號計算功能,圖示建模仿真功能,文字處理功能以及與硬件實時交互功能。功能性工具箱用于多種學(xué)科。而學(xué)科性工具箱是專業(yè)性比較強的,如c
9、ontrol,toolbox,signl proceessing toolbox,commumnication toolbox等。</p><p> (9)源程序的開放性。開放性也許是MATLAB最受人們歡迎的特點。除內(nèi)部函數(shù)以外,所有MATLAB的核心文件和工具箱文件都是可讀可改的源文件,用戶可通過對源文件的修改以及加入自己的文件構(gòu)成新的工具箱。</p><p
10、><b> 三.設(shè)計目的</b></p><p> 通過對課程設(shè)計,對信號的采集,處理,傳輸,顯示,存儲和分析等有一個系統(tǒng)的掌握和理解。鞏固和運用在數(shù)字信號處理課程中所學(xué)的理論知識和實驗技能,掌握最基本的數(shù)字信號處理的理論和方法,培養(yǎng)發(fā)現(xiàn)問題,分析問題和解決問題的能力。</p><p><b> 四.設(shè)計理論依據(jù)</b></p&
11、gt;<p> 采樣頻率,采樣位數(shù)的概念,采樣定理;時域信號的DFT,F(xiàn)FT及頻譜分析;數(shù)字濾波器的設(shè)計原理和方法。</p><p> 五.設(shè)計過程(設(shè)計步驟)</p><p> 1.語音信號的采集及頻譜分析</p><p> 用WINDOWS下的錄音機(jī),用單聲道錄制一段音樂或聲音,時間在5S內(nèi)。然后MATLAB軟件平臺下,利用函數(shù)WAVREA
12、D對語音信號進(jìn)行采樣,記住采樣頻率和采樣點數(shù)。對語音信號進(jìn)行快速傅立葉變換,在一個窗口同時畫出信號的時域波形圖和頻譜圖,分析語音信號的頻譜特點。</p><p><b> 程序如下:</b></p><p> [y,fs,bits]=wavread('music.wav',[1024 61500]);</p><p> s
13、ound(y,fs,bits);</p><p> Y=fft(y); plot(y);</p><p> figure(1); title('語音信號的時域波形');</p><p><b> grid</b></p><p> figure(2); </p><p>
14、 plot(abs(Y)); title('語音信號的頻譜特性');</p><p><b> grid</b></p><p><b> 圖形如下:</b></p><p><b> 2:設(shè)計數(shù)字濾波器</b></p><p> 給出個濾波器的性能指標(biāo)
15、:</p><p> ?。?)低通濾波器性能指標(biāo) fb=1000HZ,fc=1200HZ,As=100dB,Ap=1dB</p><p> ?。?) 高通濾波器性能指標(biāo) fb=2800HZ,fc=3000HZ,As=100dB,Ap=1dB</p><p> (3)帶通濾波器性能指標(biāo) fb1=1200HZ,fc1=1000HZ, fb2=2800HZ,fc2=30
16、00HZ As=100dB,Ap=1dB</p><p> 用窗函數(shù)法和雙線性變換法設(shè)計以上要求的3種數(shù)字濾波器繪制個濾波器的頻率響應(yīng)。</p><p> IIR低通濾波器,程序如下:</p><p> Ap=1; As=100; fs=4000;fb=1000;fc=1200;</p><p><b> %頻率預(yù)畸<
17、/b></p><p> wb=(fb/fs)*2*pi;%臨界頻率采用角頻率表示</p><p> wc=(fc/fs)*2*pi;%臨界頻率采用角頻率表示</p><p> OmegaP=2*fs*tan(wb/2);</p><p> OmegaS=2*fs*tan(wc/2);</p><p>
18、 [n,wn]=buttord(OmegaP,OmegaS,Ap,As,'s');</p><p> [b,a]=butter(n,wn,'s');</p><p> [bz,az]=bilinear(b,a,fs);%映射為數(shù)字的</p><p> [H,W]=freqz(bz,az);%繪出頻率響應(yīng)</p>&
19、lt;p> plot(W*fs/(2*pi),abs(H));</p><p> title('IIR低通濾波器');</p><p> IIR高通濾波器,程序如下:</p><p> fs=22050;Ap=1;As=100;fb=5000;fc=4800;</p><p> wb=(fb/fs)*2*pi;
20、%臨界頻率采用角頻率表示</p><p> wc=(fc/fs)*2*pi;%臨界頻率采用角頻率表示</p><p> OmegaP=2*fs*tan(wb/2);</p><p> OmegaS=2*fs*tan(wc/2);</p><p> [n,wn]=cheb1ord(OmegaP,OmegaS,Ap,As,'s
21、39;);</p><p> [b,a]=cheby1(n,Ap,wn,'high','s');</p><p> [bz,az]=bilinear(b,a,fs);%映射為數(shù)字的</p><p> [H,W]=freqz(bz,az);%繪出頻率響應(yīng)</p><p> f=W/pi*11025;
22、 </p><p> plot(f,20*log10(abs(H)));</p><p> title('IIR高通濾波器');</p><p> IIR帶通濾波器,程序如下:</p><p> fb1=1200;fb2=3000;fc1=1000;fc2=3200;</p><p> A
23、p=1;As=100;fs=8000;</p><p> wb1=(fb1/fs)*2*pi; wb2=(fb2/fs)*2*pi;</p><p> wc1=(fc1/fs)*2*pi; wc2=(fc2/fs)*2*pi;</p><p> OmegaP1=2*fs*tan(wb1/2); OmegaP2=2*fs*tan(wb2/2);</p>
24、;<p> OmegaS1=2*fs*tan(wc1/2); OmegaS2=2*fs*tan(wc2/2);</p><p> [n,wn]=cheb1ord([OmegaP1,OmegaP2],[OmegaS1,OmegaS2],Ap,As,'s');</p><p> [b,a]=cheby1(n,Ap,wn,'bandpass',
25、's');</p><p> [bz,az]=bilinear(b,a,fs);%映射為數(shù)字的</p><p> [H,W]=freqz(bz,az);%繪出頻率響應(yīng)</p><p> f=fs*W/pi/2;</p><p> plot(f,20*log10(abs(H)));</p><p>
26、; title('IIR帶通濾波器');</p><p> FIR低通濾波器,程序如下:</p><p> fb=1000;fc=1200;fs=22050;</p><p> beta=10.056;</p><p> wb=2*pi*fb/fs;</p><p> wc=2*pi*fc/
27、fs;</p><p> width=wc-wb;</p><p> wn=(wb+wc)/2;</p><p> n=ceil(12.8/width*pi);</p><p> b=fir1(n,wn/pi,kaiser(n+1,beta));</p><p> [H,W]=freqz(b);</p&
28、gt;<p> f=fs*W/pi/2;</p><p> plot(f,20*log10(abs(H)));</p><p><b> grid on;</b></p><p> FIR高通濾波器,程序如下:</p><p> fb=5000;fc=4800;fs=22050;</p>
29、;<p> [n,Wn,beta,typ]=kaiserord([fc, fb],[0 1],[0.001 0.001],fs);</p><p> b=fir1(n,Wn,typ,kaiser(n+1,beta),'noscale');</p><p> [H,W]=freqz(b);</p><p> f=fs*W/pi/2
30、;</p><p> %f=W/pi*(fs/2);</p><p> plot(f,20*log10(abs(H)));</p><p> title('FIR高通濾波器'); </p><p><b> grid on;</b></p><p> FIR帶通濾波器,程
31、序如下:</p><p><b> fs=12000;</b></p><p> fcuts=[1000,1200,3000,3200];</p><p> mags=[0,1,0];</p><p> devs=[0.01,0.0078,0.01];</p><p> [n,wn,be
32、ta,ftype]=kaiserord(fcuts,mags,devs,fs);</p><p> n=n+rem(n,2);</p><p> b=fir1(n,wn,ftype,kaiser(n+1,beta),'noscale');</p><p> [H,W]=freqz(b,1,1024,fs);</p><p&g
33、t; plot(W,abs(H));</p><p> title('FIR帶通濾波器');</p><p> 各濾波器的圖形如下:</p><p> 3:用濾波器對信號進(jìn)行濾波</p><p> IIR低通濾波器濾波,程序如下:</p><p> Ap=1; As=100; fs=4000
34、;fb=1000;fc=1200;</p><p><b> %頻率預(yù)畸</b></p><p> wb=(fb/fs)*2*pi;%臨界頻率采用角頻率表示</p><p> wc=(fc/fs)*2*pi;%臨界頻率采用角頻率表示</p><p> OmegaP=2*fs*tan(wb/2);</p>
35、;<p> OmegaS=2*fs*tan(wc/2);</p><p> [n,wn]=buttord(OmegaP,OmegaS,Ap,As,'s');</p><p> [b,a]=butter(n,wn,'s');</p><p> [bz,az]=bilinear(b,a,fs);%映射為數(shù)字的<
36、/p><p> [H,W]=freqz(bz,az);%繪出頻率響應(yīng)</p><p> plot(W*fs/(2*pi),abs(H));</p><p> title('IIR低通濾波器');</p><p> [y,fs,bits]=wavread('music.wav');</p>&l
37、t;p> x=filter(bz,az,y);</p><p> plot(x);title('濾波后的波形');</p><p><b> grid on</b></p><p><b> X=fft(x);</b></p><p> plot(abs(X));ti
38、tle('濾波后的頻譜');</p><p><b> grid on</b></p><p> IIR高通濾波器濾波,程序如下:</p><p> fs=22050;Ap=1;As=100;fb=5000;fc=4800;</p><p> wb=(fb/fs)*2*pi;%臨界頻率采用角頻率表
39、示</p><p> wc=(fc/fs)*2*pi;%臨界頻率采用角頻率表示</p><p> OmegaP=2*fs*tan(wb/2);</p><p> OmegaS=2*fs*tan(wc/2);</p><p> [n,wn]=cheb1ord(OmegaP,OmegaS,Ap,As,'s');</p
40、><p> [b,a]=cheby1(n,Ap,wn,'high','s');</p><p> [bz,az]=bilinear(b,a,fs);%映射為數(shù)字的</p><p> [H,W]=freqz(bz,az);%繪出頻率響應(yīng)</p><p> f=W/pi*11025; </p&g
41、t;<p> plot(f,20*log10(abs(H)));</p><p> title('IIR高通濾波器');</p><p><b> grid on;</b></p><p> [y,fs,bits]=wavread('music.wav');</p><p
42、> x=filter(bz,az,y);</p><p> plot(x);title('濾波后的波形');</p><p><b> grid on</b></p><p><b> X=fft(x);</b></p><p> plot(abs(X));title
43、('濾波后的頻譜');</p><p><b> grid on</b></p><p> IIR帶通濾波器濾波,程序如下:</p><p> fb1=1200;fb2=3000;fc1=1000;fc2=3200;</p><p> Ap=1;As=100;fs=8000;</p>
44、<p> wb1=(fb1/fs)*2*pi; wb2=(fb2/fs)*2*pi;</p><p> wc1=(fc1/fs)*2*pi; wc2=(fc2/fs)*2*pi;</p><p> OmegaP1=2*fs*tan(wb1/2); OmegaP2=2*fs*tan(wb2/2);</p><p> OmegaS1=2*fs*tan
45、(wc1/2); OmegaS2=2*fs*tan(wc2/2);</p><p> [n,wn]=cheb1ord([OmegaP1,OmegaP2],[OmegaS1,OmegaS2],Ap,As,'s');</p><p> [b,a]=cheby1(n,Ap,wn,'bandpass','s');</p><p
46、> [bz,az]=bilinear(b,a,fs);%映射為數(shù)字的</p><p> [H,W]=freqz(bz,az);%繪出頻率響應(yīng)</p><p> f=fs*W/pi/2;</p><p> plot(f,20*log10(abs(H)));</p><p> title('IIR帶通濾波器');&
47、lt;/p><p><b> grid on;</b></p><p> [y,fs,bits]=wavread('music.wav');</p><p> x=filter(bz,az,y);</p><p> plot(x);title('濾波后的波形');</p>
48、<p><b> grid on</b></p><p><b> X=fft(x);</b></p><p> plot(abs(X));title('濾波后的頻譜');</p><p><b> grid on</b></p><p>
49、 FIR低通濾波器濾波,程序如下:</p><p> fb=1000;fc=1200;fs=22050;</p><p> beta=10.056;</p><p> wb=2*pi*fb/fs;</p><p> wc=2*pi*fc/fs;</p><p> width=wc-wb;</p>
50、<p> wn=(wb+wc)/2;</p><p> n=ceil(12.8/width*pi);</p><p> b=fir1(n,wn/pi,kaiser(n+1,beta));</p><p> [H,W]=freqz(b);</p><p> f=fs*W/pi/2;</p><p>
51、 %f=W/pi*(fs/2);</p><p> plot(f,20*log10(abs(H)));</p><p> title('FIR低通濾波器');</p><p><b> grid on;</b></p><p> [y,fs,bits]=wavread('music.wa
52、v');</p><p> x=fftfilt(b,y);</p><p> plot(x);title('濾波后的波形');</p><p><b> grid on</b></p><p><b> X=fft(x);</b></p><p&g
53、t; plot(abs(X));title('濾波后的頻譜');</p><p><b> grid on</b></p><p> FIR高通濾波器濾波,程序如下:</p><p> fb=5000;fc=4800;fs=22050;</p><p> [n,Wn,beta,typ]=kais
54、erord([fc, fb],[0 1],[0.001 0.001],fs);</p><p> b=fir1(n,Wn,typ,kaiser(n+1,beta),'noscale');</p><p> [H,W]=freqz(b);</p><p> f=fs*W/pi/2;</p><p> %f=W/pi*(f
55、s/2);</p><p> plot(f,20*log10(abs(H)));</p><p> title('FIR高通濾波器'); </p><p><b> grid on;</b></p><p> [y,fs,bits]=wavread('music.wav');<
56、;/p><p> x=fftfilt(b,y);</p><p> plot(x);title('濾波后的波形');</p><p><b> grid on</b></p><p><b> X=fft(x);</b></p><p> plot(ab
57、s(X));title('濾波后的頻譜');</p><p><b> grid on</b></p><p> FIR帶通濾波器濾波,程序如下:</p><p><b> fs=12000;</b></p><p> fcuts=[1000,1200,3000,3200];
58、</p><p> mags=[0,1,0];</p><p> devs=[0.01,0.0078,0.01];</p><p> [n,wn,beta,ftype]=kaiserord(fcuts,mags,devs,fs);</p><p> n=n+rem(n,2);</p><p> b=fir1(
59、n,wn,ftype,kaiser(n+1,beta),'noscale');</p><p> [H,W]=freqz(b,1,1024,fs);</p><p> plot(W,abs(H));</p><p> title('FIR帶通濾波器');</p><p> [y,fs,bits]=wav
60、read('music.wav');</p><p> x=fftfilt(b,y);</p><p> plot(x);title('濾波后的波形');</p><p><b> grid on</b></p><p><b> X=fft(x);</b>&
61、lt;/p><p> plot(abs(X));title('濾波后的頻譜');</p><p><b> grid on </b></p><p><b> 4:回放語音信號</b></p><p> 對語音信號進(jìn)行回放,感覺濾波前后語音信號的變化。</p>&l
62、t;p> Sound(x,fs,bits);</p><p><b> 五.總結(jié)與分析</b></p><p> 通過本次課程設(shè)計,使我們對信號的采集,處理,傳輸,顯示,存儲和分析等有一個系統(tǒng)的掌握和理解。同時可以看到濾波器在語音處理的重要性,學(xué)到了很多濾波器的設(shè)計方法,對MATLAB這個軟件有了進(jìn)一步的了解,鞏固和運用在數(shù)字信號處理課程中所學(xué)的理論知識和
63、實驗技能,掌握最基本的數(shù)字信號處理的理論和方法,提高了自己的發(fā)現(xiàn)問題,分析問題和解決問題的能力。</p><p><b> 參考文獻(xiàn):</b></p><p> 張威 編. MATLAB基礎(chǔ)與編程入門. 西安:西安電子科技大學(xué)出版社,2005</p><p> 鄒鯤,袁俊泉,編著. MATLAB 6.x信號處理. 北京:清華大學(xué)出版社,
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字信號課程設(shè)計---語音信號的處理與濾波
- 數(shù)字信號處理課程設(shè)計---語音信號的處理與濾波
- 數(shù)字信號處理課程設(shè)計---語音信號的處理與濾波
- 數(shù)字信號處理課程設(shè)計--語音信號的處理與濾波
- 數(shù)字信號處理課程設(shè)計--語音信號濾波去噪
- 數(shù)字信號處理課程設(shè)計---基于matlab的語音信號濾波處理
- 基于matlab的語音信號濾波處理——數(shù)字信號處理課程設(shè)計
- 基于matlab的語音信號濾波處理——數(shù)字信號處理課程設(shè)計
- 數(shù)字信號課程設(shè)計語音信號的采集、分析與處理
- 語音信號處理與濾波課程設(shè)計
- 數(shù)字信號處理課程設(shè)計--基于matlab有噪聲語音信號處理
- 數(shù)字信號處理課程設(shè)計---語音信號的頻譜分析
- 數(shù)字信號處理課程設(shè)計-基于fir的有噪聲語音信號處理
- 數(shù)字信號處理課程設(shè)計--基于fir的有噪聲語音信號處理
- 數(shù)字信號處理課程設(shè)計--數(shù)字濾波器設(shè)計及在語音信號分析中的應(yīng)用
- 數(shù)字信號處理課程設(shè)計--用matlab對語音信號進(jìn)行分析及處理
- 語音信號的濾波課程設(shè)計
- 數(shù)字信號課程設(shè)計--語音數(shù)字信號處理與分析及matlab實現(xiàn)
- 數(shù)字信號課程設(shè)計--數(shù)字信號處理
- 語音信號處理課程設(shè)計
評論
0/150
提交評論