數(shù)字信號處理課程設(shè)計報告---iir濾波器分析與設(shè)計_第1頁
已閱讀1頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  數(shù)字信號處理課程設(shè)計報告</p><p>  選題名稱: </p><p>  系(院): </p><p>  專 業(yè): </p><p>  班

2、 級: </p><p>  姓 名: 學 號: </p><p>  指導(dǎo)教師: </p><p>  學年學期: 2010 ~ 2011 學年 第 1 學期</p>

3、<p>  2011 年 01 月 08 日</p><p><b>  設(shè)計任務(wù)書</b></p><p><b>  摘要:</b></p><p>  數(shù)字濾波器是指輸入、輸出均為數(shù)字信號,通過一定的運算關(guān)系改變輸入信號所含頻率成分的相對比例或濾除某些頻率成分的器件。它在各種數(shù)字信號處理領(lǐng)域均有廣泛的應(yīng)

4、用,其質(zhì)量的優(yōu)劣直接決定著數(shù)字產(chǎn)品的質(zhì)量,數(shù)字濾波器按網(wǎng)絡(luò)結(jié)構(gòu)可分為IIR數(shù)字濾波器和FIR數(shù)字濾波器,其中IIR數(shù)字濾波器因結(jié)構(gòu)簡單,體積小,可靠性高,運算速度快等優(yōu)點,在一些對相位要求不十分嚴格的場合有重要作用。本設(shè)計是利用Matlab語言對IIR數(shù)字濾波器設(shè)計建立一個軟件仿真平臺,系統(tǒng)由巴特沃斯濾波器、切比雪夫Ⅰ型濾波器、切比雪夫Ⅱ型濾波器等組成,每種濾波器也包含低通、高通、帶通、帶阻濾波的設(shè)計,設(shè)計結(jié)果由時域單位脈沖響應(yīng)圖形幅度

5、譜、相位譜以及極零點圖表示,并輸入音頻文件測試濾波功能,還可任意修改各系統(tǒng)參數(shù)以分析研究濾波器設(shè)計結(jié)果,形象直觀。</p><p>  關(guān)鍵詞:數(shù)字濾波器;Matlab;IIR數(shù)字濾波器;仿真</p><p><b>  目錄</b></p><p><b>  1 課題綜述1</b></p><

6、p>  1.1 課題來源及意義1</p><p>  1.2 實現(xiàn)的功能1</p><p><b>  2 系統(tǒng)分析1</b></p><p>  2.1 設(shè)計的基礎(chǔ)知識1</p><p>  2.2 IIR濾波器的MATLAB實現(xiàn)3</p><p><b>  

7、3 系統(tǒng)設(shè)計3</b></p><p>  3.1 IIR濾波器的設(shè)計3</p><p>  3.2 系統(tǒng)框圖4</p><p><b>  4 代碼編寫5</b></p><p>  4.1 巴特沃斯低通與高通的實現(xiàn)代碼5</p><p>  4.2 巴特沃斯帶通與

8、帶阻實現(xiàn)代碼5</p><p>  4.3 切比雪夫1低通與高通的實現(xiàn)代碼6</p><p>  4.4 切比雪夫2低通與高通的實現(xiàn)代碼6</p><p><b>  5運行與調(diào)試7</b></p><p>  5.1 運行界面7</p><p>  5.2 程序調(diào)試11&l

9、t;/p><p><b>  總 結(jié)12</b></p><p><b>  致 謝13</b></p><p>  參 考 文 獻14</p><p><b>  1 課題綜述</b></p><p>  1.1 課題來源及意義</p&

10、gt;<p>  數(shù)字濾波是數(shù)字信號處理的重要內(nèi)容,是由乘法器、加法器的單位掩飾器組成的一種運算過程,其功能是對輸入離散信號進行運算處理,以達到改變信號頻譜的目的。數(shù)字濾波器根據(jù)頻域特性可為低通、高通、帶通和帶阻四個基本類型;根據(jù)時域特性可分為無限長單位沖激響應(yīng)IIR(Infinite Impulse Response)濾波器和有限長單位沖激響應(yīng)FIR(Finite Impulse Response)濾波器。其中MATLA

