數(shù)字濾波器報(bào)告書(附MATLAB程序代碼)_第1頁
數(shù)字濾波器報(bào)告書(附MATLAB程序代碼)_第2頁
數(shù)字濾波器報(bào)告書(附MATLAB程序代碼)_第3頁
數(shù)字濾波器報(bào)告書(附MATLAB程序代碼)_第4頁
數(shù)字濾波器報(bào)告書(附MATLAB程序代碼)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

..課程設(shè)計(jì)課程名稱__數(shù)字信號(hào)處理________題目名稱__應(yīng)用Matlab對(duì)語音信_(tái)_號(hào)進(jìn)行頻譜分析及濾波學(xué)生學(xué)院__信息工程學(xué)院________專業(yè)班級(jí)__xx級(jí)通信工程xx班____學(xué)號(hào)__學(xué)生姓名__指導(dǎo)教師__2010年01月04日題目名稱應(yīng)用Matlab對(duì)語音信號(hào)進(jìn)行頻譜分析及濾波學(xué)生學(xué)院信息工程學(xué)院專業(yè)班級(jí)xx級(jí)通信xx班姓名xxxxxxxx學(xué)號(hào)xxxxxxxx一、課程設(shè)計(jì)目的數(shù)字信號(hào)處理是一門以算法為核心,理論和實(shí)踐性較強(qiáng)的學(xué)科。是電子信息工程、通信工程專業(yè)、電子信息科學(xué)與技術(shù)專業(yè)的一門重要的專業(yè)技術(shù)基礎(chǔ)課。數(shù)字信號(hào)處理課程是在學(xué)習(xí)完數(shù)字信號(hào)處理的相關(guān)理論后,進(jìn)行的綜合性訓(xùn)練課程,其目的是:使學(xué)生進(jìn)一步鞏固數(shù)字信號(hào)處理的基本概念、理論、分析方法和實(shí)現(xiàn)方法;增強(qiáng)學(xué)生應(yīng)用Matlab語言編寫數(shù)字信號(hào)處理的應(yīng)用程序及分析、解決實(shí)際問題的能力;三、課程設(shè)計(jì)內(nèi)容錄制一段個(gè)人自己的語音信號(hào),并對(duì)錄制的信號(hào)進(jìn)行采樣;畫出采樣后語音信號(hào)的時(shí)域波形和頻譜圖;給定濾波器的性能指標(biāo),采用窗函數(shù)法和雙線性變換設(shè)計(jì)濾波器,并畫出濾波器的頻率響應(yīng);然后用自己設(shè)計(jì)的濾波器對(duì)采集的信號(hào)進(jìn)行濾波,畫出濾波后信號(hào)的時(shí)域波形和頻譜,并對(duì)濾波前后的信號(hào)進(jìn)行對(duì)比,分析信號(hào)的變化;回放語音信號(hào);最后,設(shè)計(jì)一個(gè)信號(hào)處理系統(tǒng)界面。下面對(duì)各步驟加以具體說明。2.1語音信號(hào)的采集利用Windows下的錄音機(jī),錄制一段自己的話音,時(shí)間在1s內(nèi)。然后在Matlab軟件平臺(tái)下,利用函數(shù)wavread對(duì)語音信號(hào)進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù)。通過wavread函數(shù)的使用,學(xué)生很快理解了采樣頻率、采樣位數(shù)等概念。2.2語音信號(hào)的頻譜分析首先畫出語音信號(hào)的時(shí)域波形;然后對(duì)語音號(hào)進(jìn)行快速傅里葉變換,得到信號(hào)的頻譜特性,從而加深對(duì)頻譜特性的理解。2.3設(shè)計(jì)數(shù)字濾波器和畫出其頻率響應(yīng)給出各濾波器的性能指標(biāo):<1>低通濾波器性能指標(biāo)fb=1000Hz,fc=1200Hz,As=100dB,Ap=1dB。<2>高通濾波器性能指標(biāo)fc=4800Hz,fb=5000HzAs=100dB,Ap=1dB。<3>帶通濾波器性能指標(biāo)fb1=1200Hz,fb2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB。用窗函數(shù)法和雙線性變換法設(shè)計(jì)上面要求的3種濾波器。在Matlab中,可以利用函數(shù)fir1設(shè)計(jì)FIR濾波器,可以利用函數(shù)butte,cheby1和ellip設(shè)計(jì)IIR濾波器;利用Matlab中的函數(shù)freqz畫出各濾波器的頻率響應(yīng)。2.4用濾波器對(duì)信號(hào)進(jìn)行濾波用自己設(shè)計(jì)的各濾波器分別對(duì)采集的信號(hào)進(jìn)行濾波,在Matlab中,FIR濾波器利用函數(shù)fftfilt對(duì)信號(hào)進(jìn)行濾波,IIR濾波器利用函數(shù)filter對(duì)信號(hào)進(jìn)行濾波。2.5比較濾波前后語音信號(hào)的波形及頻譜要求學(xué)生在一個(gè)窗口同時(shí)畫出濾波前后的波形及頻譜。2.6回放語音信號(hào)在Matlab中,函數(shù)sound可以對(duì)聲音進(jìn)行回放。其調(diào)用格式:sound<x,fs,bits>;可以感覺濾波前后的聲音有變化。2.7設(shè)計(jì)系統(tǒng)界面設(shè)計(jì)處理系統(tǒng)的用戶界面。在所設(shè)計(jì)的系統(tǒng)界面上可以選擇濾波器的類型,輸入濾波器的參數(shù),顯示濾波器的頻率響應(yīng),選擇信號(hào)等。四、設(shè)計(jì)結(jié)果分析雙線性變換法分析:雙線性變換法的優(yōu)點(diǎn):不會(huì)有高于折疊頻率的分量,避免了出現(xiàn)頻率響應(yīng)混疊響應(yīng)。雙線性變換法的缺點(diǎn):1一個(gè)線性相位的模擬濾波器經(jīng)雙線性變換后就得到非線性相位的數(shù)字濾波器,不再保持原有的線性相位。2、這種非線性關(guān)系要求模擬濾波器的幅頻響應(yīng)必須是分段常數(shù)型的,幾某一頻率段的幅頻響應(yīng)近似等于某一常數(shù),否則變換所產(chǎn)生的數(shù)字濾波器幅頻響應(yīng)相當(dāng)于原模擬濾波器的幅頻響應(yīng)會(huì)有畸變。窗函數(shù)法分析:窗函數(shù)法的優(yōu)點(diǎn):有閉合形式的公式可循,設(shè)計(jì)實(shí)用簡(jiǎn)單。窗函數(shù)法的缺點(diǎn):通帶、阻帶的截止頻率不易控制。結(jié)果總結(jié):只有選擇的fc、fb與抽樣頻率Fs相匹配,才能得到與原聲相近的聲音輸出。五、設(shè)計(jì)心得體會(huì)在做這個(gè)課程設(shè)計(jì)之前,我就已接觸過MATLAB,學(xué)習(xí)過它的一些基本操作。但這次課程設(shè)計(jì)中涉及到很多MATLAB的一些專門函數(shù),對(duì)之前很少使用MATLAB的我來說,是個(gè)不小的挑戰(zhàn)。在不久前的數(shù)字信號(hào)處理實(shí)驗(yàn)中,我又學(xué)習(xí)到一些用MATLAB設(shè)計(jì)數(shù)字濾波器的方法,知道了一些專門函數(shù)。但即便如此,剛開始設(shè)計(jì)時(shí)還是覺得無處下手。為此我又重新溫習(xí)了一遍教材中有關(guān)IIR、FIR濾波器的內(nèi)容,自己動(dòng)手計(jì)算了一次實(shí)驗(yàn)手冊(cè)上的IIR低通濾波器的有關(guān)參數(shù)。在深感濾波器參數(shù)計(jì)算繁瑣的情況下,我又上網(wǎng)搜索了一些用MATLAB設(shè)計(jì)數(shù)字濾波器的例程。只是例程畢竟是別人寫的,在沒多少注解的情況下,要讀懂并不容易。為此,我再專門對(duì)一些感到疑惑的函數(shù)搜索一番,弄明白他們的使用形式。最后,在眾多例程中,我挑選了一個(gè)接近該課程設(shè)計(jì)要求的IIR低通濾波器例程作參考。對(duì)其中的函數(shù)參數(shù)進(jìn)行修改,得到了一個(gè)完全符合課程設(shè)計(jì)要求的IIR低通濾波器源程序。再依葫蘆畫瓢,接連寫出其它的濾波器源程序。最終,我參考實(shí)驗(yàn)手冊(cè)中例程框架,把已寫出的幾個(gè)濾波器源程序串在一起,得到了成品。經(jīng)過這次課程設(shè)計(jì),我對(duì)IIR、FIR數(shù)字濾波器的設(shè)計(jì)步驟加深了認(rèn)識(shí)。同時(shí),我也對(duì)MATLAB軟件的強(qiáng)大感到吃驚。在數(shù)學(xué)研究方面,MATLAB的確是首屈一指。有MATLAB的強(qiáng)大函數(shù)庫支持,原本由人手計(jì)算的諸多濾波器參數(shù)可交由電腦處理,節(jié)省了大量時(shí)間。對(duì)MATLAB功能認(rèn)識(shí)的進(jìn)一步加深,我在今后的學(xué)習(xí)與工作中也能提高自己的效率。六、參考資料1、《數(shù)字信號(hào)處理及MATLAB實(shí)現(xiàn)》余成波楊如民等編著清華大學(xué)出版社出版2、《數(shù)字信號(hào)處理教程》程佩青清華大學(xué)出版社出版3.、《數(shù)字信號(hào)處理基礎(chǔ)及MATLAB實(shí)現(xiàn)》周輝董正宏編著北京希望電子出版社出版3、《MATLAB在數(shù)字信號(hào)處理中的應(yīng)用》薛年喜主編清華大學(xué)出版社七、源程序代碼clear;closeall;[z1,fs,bits]=wavread<'shiyan.wav'>%讀取存放于同一文件夾中的聲音文件length=input<'length='>;%D是對(duì)原聲取樣長(zhǎng)度y1=z1<1:length>;%y1是原聲時(shí)域波形Y1=fft<y1>;%Y1是原聲FFT變換i=1;K=menu<'請(qǐng)選擇濾波器類型','IIR低通濾波器','IIR高通濾波器',...'IIR帶通濾波器','FIR低通濾波器','FIR高通濾波器',...'FIR帶通濾波器','原聲','IIR帶阻濾波器','FIR帶阻濾波器','Exit'>;while<K~=10>ifK==1%IIR低通濾波器fb=input<'fb='>;fc=input<'fc='>;As=input<'As='>;Ap=input<'Ap='>;Fs=input<'Fs='>;wc=2*fc/Fs;wb=2*fb/Fs;[N,ws]=buttord<wb,wc,Ap,As>[b,a]=butter<N,ws>figure<i>;i=i+1;freqz<b,a,512,Fs>;title<'IIR低通濾波器幅頻相頻圖'>;x=filter<b,a,z1>;X=fft<x,length>;figure<i>;i=i+1;subplot<2,2,1>;plot<abs<Y1>>;title<'濾波前信號(hào)頻譜'>;subplot<2,2,2>;plot<abs<X>>;title<'IIR低通濾波后信號(hào)頻譜'>;subplot<2,2,3>;plot<z1>;title<'濾波前信號(hào)波形'>;subplot<2,2,4>;plot<x>;title<'IIR低通濾波后信號(hào)波形'>;sound<x,fs,bits>;elseifK==2%IIR高通濾波器fc=input<'fc='>;fb=input<'fb='>;As=input<'As='>;Ap=input<'Ap='>;Fs=input<'Fs='>;wc=2*fc/Fs;wb=2*fb/Fs;[N,ws]=buttord<wc,wb,Ap,As>;[b,a]=butter<N,ws,'high'>;figure<i>;i=i+1;freqz<b,a,512,Fs>;title<'IIR高通濾波器幅頻相頻圖'>;x=filter<b,a,z1>;X=fft<x,length>;figure<i>;i=i+1;subplot<2,2,1>;plot<abs<Y1>>;title<'濾波前信號(hào)頻譜'>;subplot<2,2,2>;plot<abs<X>>;title<'IIR高通濾波后信號(hào)頻譜'>;subplot<2,2,3>;plot<z1>;title<'濾波前信號(hào)波形'>;subplot<2,2,4>;plot<x>;title<'IIR高通濾波后信號(hào)波形'>;sound<x,fs,bits>;elseifK==3%IIR帶通濾波器fb1=input<'fb1='>;fb2=input<'fb2='>;fc1=input<'fc1='>;fc2=input<'fc2='>;As=input<'As='>;Ap=input<'Ap='>;Fs=input<'Fs='>;wc=[2*fc1/Fs,2*fc2/Fs];wb=[2*fb1/Fs,2*fb2/Fs];[N,ws]=buttord<wb,wc,Ap,As>;[b,a]=butter<N,ws,'bandpass'>;figure<i>;i=i+1;freqz<b,a,512,Fs>;title<'IIR帶通濾波器幅頻相頻圖'>;x=filter<b,a,z1>;X=fft<x,length>;figure<i>;i=i+1;subplot<2,2,1>;plot<abs<Y1>>;title<'濾波前信號(hào)頻譜'>;subplot<2,2,2>;plot<abs<X>>;title<'IIR帶通濾波后信號(hào)頻譜'>;subplot<2,2,3>;plot<z1>;title<'濾波前信號(hào)波形'>;subplot<2,2,4>;plot<x>;title<'IIR帶通濾波后信號(hào)波形'>;sound<x,fs,bits>;elseifK==4%FIR低通濾波器fb=input<'fb='>;fc=input<'fc='>;As=input<'As='>;Ap=input<'Ap='>;Fs=input<'Fs='>;wc=2*pi*fc/Fs;wb=2*pi*fb/Fs;wdel=wc-wb;%確定過渡帶寬wdelbeta=0.1102*<As-8.7>;%求凱澤窗參數(shù)betaN=ceil<<As-7.95>/2.286/wdel>;%求凱澤窗階數(shù)Nwn=kaiser<N,beta>;%凱澤窗函數(shù)ws=<wb+wc>/2/pi;B=fir1<N-1,ws,wn>;figure<i>;i=i+1;freqz<B,1>;title<'FIR低通濾波器幅頻相頻特性'>;x=fftfilt<b,z1>;X=fft<x,length>;figure<i>;i=i+1;subplot<2,2,1>;plot<abs<Y1>>;title<'濾波前信號(hào)頻譜'>;subplot<2,2,2>;plot<abs<X>>;title<'FIR低通濾波后信號(hào)頻譜'>;subplot<2,2,3>;plot<z1>;title<'濾波前信號(hào)波形'>;subplot<2,2,4>;plot<x>;title<'FIR低通濾波后信號(hào)波形'>;sound<x,fs,bits>;elseifK==5%FIR高通濾波器fc=input<'fc='>;fb=input<'fb='>;As=input<'As='>;Ap=input<'Ap='>;Fs=input<'Fs='>;wc=2*pi*fc/Fs;wb=2*pi*fb/Fs;wdel=abs<wc-wb>;%確定過渡帶寬wdelbeta=0.1102*<As-8.7>;%求凱澤窗參數(shù)betaN=ceil<<As-7.95>/2.286/wdel>;%求凱澤窗階數(shù)Nwn=kaiser<N,beta>%凱澤窗函數(shù)ws=<wb+wc>/2/pi;B=fir1<N-1,ws,'high',wn>;figure<i>;i=i+1;freqz<B,1>;title<'FIR高通濾波器幅頻相頻特性'>;x=fftfilt<B,z1>;X=fft<x,length>;figure<i>;i=i+1;subplot<2,2,1>;plot<abs<Y1>>;title<'濾波前信號(hào)頻譜'>;subplot<2,2,2>;plot<abs<X>>;title<'FIR高通濾波后信號(hào)頻譜'>;subplot<2,2,3>;plot<z1>;title<'濾波前信號(hào)波形'>;subplot<2,2,4>;plot<x>;title<'FIR高通濾波后信號(hào)波形'>;sound<x,fs,bits>;elseifK==6%FIR帶通濾波器fb1=input<'fb1='>;fb2=input<'fb2='>;fc1=input<'fc1='>;fc2=input<'fc2='>;As=input<'As='>;Ap=input<'Ap='>;Fs=input<'Fs='>;wb1=2*pi*fb1/Fs;wc1=2*pi*fc1/Fs;wb2=2*pi*fb2/Fs;wc2=2*pi*fc2/Fs;wdel=wb1-wc1;%確定過渡帶寬wdelbeta=0.1102*<As-8.7>;%求凱澤窗參數(shù)betaN=ceil<<As-7.95>/2.286/wdel>;%求凱澤窗階數(shù)Nwn=kaiser<N,beta>;%凱澤窗函數(shù)ws=[<wb1+wc1>/2/pi,<wb2+wc2>/2/pi];B=fir1<N-1,ws,wn>;figure<i>;i=i+1;freqz<B,1>;title<'FIR帶通濾波器幅頻相頻特性'>;x=fftfilt<B,z1>;X=fft<x,length>;figure<i>;i=i+1;subplot<2,2,1>;plot<abs<Y1>>;title<'濾波前信號(hào)頻譜'>;subplot<2,2,2>;plot<abs<X>>;title<'FIR帶通濾波后信號(hào)頻譜'>subplot<2,2,3>;plot<z1>;title<'濾波前信號(hào)波形'>;subplot<2,2,4>;plot<x>;title<'FIR帶通濾波后信號(hào)波形'>;sound<x,fs,bits>;elseifK==7%原聲figure<i>;subplot<2,1,1>;plot<abs<Y1>>;title<'原始語音信號(hào)FFT頻譜'>subplot<2,1,2>;plot<y1>;title<'原始語音信號(hào)時(shí)域波形'>xlabel<'時(shí)間n'>;ylabel<'幅值'>;sound<z1,fs,bits>;elseifK==8%IIR帶阻濾波器fb1=input<'fb1='>;fb2=input<'fb2='>;fc1=input<'fc1='>;fc2=input<'fc2='>;As=input<'As='>;Ap=input<'Ap='>;Fs=input<'Fs='>;wc=[2*fc1/Fs,2*fc2/Fs];wb=[2*fb1/Fs,2*fb2/Fs];[N,ws]=buttord<wb,wc,Ap,As>;[b,a]=butter<N,ws,'stop'>;figure<i>;i=i+1;freqz<b,a,512,Fs>;title<'IIR帶阻濾波器幅頻相頻圖'>;x=filter<b,a,z1>;X=fft<x,length>;figure<i>;i=i+1;subplot<2,2,1>;plot<abs<Y1>>;title<'濾波前信號(hào)頻譜'>;subplot<2,2,2>;plot<abs<X>>;title<'IIR帶阻濾波后信號(hào)頻譜'>;subplot<2,2,3>;plot<z1>;title<'濾波前信號(hào)波形'>;subplot<2,2,4>;plot<x>;title<'IIR帶阻濾波后信號(hào)波形'>;sound<x,fs,bits>;elseifK==9%FIR帶阻濾波器fb1=input<'fb1='>;fb2=input<'fb2='>;fc1=input<'fc1='>;fc2=input<'fc2='>;As=input<'As='

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論