新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > matlab濾波器設(shè)計-IIR濾波器的設(shè)計與仿真

matlab濾波器設(shè)計-IIR濾波器的設(shè)計與仿真

作者: 時間:2011-06-04 來源:網(wǎng)絡(luò) 收藏

1 引言
在現(xiàn)代通信系統(tǒng)中,由于信號中經(jīng)常混有各種復(fù)雜成分,所以很多信號的處理和分析都是基于而進(jìn)行的。但是,傳統(tǒng)的數(shù)字使用繁瑣的公式計算,改變參數(shù)后需要重新計算,從而在尤其是高階濾波器時工作量很大。利用MATLAB信號處理箱(Signal Processing Toolbox)可以快速有效地實現(xiàn)數(shù)字濾波器的。

本文引用地址:http://butianyuan.cn/article/150648.htm

2 數(shù)字濾波器及傳統(tǒng)設(shè)計方法
數(shù)字濾波器可以理解為是一個計算程序或算法,將代表輸入信號的數(shù)字時間序列轉(zhuǎn)化為代表輸出信號的數(shù)字時間序列,并在轉(zhuǎn)化過程中,使信號按預(yù)定的形式變化。數(shù)字濾波器有多種分類,根據(jù)數(shù)字濾波器沖激響應(yīng)的時域特征,可將數(shù)字濾波器分為兩種,即無限長沖激響應(yīng)(IIR)濾波器和有限長沖激響應(yīng)(FIR)濾波器。
IIR數(shù)字濾波器具有無限寬的沖激響應(yīng),與模擬濾波器相匹配,所以IIR濾波器的設(shè)計可以采取在模擬濾波器設(shè)計的基礎(chǔ)上進(jìn)一步變換的方法。其設(shè)計方法主要有經(jīng)典設(shè)計法、直接設(shè)計法和最大平滑濾波器設(shè)計法。FIR數(shù)字濾波器的單位脈沖響應(yīng)是有限長序列。它的設(shè)計問題實質(zhì)上是確定能滿足所要求的轉(zhuǎn)移序列或脈沖響應(yīng)的常數(shù)問題,設(shè)計方法主要有窗函數(shù)法、頻率采樣法和等波紋最佳逼近法等。
在對濾波器實際設(shè)計時,整個過程的運(yùn)算量是很大的。設(shè)計階數(shù)較高的IIR濾波器時,計算量更大,設(shè)計過程中改變參數(shù)或濾波器類型時都要重新計算。
設(shè)計完成后對已設(shè)計的濾波器的頻率響應(yīng)要進(jìn)行校核。要得到幅頻、相頻響應(yīng)特性,運(yùn)算量也是很大的。平時所要設(shè)計的數(shù)字濾波器,階數(shù)和類型并不一定是完全給定的,很多時候要根據(jù)設(shè)計要求和濾波效果不斷地調(diào)整,以達(dá)到設(shè)計的最優(yōu)化。在這種情況下,濾波器設(shè)計就要進(jìn)行大量復(fù)雜的運(yùn)算,單純的靠公式計算和編制簡單的程序很難在短時間內(nèi)完成。利用MATLAB強(qiáng)大的計算功能進(jìn)行計算機(jī)輔助設(shè)計,可以快速有效地設(shè)計數(shù)字濾波器,大大地簡化了計算量。

