matlab濾波器設計-IIR濾波器的設計與仿真

2021-01-10 電子產品世界

1 引言
在現代通信系統中,由於信號中經常混有各種複雜成分,所以很多信號的處理和分析都是基於濾波器而進行的。但是,傳統的數字濾波器的設計使用繁瑣的公式計算,改變參數後需要重新計算,從而在設計濾波器尤其是高階濾波器時工作量很大。利用MATLAB信號處理箱(Signal Processing Toolbox)可以快速有效地實現數字濾波器的設計與仿真。

本文引用地址:http://www.eepw.com.cn/article/150648.htm

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

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

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



圖1濾波器的幅頻、相頻和衝激響應(特性區)


相關焦點

  • 一種改進型的FIR數字濾波器設計
    在數位訊號處理中,濾波佔有極其重要的作用,數字濾波器是譜分析、雷達信號處理、通信信號處理應用中的基本處理算法。目前常用的濾波器設計方法普遍採用matlab仿真,dsp實現。但這一傳統設計方法需要的開發周期較長,且設計過程反覆進行,非常不便。
  • 基於Matlab的IIR數字濾波器設計
    Matlab信號處理工具箱提供了豐富的設計方法,可以使得繁瑣的程序設計簡化成函數的調用,只要以正確的指標參數調用函數,就可以正確快捷地得到設計結果。  1 IIR數字濾波器設計方法比較  1.1 概述  IIR數字濾波器的最通用的方法是藉助於模擬濾波器的設計方法。
  • matlab中的成型濾波器設計
    matlab 中成型濾波器設計有好幾個函數:rcosineFd=9600;Fs=38.4e3;[num,den] = rcosine(Fd,Fs,'sqrt',0.25);freqz(num);其中的Fd表示輸入數據的採樣率
  • 用matlab設計的IIR濾波器源程序-IIR一階低通/高通
    用matlab設計的IIR濾波器源程序(1)IIR一階低通濾波器 P576clear;fi=1;fs=10;Gc2=0.9;wc=2*pi*fi/fs; omegac=tan(wc/2);alpha=(sqrt
  • 基於MATLAB的理想低通濾波器的設計
    打開APP 基於MATLAB的理想低通濾波器的設計 發表於 2018-01-26 13:34:52 對於不同濾波器而言,每個頻率的信號的強弱程度不同
  • 基於Matlab的FIR數字濾波器設計方案
    最後通過建模和仿真證明,本方案中設計的濾波器能夠快速有效組成的常規數字濾波器, 實現不同截止頻率的FIR濾波器,極大地減輕了工作量,實用性較強。  相對於IIR數字濾波器,FIR濾波器以其線性相位的極大優勢得到了更加長足的發展。數字濾波器可以用硬體或軟體兩種方式來實現,而後者的優點是可以通過改變濾波器參數去調整整體性能,而MATLAB所提供的信號處理工具箱具有強大的函數功能,它不僅可以用來設計數字濾波器,還可以使設計達到最憂化,因此它成為了FIR數字濾波器設計的強有力的工具。
  • IIR數字濾波器的Matlab和FPGA實現
    摘要:提出一種通過兩個二階節級聯構成四階IIR數字橢圓濾波器的設計方法,並利用Matlab仿真軟體設計了通帶內波紋不大於0.1 dB,阻帶衰減不小於42 dB的IIR數字濾波器。論述了一種採用可編程邏輯器件,通過VHDL硬體描述語言實現該濾波器的方法。
  • 基於Matlab的無失真模擬濾波器設計
    分別給出各個濾波器的設計過程、仿真結果、實際電路圖,並在最後給出了經過無失真濾波器後輸出信號的眼圖。眼圖結果表明,無失真濾波器的幅頻、相頻特性良好。說明用Matlab設計模擬濾波器的設計一般包括兩個方面:根據技術指標即濾波器的幅頻特性確定濾波器的傳遞函數H(s);設計實際網絡實現這一傳遞函數。設計濾波器H(s)的關鍵是找到逼近函數,目前已有多種逼近函數。
  • 基於Matlab的FIR數字濾波器設計
    摘要:提出FIR敷字濾波器的設計方案,並基於Matlab實現濾波仿真。通過使用Matlab信號處理工具箱提供的函數,選擇適當的窗函數編寫程序,其中窗函數按照實際信號的處理需求,參數折中選擇。實驗獲得了比較理想的濾波器特性,可以實現較好的濾波作用。
  • Matlab輔助DSP設計FIR數字濾波器
    以往一般是由開發工具CCS把DSP中間結果先保存,再調入Matlab工作空間與:Matlab仿真中間結果比較,以此發現DSP程序的不足,這需要反覆操作,比較麻煩。  下面利用Matlab與CCS及目標DSP的連接利用Matlab輔助DSP實現一個低通FIR數字濾波器並把實現的濾波結果和Matlab中仿真的濾波結果進行比較。
  • FIR與IIR濾波器的區別與特點比較
    3、IIR數字濾波器可以藉助成熟的模擬濾波器的成果,如巴特沃斯、契比雪夫和橢圓濾波器等,有現成的設計數據或圖表可查,其設計工作量比較小,對計算工具的要求不高。在設計一個IIR數字濾波器時,我們根據指標先寫出模擬濾波器的公式,然後通過一定的變換,將模擬濾波器的公式轉換成數字濾波器的公式。 4、IIR數字濾波器的相位特性不好控制,對相位要求較高時,需加相位校準網絡。
  • 基於FPGA的巴特沃茲IIR數字帶通濾波器設計
    其中IIR數字濾波器和FIR數字濾波器是目前人們使用較多的兩種。數字濾波器通常採用計算機軟體、專用數字濾波器、DSP器件或可編程邏輯器件(如FPGA) 實現。因為,用FPGA實現數字濾波器具有實時性強、靈活性高、處理速度快以及小批量生產成本低等優點,所以得到了較為廣泛的應用。本文以巴特沃思數字帶通濾波器為例,較為詳細地介紹了其設計和實現方法。
  • X波段微帶帶通濾波器的仿真設計
    X波段微帶帶通濾波器的仿真設計 佚名 發表於 2010-11-25 08:48:51   氧化鋁陶瓷基板上薄膜無源元件混合電路過去常用於要求高精度、長期穩定可靠、中等功耗和頻率不超過100MHz的應用。
  • 基於FPGA+MATLAB的串行多階FIR濾波器設計
    為說明使用FPGA實現FIR的靈活性,文中列舉了一個多階串行FIR濾波器實例,並給出主要的原始碼和相關模塊的時序和功能說明,最後使用Matlab和Quartusii聯合仿真驗證了FPGA硬濾波器工程的正確性。
  • FIR濾波器設計方案
    常用的濾波器有無限長單位脈衝響應(ⅡR)濾波器和有限長單位脈衝響應(FIR)濾波器兩種,其中,FIR濾波器能提供理想的線性相位響應,在整個頻帶上獲得常數群時延從而得到零失真輸出信號,同時它可以採用十分簡單的算法實現,這兩個優點使FIR濾波器成為明智的設計工程師的首選,在採用VHDL或VerilogHDL等硬體描述語言設計數字濾波器時,由於程序的編寫往往不能達到良好優化而使濾波器性能表現一般。
  • 基於Matlab和Visual C++的數字濾波器設計方法
    所以文中提出一種以模擬濾波器為基準,設計具有相同功能而且參數可調的數字濾波器的方法。並以二階RC無源低通濾波電路為例對此過程進行說明,與模擬濾波電路和傳統的數字濾波相比,該方法不僅比傳統的數字濾波算法簡單快捷,而且可有效防止模擬電路中器件的寄生參數、精度、溫度等的影響,使濾波更加穩定。
  • 基於MATLAB的數字基帶傳輸的 FIR濾波器的設計
    為了解決理想低通特性存在的問題,可採用升餘弦滾降特性的系統,以使理想低通濾波器的邊緣緩慢下降,並使振幅特性在滾降段中心頻率處呈奇對稱,從而保證滿足奈奎斯特第一準則。這種系統可減小碼間串擾和位定時誤差。 由於FIR數字濾波器可實現對升餘弦滾降特性的近似,故本文經過FIR數字濾波器設計來對各種窗函數進行選擇,並通過窗函數法實現對升餘弦特性低通濾波器的設計,同時用MATIAB來仿真實現。
  • 基於MATLAB用於諧波檢測的數字低通濾波器的設計
    本文利用MATLAB中的FDAtool實現了對數字低通濾波器模型的快速設計,並採用VHDL語言在FPGA上實現。本文引用地址:http://www.eepw.com.cn/article/188321.htm1 低通濾波器的選擇 濾波器有模擬濾波器和數字濾波器兩種。
  • 基於諧波檢測中的數字低通濾波器的MATLAB設計
    而諧波及無功電流的檢測實質就是低通濾波器的設計。本文利用MATLAB中的FDAtool實現了對數字低通濾波器模型的快速設計,並採用VHDL語言在FPGA上實現。  1 低通濾波器的選擇  濾波器有模擬濾波器和數字濾波器兩種。
  • 用MATLAB設計FIR濾波器的方法
    介紹了利用MATLAB信號處理工具箱進行FIR濾波器設計的三種方法:程序設計法、FDATool設計法和SPTool設計法,給出了詳細的設計步驟,並將設計的濾波器應用到一個混和正弦波信號,以驗證濾波器的性能。