版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 數(shù)字信號處理課程設(shè)計報告</p><p> 2011 年 01 月 08 日</p><p><b> 摘要:</b></p><p> 數(shù)字濾波器在數(shù)字信號處理領(lǐng)域中已經(jīng)得到廣泛的應(yīng)用。利用MATLAB的數(shù)字濾波器設(shè)計工具可以快速有效地設(shè)計各種IIR數(shù)字濾波器,設(shè)計簡單方便。在設(shè)計過程中可以隨時對比設(shè)計要求和濾波器
2、特性,并可通過不斷調(diào)整參數(shù),以使濾波器的設(shè)計得到最優(yōu)化。本文所設(shè)計的IIR濾波器采用間接方法,借助模擬濾波器的設(shè)計方法進(jìn)行的。其設(shè)計步驟是:先設(shè)計過渡模擬濾波器得到系統(tǒng)函數(shù),然后將模擬濾波器系統(tǒng)函數(shù)按脈沖響應(yīng)不變法轉(zhuǎn)換成數(shù)字濾波器的系統(tǒng)函數(shù)。濾波器的使用者不僅可以看到相應(yīng)類型濾波器的頻響圖和零、極點圖,還可以通過音頻文件進(jìn)行功能測試,從而實現(xiàn)濾波器的最優(yōu)化。</p><p> 關(guān)鍵詞:MATLAB;IIR數(shù)字濾
3、波器;脈沖響應(yīng)不變法;×××</p><p><b> 1 課程綜述</b></p><p> 1.1 課題的來源和意義</p><p> 隨著信息時代和數(shù)字世界的到來,數(shù)字信號處理已成為當(dāng)今一門極其重要的學(xué)科和技術(shù)領(lǐng)域。目前數(shù)字信號處理在通信、語音、圖像、自動控制、雷達(dá)、軍事、航空航天、醫(yī)療和家用電器等
4、眾多領(lǐng)域得到了廣泛的應(yīng)用。在數(shù)字信號處理中起著重要的作用并已獲得廣泛應(yīng)用的是數(shù)字濾波器,根據(jù)其單位沖激響應(yīng)函數(shù)的時域特性可分為兩類:無限沖激響應(yīng)IIR濾波器和有限沖激響應(yīng)FIR濾波器。與FIR濾波器相比,IIR濾波器的實現(xiàn)采用的是遞歸結(jié)構(gòu),極點須在單位圓內(nèi),在相同設(shè)計指標(biāo)下,實現(xiàn)IIR濾波器的階次較低,即所用的存儲單元少,從而經(jīng)濟效率高。</p><p><b> 1.2 預(yù)期目標(biāo)</b>
5、;</p><p> IIR數(shù)字濾波器可以通過巴特沃斯、切比雪夫I和切比雪夫II三種類型的模擬濾波器,采用脈沖響應(yīng)不變法實現(xiàn)IIR數(shù)字低通、高通、帶通和帶阻濾波器;同時,還具有測試功能,濾波器的使用者可以選擇音頻對濾波器的效果進(jìn)行測試。</p><p> 1.3 面對的問題及解決問題的關(guān)鍵技術(shù)</p><p> MATLAB是于1984年由美國MathWor
6、ks公司推出,該軟件具有使用簡單、方便,易編程,語言簡練,函數(shù)庫可任意擴充,采用全新數(shù)據(jù)類型和面向?qū)ο缶幊碳夹g(shù)等特點,有強大的數(shù)值分析、矩陣運算、圖形繪制、數(shù)據(jù)處理等功能,因此已被廣泛應(yīng)用在教學(xué)、科研和工程設(shè)計的各個領(lǐng)域。隨著MATLAB軟件的信號處理工具箱的推出,如今MATLAB已經(jīng)成為信號與信息處理,特別是數(shù)字信號處理應(yīng)用中分析與仿真設(shè)計的主要工具。傳統(tǒng)的濾波器分析與設(shè)計均使用繁瑣的公式計算,改變參數(shù)后需要重新運算,從而在分析與設(shè)計
7、濾波器尤其是高階濾波器時工作量特別大,利用MATLAB信號處理工具箱可以快速而有效地實現(xiàn)濾波器的分析、設(shè)計與仿真。</p><p><b> 2 系統(tǒng)分析</b></p><p> 2.1 涉及的基礎(chǔ)知識</p><p> 濾波器,是指對輸入信號起到濾波作用的系統(tǒng),其時域輸入輸出關(guān)系為:,假定、的傅里葉變換均存在,則濾波器輸入輸出的頻
8、域關(guān)系為。</p><p> 數(shù)字濾波器是一種用來過濾時間離散信號的數(shù)字系統(tǒng),通過對抽樣數(shù)據(jù)進(jìn)行數(shù)字處理來達(dá)到頻域濾波的目的。數(shù)字濾波器也是具有一定傳輸選擇特性的數(shù)字信號處理裝置,其輸入、輸出均為數(shù)字信號,實質(zhì)上是一個由有限精度算法實現(xiàn)的線性時不變離散系統(tǒng)。設(shè)計IIR濾波器的任務(wù)就是尋求一個物理上可實現(xiàn)的系統(tǒng)函數(shù),使其頻率響應(yīng)滿足所希望得到的頻域指標(biāo),即符合給定的通帶截止頻率、阻帶截止頻率、通帶最大衰減、阻帶最
9、小衰減。</p><p> 2.1.1 三種模擬原型濾波器</p><p><b> 1.濾波器的特點:</b></p><p> (1)巴特沃斯濾波器:從通帶中心向兩邊幅頻特性單調(diào)下降。</p><p> (2)切比雪夫I濾波器:通帶內(nèi)有等紋幅頻特性函數(shù),阻帶內(nèi)有單調(diào)下降的幅頻特性函數(shù)。</p>
10、<p> (3)切比雪夫II濾波器:通帶內(nèi)有單調(diào)下降的幅頻特性函數(shù),阻帶內(nèi)有等紋幅頻特性函數(shù)。</p><p><b> 2.兩種低通逼近法</b></p><p> (1)巴特沃斯濾波器低通逼近法</p><p> 巴特沃斯低通濾波器幅度平方函數(shù)定義為</p><p> 式中,N為正整數(shù),代表濾波
11、器的階數(shù)。</p><p> (2)切比雪夫低通逼近法</p><p> 2.2 解決問題的基本思路</p><p> 數(shù)字濾波器按單位脈沖相應(yīng)h(n)的時域特性可分為無限長脈沖響應(yīng)IIR濾波器和有限長脈沖響應(yīng)FIR濾波器。其中IIR濾波器一般采用遞歸型的實現(xiàn)結(jié)構(gòu),其N階遞歸型數(shù)字濾波器的差分方程為:</p><p><b>
12、; (2-1)</b></p><p> 系數(shù)至少有一項不為零,說明必須將延時的輸出序列反饋回來。相應(yīng)的IIR濾波器的系統(tǒng)函數(shù)為:</p><p><b> (2-2)</b></p><p> IIR濾波器的系統(tǒng)函數(shù)的設(shè)計就是確定各系數(shù),或零極點,,A,以使濾波器滿足給定的性能要求。</p><p>
13、; 本課題利用模擬濾波器的理論來設(shè)計數(shù)字濾波器。首先,設(shè)計一個合適的模擬濾波器,然后用脈沖響應(yīng)不變法變換成滿足預(yù)定指標(biāo)的數(shù)字濾波器,即從已知的模擬濾波器傳遞函數(shù)設(shè)計數(shù)字濾波器的系統(tǒng)函數(shù)。</p><p> 脈沖響應(yīng)不變法是從濾波器的脈沖響應(yīng)出發(fā),使數(shù)字濾波器的單位脈沖響應(yīng)序列h(n)模仿模擬濾波器的沖激響應(yīng),將等間隔采樣,使h(n)正好等于的采樣值。</p><p><b>
14、 (2-3)</b></p><p> 再對h(n)求Z變換,即得數(shù)字濾波器的系統(tǒng)函數(shù):</p><p><b> (2-4)</b></p><p><b> 具體步驟:</b></p><p> (1)將數(shù)字濾波器設(shè)計指標(biāo)轉(zhuǎn)換為相應(yīng)的模擬濾波器指標(biāo)。</p>
15、<p> (2)設(shè)計相應(yīng)的模擬濾波器,得到模擬系統(tǒng)函數(shù)。</p><p> (3)將模擬濾波器系統(tǒng)函數(shù)轉(zhuǎn)換成數(shù)字濾波器系統(tǒng)函數(shù)。</p><p><b> 2.3 總體方案</b></p><p> 創(chuàng)建圖形化用戶界面。</p><p><b> 編寫控件回調(diào)函數(shù)</b><
16、;/p><p> 在MATLAB的圖形用戶界面應(yīng)用程序中,控件主要響應(yīng)用戶的鼠標(biāo)單擊動作。響應(yīng)鼠標(biāo)動作的方法通過編寫回調(diào)函數(shù)來完成。回調(diào)函數(shù)是指在界面控件被選中的時候,響應(yīng)動作的M語言函數(shù)。回調(diào)函數(shù)主要完成的功能是:(1)獲取發(fā)出動作的對象句柄;(2)根據(jù)發(fā)出的動作,設(shè)置影響的對象屬性。</p><p><b> 編寫功能子函數(shù)</b></p><
17、p> (1)函數(shù)IIR_Createfilter,用于根據(jù)設(shè)定參數(shù)創(chuàng)建數(shù)字濾波器。</p><p> (2)顯示幅度譜函數(shù)IIR_DispMag。</p><p> (3)顯示相位譜函數(shù)IIR_DispAngle。</p><p> (4)顯示零極點圖函數(shù)IIR_DispZplane。</p><p> (5)選擇波形文件函數(shù)
18、IIR_GetWAVFile。</p><p> (6)播放原始波形文件函數(shù)IIR_Playorg。</p><p> (7)顯示幅度譜函數(shù)IIR_Dispmod。</p><p> 2.3 功能模塊框圖</p><p> 圖2.1 功能模塊框圖</p><p><b> 3 系統(tǒng)設(shè)計</
19、b></p><p><b> 3.1 算法描述</b></p><p> 1.函數(shù)IIR_Createfilter():</p><p> function[num,den,FsCY,FlagYYY]=IIR_Createfilter()</p><p><b> num=[];</b&
20、gt;</p><p><b> den=[];</b></p><p> FlagYYY=1;</p><p> hndl=gcbf;</p><p> name_hndl=findobj(hndl,'Tag','PMenu_Fileter'); %獲取控件句柄</
21、p><p> str1_full=get(name_hndl,'String'); %獲取控件的文本信息</p><p> val=get(name_hndl,'Value'); %獲取組合框選項的索引號</p><p> fil_name=str1_full{v
22、al}; %獲取索引號對應(yīng)的文本</p><p> set(name_hndl,'UserData',fil_name); %將文本信息設(shè)置到UserData</p><p> type_hndl=findobj(hndl,'Tag','PMenu_Fileter_Style
23、');</p><p> str2_full=get(type_hndl,'String');</p><p> val=get(type_hndl,'Value');</p><p> fil_type=str2_full{val};</p><p> set(type_hndl,'U
24、serData',fil_type);</p><p> pbr_hndl=findobj(hndl,'Tag','P_Rp'); %通帶最大衰減 </p><p> val=str2num(get(pbr_hndl,'string'));</p><p> set(pb
25、r_hndl,'UserData',val);</p><p> sbr_hndl=findobj(hndl,'Tag','S_Rs'); %阻帶最小衰減</p><p> val=str2num(get(sbr_hndl,'string'));</p><p> s
26、et(sbr_hndl,'UserData',val);</p><p> f1_hndl=findobj(hndl,'Tag','CY_Fs'); %采樣頻率 </p><p> val=str2num(get(f1_hndl,'string'));</p><
27、p> set(f1_hndl,'UserData',val);</p><p> f2_hndl=findobj(hndl,'Tag','P_Fp'); %通帶截止頻率</p><p> val=str2num(get(f2_hndl,'string'));</p>
28、<p> set(f2_hndl,'UserData',val);</p><p> f3_hndl=findobj(hndl,'Tag','S_Fs'); %阻帶截止頻率</p><p> val=str2num(get(f3_hndl,'string'));</p&g
29、t;<p> set(f3_hndl,'UserData',val);</p><p> fil_name=get(name_hndl,'UserData');</p><p> fil_type=get(type_hndl,'UserData');</p><p> Rp=get(pbr_hnd
30、l,'UserData');</p><p> Rs=get(sbr_hndl,'UserData');</p><p> f1=get(f1_hndl,'UserData');</p><p><b> FsCY=f1;</b></p><p> f2=get(f
31、2_hndl,'UserData');</p><p> f3=get(f3_hndl,'UserData');</p><p> f22_hndl=findobj(hndl,'Tag','P_Fp2');</p><p> val=str2num(get(f22_hndl,'string
32、'));</p><p> set(f22_hndl,'UserData',val);</p><p> f32_hndl=findobj(hndl,'Tag','S_Fs2');</p><p> val=str2num(get(f32_hndl,'string'));</p>
33、;<p> set(f32_hndl,'UserData',val);</p><p> f22=get(f22_hndl,'UserData');</p><p> f32=get(f32_hndl,'UserData');</p><p> %模擬濾波器原型為巴特沃斯濾波器</p>
34、<p> if(strcmp(fil_name,'巴特沃斯'))</p><p> %數(shù)字低通濾波器的設(shè)計</p><p> if(strcmp(fil_type,'低通'))</p><p> Wp=2*pi*f2/f1; %數(shù)字濾波指標(biāo)</p>&l
35、t;p> Ws=2*pi*f3/f1;</p><p> OmigaP=Wp*f1; %把數(shù)字濾波指標(biāo)轉(zhuǎn)換為模擬濾波指標(biāo)</p><p> OmigaS=Ws*f1;</p><p> [n W]=buttord(OmigaP,OmigaS,Rp,Rs,'s');</p><
36、;p> %計算相應(yīng)的模擬濾波器階數(shù)N和3dB截止頻率W</p><p> [B A]=butter(n,W,'s'); %計算相應(yīng)的模擬濾波器系統(tǒng)函數(shù)</p><p> [num,den]=impinvar(B,A,f1); %用脈沖響應(yīng)不變法將模擬濾波器轉(zhuǎn)換成數(shù)字濾波器</p><p> %數(shù)字高通濾波器的設(shè)計&l
37、t;/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><p> OmigaS=Ws*f1;</p><
38、p> [n W]=buttord(OmigaP,OmigaS,Rp,Rs,'s');</p><p> [B A]=butter(n,W,'high','s');</p><p> [num,den]=impinvar(B,A,f1); </p><p> %數(shù)字帶通濾波器的設(shè)計</p>
39、<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> OmigaS=Ws*f1;</p>&l
40、t;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> %數(shù)字帶阻濾波器的設(shè)計</p><p> e
41、lseif(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> OmigaS=Ws*f1;</p><p> [n
42、W]=buttord(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><
43、/p><p> %模擬濾波器原型為切比雪夫1濾波器</p><p> elseif(strcmp(fil_name,'切比雪夫1'))</p><p> %數(shù)字低通濾波器的設(shè)計</p><p> if(strcmp(fil_type,'低通'))</p><p> Wp=2*pi*
44、f2/f1;</p><p> Ws=2*pi*f3/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]=cheby
45、1(n,Rp,W,'s');</p><p> [num,den]=impinvar(B,A,f1);</p><p> %數(shù)字高通濾波器的設(shè)計</p><p> elseif(strcmp(fil_type,'高通'))</p><p> Wp=2*pi*f2/f1;</p><p
46、> Ws=2*pi*f3/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,'high'
47、,'s');</p><p> [num,den]=impinvar(B,A,f1); </p><p><b> End</b></p><p> %模擬濾波器原型為切比雪夫2濾波器</p><p> elseif(strcmp(fil_name,'切比雪夫2'))</p&
48、gt;<p> %數(shù)字低通濾波器的設(shè)計</p><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> Omig
49、aS=Ws*f1;</p><p> [n W]=cheb2ord(OmigaP,OmigaS,Rp,Rs,'s');</p><p> [B A]=cheby2(n,Rp,W,'s');</p><p> [num,den]=impinvar(B,A,f1);</p><p> %數(shù)字高通濾波器的設(shè)計
50、</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><p> OmigaS=Ws*f1;</p>&l
51、t;p> [n W]=cheb2ord(OmigaP,OmigaS,Rp,Rs,'s');</p><p> [B A]=cheby2(n,Rp,W,'high','s');</p><p> [num,den]=impinvar(B,A,f1); </p><p><b> End</b
52、></p><p> 3.2 詳細(xì)流程圖</p><p><b> 4 運行與測試</b></p><p><b> 1.圖形化用戶界面</b></p><p><b> 2.</b></p><p><b> 3.<
53、/b></p><p><b> 致謝</b></p><p> 首先,衷心地感謝淮陰工學(xué)院、計算機工程學(xué)院提供的實踐機會,實驗室人員提供的舒適的實驗環(huán)境!</p><p> 本論文是在老師們的親切關(guān)懷和悉心指導(dǎo)下完成的。老師們嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵著我。從課題的選擇到項目的最終完成
54、,老師都始終給予我細(xì)心地指導(dǎo)和不懈的支持。在此向老師致以誠摯的謝意和崇高的敬意。</p><p> 同時,我還要感謝我們小組的其他成員,雖然時間緊迫,我們?nèi)杂淇斓囟冗^了這短暫的課程設(shè)計周,正是由于你們的幫助和支持,我才能克服一個一個的困難喝疑惑,直至本文的順利完成,特別感謝我的同學(xué),他們對本課題做了不少工作,給予我不少的幫助。</p><p> 最后,對所參考的文獻(xiàn)原作者,以及其他提供
55、幫助的所有人員和機構(gòu)表示真誠的謝意!</p><p><b> 參 考 文 獻(xiàn)</b></p><p> 1 高西全,丁玉美.數(shù)字信號處理.第3版.西安:西安電子科技大學(xué)出版社,2008</p><p> 2 王世一.數(shù)字信號處理.北京:北京工業(yè)學(xué)院出版社,1987</p><p> 3 劉波.MATLAB信號處
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- iir帶通濾波器課程設(shè)計
- iir帶通濾波器課程設(shè)計
- iir數(shù)字濾波器課程設(shè)計
- iir數(shù)字濾波器的設(shè)計課程設(shè)計
- 課程設(shè)計----基于dsp的iir_濾波器的設(shè)計
- 課程設(shè)計---iir數(shù)字低通濾波器的matlab實現(xiàn)
- dsp課程設(shè)計--iir數(shù)字濾波器的設(shè)計
- 課程設(shè)計---利用fdatool設(shè)計iir數(shù)字濾波器
- 《數(shù)字信號處理》課程設(shè)計--iir模擬低通濾波器
- 基于matlab的iir與fir濾波器的課程設(shè)計
- 數(shù)字信號處理課程設(shè)計報告----iir濾波器的設(shè)計
- 基于matlab的iir數(shù)字濾波器的課程設(shè)計
- iir數(shù)字濾波器的dsp實現(xiàn)課程設(shè)計報告
- 語音濾波器課程設(shè)計--語音濾波器
- 數(shù)字信號處理課程設(shè)計報告---iir濾波器分析與設(shè)計
- 數(shù)信號處理課程設(shè)計-- iir數(shù)字濾波器的設(shè)計
- 基于dsp的iir濾波器設(shè)計
- 語音濾波器課程設(shè)計
- 語音濾波器課程設(shè)計
- 課程設(shè)計--帶通濾波器
評論
0/150
提交評論