11、B軟件為數(shù)字濾波的研究和應(yīng)用提供了一個直觀、高效、便捷的利器。它以矩陣運算為基礎(chǔ),把計算、可視化、程序設(shè)計融合到了一個交互式的工作環(huán)境中,其中信號處理、圖像處理、小波等工具箱為數(shù)字濾波研究的蓬勃發(fā)展提供了有力的工具。</p><p>  數(shù)字濾波在通信、圖像編碼、語音編碼、雷達等許多領(lǐng)域中有著十分廣泛的應(yīng)用。目前,數(shù)字信號濾波器的設(shè)計圖像處理、數(shù)據(jù)壓縮等方面的應(yīng)用取得了令人矚目的進展和成就。鑒于此,數(shù)字濾波器的設(shè)

12、計顯得尤為重要。</p><p>  1.2 實現(xiàn)的功能</p><p>  用MATLAB仿真軟件設(shè)計出IIR濾波器的主要框架,里面包含巴特沃斯濾波器、切比雪夫兩種濾波器的低通,高通,帶通,帶阻濾波,輸入音頻文件觀察聲音是否進行了濾波,在高通、低通、帶通、帶阻濾波的情況下音頻輸出有何不同,并比較各濾波器濾波效果。</p><p><b>  2 系統(tǒng)

13、分析</b></p><p>  2.1 設(shè)計的基礎(chǔ)知識</p><p>  2.1.1 巴特沃斯濾波器的原理</p><p>  IIR濾波器的系統(tǒng)函數(shù)可以用極、零點表示:</p><p>  IIR濾波器的系統(tǒng)函數(shù)的設(shè)計就是確定H(Z) 中的ak, bk,或確定ck、dk 及 A,以使濾波器滿足給定性能的要求。</p&

14、gt;<p>  若通過模擬濾波器來設(shè)計數(shù)字濾波器,則:首先,設(shè)計一個合適的模擬濾波器Ha(s),然后,變換成滿足預(yù)定指標的數(shù)字濾波器H(z) 。</p><p>  常用模擬原型濾波器有巴特沃斯濾波器、切比雪夫濾波器,模擬低通濾波器的技術(shù)指標:Ap 、As 、Ωs、Ωp</p><p>  設(shè)計目標:確定濾波器階次N和截止頻率Ωc。 </p><p>

15、;<b>  進而可以求得</b></p><p>  2.1.2 脈沖響應(yīng)不變法的基本原理</p><p>  脈沖相應(yīng)不變法是從從濾波器的脈沖響應(yīng)出發(fā),使數(shù)字濾波器的單位脈沖響應(yīng)序列h(n)模仿模擬濾波器的沖激響應(yīng),將等間隔采樣,使h(n)正好等于的采樣值。</p><p>  對h(n)求Z變換,即得數(shù)字濾波器的系統(tǒng)函數(shù)</p&

16、gt;<p>  2.1.3 雙線性變換法的基本原理</p><p>  采用非線性頻率壓縮方法:首先,將S平面壓縮映射到S1平面的 橫帶區(qū)域;其次,通過標準變換關(guān)系 將此橫帶區(qū)域變換到Z平面。</p><p>  從頻率響應(yīng)出發(fā),直接使數(shù)字濾波器的頻率響應(yīng) ,逼近模擬濾波器的頻率響應(yīng) ,進而求得H(z)。</p&

17、gt;<p>  S1平面映射到Z平面: 得到 從而得到S平面和Z平面的單</p><p><b>  值映射關(guān)系為: </b></p><p>  2.2 IIR濾波器的MATLAB實現(xiàn)</p><p>  數(shù)字信號處理工具箱提供的butter函數(shù)可以實現(xiàn)Butterworth模擬和數(shù)字的設(shè)計,其特性

18、是通帶的幅值響應(yīng)最大限度的平坦,而損失過度的陡度。其中數(shù)字域的butter的函數(shù)格式為[b,a]=butter(w,wn)可設(shè)計出截止頻率為wn的n階低通數(shù)字Butterworth濾波器。</p><p>  采用濾波器設(shè)計工具fdatool在相應(yīng)的界面填寫相應(yīng)數(shù)字濾波器的技術(shù)指標,并選擇相應(yīng)的濾波器類型即可,也可利用simulink中的數(shù)字濾波器模塊進行,數(shù)字濾波器的設(shè)計與指標分析。</p>&l

19、t;p><b>  3 系統(tǒng)設(shè)計</b></p><p>  3.1 IIR濾波器的設(shè)計</p><p> ?。?)創(chuàng)建圖形化用戶界面</p><p>  在Blank GUI的空白窗體上放置面板控件、標簽控件以及編輯框、按鈕和組合框控件,并設(shè)置其屬性進行設(shè)置,最后保存結(jié)果。</p><p> ?。?)編寫控件回