3 IIR濾波器的MATLAB設(shè)計
3.1 FDATool界面設(shè)計
3.1.1 FDATool的介紹
FDATool(Filter DesignAnalysis Tool)是MATLAB信號處理工具箱里專用的濾波器設(shè)計分析工具,MATLAB 6.O以上的版本還專門增加了濾波器設(shè)計工具箱(Filter Design Toolbox)。FDATool可以設(shè)計幾乎所有的常規(guī)濾波器,包括FIR和IIR的各種設(shè)計方法。它操作簡單,方便靈活。
FDATool。界面總共分兩大部分,一部分是Design Filter。在界面的下半部,用來設(shè)置濾波器的設(shè)計參數(shù);另一部分則是特性區(qū),在界面的上半部分,用來顯示濾波器的各種特性。Design Filter部分主要分為:Filter Type(濾波器類型)選項,包括Lowpass(低通)、Highpass(高通)、Bandpass(帶通)、Bandstop(帶阻)和特殊的FIR濾波器。
Design Method(設(shè)計方法)選項,包括IIR濾波器的Butterwotth(巴特沃思)法、Chebyshev Type I(切比雪夫I型)法、Chebyshev Type II(切比雪夫II型)法、Elliptic(橢圓濾波器)法和FIR濾波器的Equiripple法、Least-Squares(最小乘方)法、Window(窗函數(shù))法。
Filter Order(濾波器階數(shù))選項,定義濾波器的階數(shù),包括Specify Order(指定階數(shù))和Minimum Order(最小階數(shù))。在Specify Order中填入所要設(shè)計的濾波器的階數(shù)(N階濾波器,Specify Order=N-1)。如果選擇Minimum Order,則MATLAB根據(jù)所選擇的濾波器類型自動使用最小階數(shù)。
Frequency Specifications選項,可以詳細(xì)定義頻帶的各參數(shù),包括采樣頻率和頻帶的截止頻率。它的具體選項由Filter Type選項和Design Method選項決定。例如Bandpass(帶通)濾波器需要定義Fstop1(下阻帶截止頻率)、Fpass1(通帶下限截止頻率)、Fpass2(通帶上限截止頻率)、Fstop2(上阻帶截止頻率),而Lowpass(低通)濾波器只需要定義Fstop1、Fpass1。采用窗函數(shù)設(shè)計濾波器時,由于過渡帶是由窗函數(shù)的類型和階數(shù)所決定,所以只需定義通帶截止頻率,而不必定義阻帶參數(shù)。
Magnitude Specifications選項,可以定義幅值衰減的情況。例如設(shè)計帶通濾波器時,可以定義Wstop1(頻率Fstop1處的幅值衰減)、Wpass(通帶范圍內(nèi)的幅值衰減)、Wstop2(頻率Fstop2處的幅值衰減)。當(dāng)采用窗函數(shù)設(shè)計時,通帶截止頻率處的幅值衰減固定為6db,所以不必定義。
Window Specifications選項,當(dāng)選取采用窗函數(shù)設(shè)計,該選項可定義,它包含了各種窗函數(shù)。

3.1.2 IIR濾波器設(shè)計實例
本文以一個IIR濾波器的設(shè)計為例說明如何使用MATLAB設(shè)計數(shù)字濾波器。要求設(shè)計一個10階的帶通Chebyshev I濾波器,它的通帶范圍是100到200Hz,采樣頻率為1000Hz,Rp=0.5。
本例中,首先在Filter Type中選擇Bandpass(帶通濾波器);在Design Method選項中選擇IIR,接著在相鄰的右則選項中選擇Chebyshev I(切比雪夫I型);指定Filter Order項中的Specify Order=10;由于采用的是切比雪夫設(shè)計,不必在Options中選擇;然后在Frequency Specifications中選擇Unit為Hz,給出采樣頻率Fs=1000,通帶Fpass1=100和Fpass2=200;最后在Magnitude Specifications中選擇Unit為db,Apass=0.5。設(shè)置完成后
點擊Design Filter即可得到所設(shè)計的IIR濾波器。通過菜單選項Analysis可以在特性區(qū)看到所設(shè)計的幅頻響應(yīng)、相頻響應(yīng)、沖擊響應(yīng)和零極點配置等特性,如圖1所示。設(shè)計完成后將結(jié)果保存為filterl.fda文件。



圖1濾波器的幅頻、相頻和沖激響應(yīng)(特性區(qū))


上一頁 1 2 下一頁

關(guān)鍵詞: 濾波器 設(shè)計 仿真 -IIR matlab

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