20、調(diào)函數(shù)</p><p>  選中按鈕,打開其屬性設(shè)置對話框,找到“Callback”項,單擊其右側(cè)的圖標,會自動進入IIRMainForm.m文件的編輯界面。在系統(tǒng)所給的完整的結(jié)構(gòu)框架下輸入需要調(diào)用的代碼。例在function Button_A_Callback(hObject, eventdata, handles)下添加IIR_DispMag;同理,為其他五個按鈕建立的響應(yīng)函數(shù)如下:</p>&

21、lt;p>  function Button_P_Callback(hObject, eventdata, handles) %相位圖</p><p>  IIR_DispAngle;</p><p>  function Button_SP_Callback(hObject, eventdata, handles) %零、極點圖</p><p>  II

22、R_DispZplane;</p><p>  function Button_WAV_Callback(hObject, eventdata, handles) %打開波形文件</p><p>  IIR_GetWAVFile;</p><p>  function Button_Play1_Callback(hObject, eventdata, handle

23、s) %播放原始文件</p><p>  IIR_Playorg;</p><p>  function Button_Play2_Callback(hObject, eventdata, handles) %播放濾波后文件</p><p>  IIR_Playmod;</p><p>  (3)編寫功能子函數(shù)</p><

24、;p>  新建m文件,編寫各功能子函數(shù)的代碼,顯示幅度譜函數(shù)IIR_DispMag;顯示相位譜函數(shù)IIR_DispAngle;顯示極零點函數(shù)IIR_DispZplane;以及選擇波形文件函數(shù)IIR_GetWAVFile; 播放原始文件函數(shù)IIR_Playorg; 播放濾波后文件IIR_Playmod;</p><p><b>  3.2 系統(tǒng)框圖</b></p><

25、;p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  ↓</b></p><p>

26、;<b>  ↓</b></p><p><b>  ↓</b></p><p><b>  4 代碼編寫</b></p><p>  4.1 巴特沃斯低通與高通的實現(xiàn)代碼</p><p>  if(strcmp(fil_name,'巴特沃斯'))</p

27、><p>  if(strcmp(fil_type,'低通'))</p><p>  Wp=2*pi*f2/f1;</p><p>  Ws=2*pi*f3/f1;</p><p>  OmigaP=Wp*f1;</p><p>  OmigaS=Ws*f1;</p><p>  [

28、n W]=buttord(OmigaP,OmigaS,Rp,Rs,'s');</p><p>  [B A]=butter(n,W,'s');</p><p>  [num,den]=impinvar(B,A,f1);</p><p>  elseif(strcmp(fil_type,'高通'))</p>

29、<p>  Wp=2*pi*f2/f1;</p><p>  Ws=2*pi*f3/f1;</p><p>  OmigaP=Wp*f1;</p><p>  OmigaS=Ws*f1;</p><p>  [n W]=buttord(OmigaP,OmigaS,Rp,Rs,'s');</p><

30、;p>  [B A]=butter(n,W,'high','s');</p><p>  [num,den]=impinvar(B,A,f1); </p><p>  % msgbox('暫時只能低通濾波器!');</p><p>  % FlagYYY=0;</p><p>  4.2

31、 巴特沃斯帶通與帶阻實現(xiàn)代碼</p><p>  elseif(strcmp(fil_type,'帶通'))</p><p>  Wp=2*pi*[f2,f22]/f1;</p><p>  Ws=2*pi*[f3,f32]/f1;</p><p>  OmigaP=Wp*f1;</p><p>  

32、OmigaS=Ws*f1;</p><p>  [n W]=buttord(OmigaP,OmigaS,Rp,Rs,'s');</p><p>  [B A]=butter(n,W,'s');</p><p>  [num,den]=impinvar(B,A,f1); </p><p>  elseif(s

33、trcmp(fil_type,'帶阻'))</p><p>  Wp=2*pi*[f2,f22]/f1;</p><p>  Ws=2*pi*[f3,f32]/f1;</p><p>  OmigaP=Wp*f1;</p><p>  OmigaS=Ws*f1;</p><p>  [n W]=butt

34、ord(OmigaP,OmigaS,Rp,Rs,'s');</p><p>  [B A]=butter(n,W,'stop','s');</p><p>  [num,den]=impinvar(B,A,f1); </p><p><b>  end</b></p>

35、<p>  4.3 切比雪夫1低通與高通的實現(xiàn)代碼</p><p>  elseif(strcmp(fil_name,'切比雪夫1'))</p><p>  if(strcmp(fil_type,'低通'))</p><p>  Wp=2*pi*f2/f1;</p><p>  Ws=2*pi*f

36、3/f1;</p><p>  OmigaP=Wp*f1;</p><p>  OmigaS=Ws*f1;</p><p>  [n W]=cheb1ord(OmigaP,OmigaS,Rp,Rs,'s');</p><p>  [B A]=cheby1(n,Rp,W,'s');</p><

37、p>  [num,den]=impinvar(B,A,f1);</p><p>  elseif(strcmp(fil_type,'高通'))</p><p>  Wp=2*pi*f2/f1;</p><p>  Ws=2*pi*f3/f1;</p><p>  OmigaP=Wp*f1;</p><

38、p>  OmigaS=Ws*f1;</p><p>  [n W]=cheb1ord(OmigaP,OmigaS,Rp,Rs,'s');</p><p>  [B A]=cheby1(n,Rp,W,'high','s');</p><p>  [num,den]=impinvar(B,A,f1); </p&

39、gt;<p><b>  end</b></p><p>  4.4 切比雪夫2低通與高通的實現(xiàn)代碼</p><p>  elseif(strcmp(fil_name,'切比雪夫2'))</p><p>  if(strcmp(fil_type,'低通'))</p><p>

40、;  Wp=2*pi*f2/f1;</p><p>  Ws=2*pi*f3/f1;</p><p>  OmigaP=Wp*f1;</p><p>  OmigaS=Ws*f1;</p><p>  [n W]=cheb2ord(OmigaP,OmigaS,Rp,Rs,'s');</p><p>  

41、[B A]=cheby2(n,Rp,W,'s');</p><p>  [num,den]=impinvar(B,A,f1);</p><p>  elseif(strcmp(fil_type,'高通'))</p><p>  Wp=2*pi*f2/f1;</p><p>  Ws=2*pi*f3/f1;<

42、;/p><p>  OmigaP=Wp*f1;</p><p>  OmigaS=Ws*f1;</p><p>  [n W]=cheb2ord(OmigaP,OmigaS,Rp,Rs,'s');</p><p>  [B A]=cheby2(n,Rp,W,'high','s');</p>

43、;<p>  [num,den]=impinvar(B,A,f1); </p><p><b>  end</b></p><p>  % msgbox('暫時只針對巴特沃斯濾波器!');</p><p>  %FlagYYY=0;</p><p><b>  end</b&

44、gt;</p><p><b>  運行與調(diào)試</b></p><p><b>  5.1 運行界面</b></p><p>  圖5.1巴特沃斯低通濾波器</p><p>  圖5.2 巴特沃斯濾波器的幅頻特性</p><p>  圖5.3 巴特沃斯濾波器的相位譜<

45、/p><p>  圖5.4 巴特沃斯濾波器零極點分布圖</p><p>  圖5.5切比雪夫1高通濾波器</p><p>  圖5.6切比雪夫1濾波器幅頻特性</p><p>  圖5.7切比雪夫1濾波器相位譜</p><p>  圖5.8切比雪夫1濾波器零極點分布圖</p><p><b&g

46、t;  5.2 程序調(diào)試</b></p><p>  在設(shè)計帶通濾波器時,阻帶的下限要小于通帶的下限小于通帶的上限小于阻帶的上限,且采樣頻率的選取要大于2倍的最高頻率,這樣通帶才能運行起來。在運行過程中,一開始由于在設(shè)計組合框控件屬性時把value的值改成了0.0,0.1,導(dǎo)致程序運行不起來,經(jīng)過修改只要把value的值重新改為0.0即可。編寫完代碼發(fā)現(xiàn)如果不把IIR_GetWAVFile()中in

47、fo=['源信號-' name ';' str2num(time) '秒;fs=' str2num(freq) 'Hz']; info=info;刪掉的話就不能導(dǎo)入音頻文件。通過改變阻帶衰減可以很清楚地觀察到濾波的效果變好了。</p><p><b>  總結(jié)</b></p><p>  這次的課程設(shè)

48、計是IIR濾波器的分析與設(shè)計,是在MATLAB的環(huán)境下實現(xiàn)的。由于在指導(dǎo)書上已經(jīng)給了主要框架的設(shè)計以及部分實驗代碼,只要按照指導(dǎo)書上說的一步步做下去,并結(jié)合注釋加以理解便可設(shè)計出大概的框架出來。但在設(shè)計切比雪夫Ⅰ型濾波器的低通,高通和帶通帶阻濾波器的時候還是遇到了很多問題,代碼可以參照以前的實驗,老師上課所講的例題,但在用MATLAB設(shè)計框架這一塊還有很多不理解,比如guidata函數(shù)是如何將結(jié)構(gòu)handles與GUI界面共同保存起來,

49、handles結(jié)構(gòu)函數(shù)是如何實現(xiàn)不同回調(diào)函數(shù)之間共享用戶數(shù)據(jù)的功能的。但是對于Callback回調(diào)函數(shù)還是掌握了很多的。這次課程設(shè)計中,脈沖響應(yīng)不變法與雙線性變換法在平時已經(jīng)接觸很多了,脈沖響應(yīng)不變法的最大缺點是有頻率響應(yīng)的混疊效應(yīng)。所以,脈沖響應(yīng)不變法只適用于限帶的模擬濾波器(例如,衰減特性很好的低通或帶通濾波器),而且高頻衰減越快,混疊效應(yīng)越小。至于高通和帶阻濾波器,由于它們在高頻部分不衰減,因此將完全混淆在低頻響應(yīng)中。如果要對高通

50、和帶阻濾波器采用脈沖響應(yīng)不變法,就必須先對高通和帶阻濾波器加一保護濾波器,濾掉高于折疊頻率以上的頻率,然后再</p><p>  對于音頻濾波這一塊,可以很清楚地聽到在低通濾波時,音樂變慢了變低了,而在高通濾波時,音樂的聲音明顯變高變尖了??傊@次的課程設(shè)計掌握了很多,不僅鞏固了老師上課所講的內(nèi)容,還對MATLAB的其他功能有了更進一步的了解,對切比雪夫濾波器的設(shè)計也有了很多的了解,其功能實現(xiàn)的方法,原理,步驟

51、都掌握了一些。</p><p><b>  致謝</b></p><p>  首先,主要感謝計算機工程學院給我提供的一個這樣的實踐機會和實驗室人員提供的實驗環(huán)境以及指導(dǎo)教師的辛勤指導(dǎo),同組同學的互幫互助,參考文獻的原作者,以及其給我提供過幫助的所有人員。</p><p>  本次課程設(shè)計是在指導(dǎo)老師的帶領(lǐng)下完成的。課程設(shè)計從選題、實驗研究到

52、最后的成稿,都得到了老師的熱情鼓勵和悉心指導(dǎo),凝聚了老師許多心血。畫原理圖時,由于對軟件功能的不是很理解,很多錯誤都不知道怎么修改,通過詢問老師,老師很細心地給我講解,并告訴如何具體操作,一些常見的問題都給了我們解決的辦法。課程設(shè)計中也有很多代碼不是很理解,老師給我們修改、調(diào)試到出結(jié)果。真的很感謝老師給我們這么多幫助。無論課上還是課后,只要我們有問題,老師都會抽出時間幫自己調(diào)試,不孜不倦,老師向我們展示了他們負責認真的一面,他們的耐心使

53、我們的成果有了希望,他們的負責認真告訴我們只要努力是可以成功的,在此謹向尊敬的老師致以由衷的感謝和崇高的敬意!在本次課程設(shè)計的選題、研究與實驗過程中,得到了許多同學的大力幫助,在此表示衷心的感謝!</p><p>  其次要感謝和我一起作課程設(shè)計的組員,他們讓我在課程設(shè)計看見了什么是努力,什么是拼命,我們一起討論,一起找地方調(diào)試、運行。遇到問題,集總體的智慧去解決,一種方案不行就換另一種方式解決,重新編譯代碼,重

54、新運行調(diào)試,努力向前,有疲累,有痛苦,但繼續(xù)堅持,不后退。他們讓我知道了團結(jié)的力量,讓我知道了眾人的智慧會有無限的可能,因為他們,自己可以重拾信心,可以有勇氣克服種種困難,更能夠?qū)W到很多的知識,真的,衷心地感謝大家。</p><p><b>  參 考 文 獻</b></p><p><b>  1 : </b></p><

55、p>  1 王永玉,孫衢.數(shù)字信號處理及應(yīng)用實驗教程與習題解答.北京:北京郵電大學出版社,2009</p><p>  2 王永玉,孫衢.數(shù)字信號處理及應(yīng)用.北京:北京郵電大學出版社,2009</p><p>  3 萬永革.數(shù)字信號處理的MATLAB實現(xiàn).北京:科學出版社,2007</p><p>  4 谷萩隆嗣,王友功譯著.數(shù)字濾波器與信號處理.北京:科

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論