基於Matlab的IIR數字濾波器設計

2021-01-10 電子發燒友
基於Matlab的IIR數字濾波器設計

佚名 發表於 2010-08-14 10:52:23

  0 引言

  數字濾波器(Digital Filter)是指輸入、輸出都是離散時間信號,通過一定運算關係改變輸入信號所含頻率成分的相對比例或者濾除某些頻率成分的器件。數字濾波器在數位訊號處理中起著非常重要的作用,在信號的過濾、檢測與參數的估計等方面,是使用最為廣泛的一種線性系統。

  實現數字濾波器的方法有兩種,一是採用計算機軟體進行,就是把所要完成的工作通過程序讓計算機來實現;二是設計專用的數字處理硬體。這個地方主要用到的就是第一種方法。即是用Mafiab提供的信號處理工具箱來實現數字濾波器。

  Matlab信號處理工具箱提供了豐富的設計方法,可以使得繁瑣的程序設計簡化成函數的調用,只要以正確的指標參數調用函數,就可以正確快捷地得到設計結果。

  1 IIR數字濾波器設計方法比較

  1.1 概述

  IIR數字濾波器的最通用的方法是藉助於模擬濾波器的設計方法。模擬濾波器設計已經有了相當成熟的技術和方法,有完整的設計公式,還有比較完整的圖表可以查詢,因此設計數字濾波器可以充分利用這些豐富的資源來進行。

  對於IIR數字濾波器的設計具體步驟如下:

  (1)按照一定的規則將給出的數字濾波器的技術指標轉換為模擬低通濾波器的技術指標。

  (2)根據轉換後的技術指標設計模擬低通濾波器G(s)(G(s)是低通濾波器的傳遞函數)。

  (3)再按照一定的規則將G(s)轉換成H(z)(H(z)是數字濾波器的傳遞函數)。若設計的數字濾波器是低通的,上述的過程可以結束,若設計的是高通、帶通或者是帶阻濾波器,那麼還需要下面的步驟:

  將高通、帶通或帶阻數字濾波器的技術指標轉換為低通模擬濾波器的技術指標,然後設計出低通G(s),再將G(s)轉換為H(z)。

  Matlab信號工具箱提供了幾個直接設計IIR數字濾波器的函數,直接調用這些函數就可以很方便地對濾波器進行設計。這裡選取巴特沃斯法、切比雪夫I、切比雪夫Ⅱ、橢圓法四種方法進行比較。給出用上述方法設計數字濾波器的函數如下:

  

  其中:Wp表示通帶截止頻率;Ws表示阻帶截止頻率;Rp表示通帶紋波係數;Rs表示阻帶紋波係數;N表示濾波器最小階數;Wn表示截止頻率。b,a分別表示階次為N+1的數字濾波器系統傳遞函數的分子和分母多項式係數向量;Fs為採樣頻率;n為在區間[O Fs]頻率範圍內選取的頻率點數;f記錄頻率點數。n取2的冪次方,可以提高運算的速度,因為freqz函數採用基2的FFT算法。ftype=high時,為高通濾波器;ftype=bandpass時,為帶通濾波器;ftype=stop時,為帶阻濾波器。

  

  1.2 四種設計方法比較

  (1)在低通濾波器中的比較

  假如:Wp=20 Hz,Ws=50 Hz,Fs=200,Rp=1 dB,Rs=30 dB,分別用Butterworth低通濾波器、Chebyshev I型低通濾波器、ChebyshevⅡ型低通濾波器、橢圓低通濾波器四種方法進行設計,如圖1所示。

  

  (2)在高通濾波器中的比較

  假如:Wp=50 Hz,Ws=20 Hz,Fs=200,Rp=1 dB,Rs=30 dB,分別用Butterworth高通濾波器、Chebyshev I型高通濾波器、ChebyshevⅡ型高通濾波器、橢圓高通濾波器四種方法進行設計,如圖2所示。

  

  (3)在帶通濾波器中的比較

  假如:Wp=[100,200],Ws=[50,250],Rp=3 dB,Rs=30 dB,Fs=1 000,分別用Butterworth帶通濾波器、Chebyshev I型帶通濾波器、ChebyshevⅡ型帶通濾波器、橢圓帶通濾波器四種方法進行設計,如圖3所示。

  

  (4)在帶阻濾波器中比較

  假如:Wp=[100,200],Ws=[50,250],Rp=3 dB,Rs=30 dB,Fs=1 000,分別用Butterworth帶阻濾波器、Chebyshev I型帶阻濾波器、ChebyshevⅡ型帶阻濾波器、橢圓帶阻濾波器四種方法進行設計,如圖4所示。

  

  1.3 比較結果分析

  通過對各種類型的濾波器通過不同的方法進行設計,可以使一些結論得到驗證。利用Butterworth濾波器、Chebysheve I型濾波器、Che-bysheveⅡ型濾波器、橢圓濾波器都可以進行低通、高通、帶通、帶阻濾波器的設計,但是各有特點。Butterworth濾波器通帶內的幅頻響應曲線能得到最大限度的平滑,但犧牲了截止頻率的坡度。

  Chebysheve I型濾波器通帶內等波紋,阻帶內單調;ChebysheveⅡ型濾波器通帶內單調,然而阻帶內等波紋;橢圓濾波器阻帶和通帶內都是等波紋的,但下降的坡度更大,而且可以以更低的階數實現和其他兩類濾波器一樣的性能指標。

  2 IIR數字濾波器應用

  假定信號的採樣頻率是600 Hz,輸入信號的頻率為100 Hz,180 Hz和250 Hz的合成正弦波信號f(t)=sin(200πt)+sin(360πt)+sin(500πt),通過截止頻率是120 Hz的巴特沃斯低通濾波器,通過濾波前後頻譜的對比,可以發現信號通過濾波器後,兩個高頻的信號180 Hz和250 Hz的正弦信號被濾掉,達到了濾波的效果。

  圖5和圖6給出了巴特沃斯低通濾波器濾波前後的頻譜圖。

  

  

  依然是上述的條件,如果想保留高頻的信號250 Hz的正弦信號,可以通過巴特沃斯高通濾波器,此高通濾波器截止頻率為220 Hz,濾波以後的頻譜如圖7所示,兩個低頻的信號100 Hz,180 Hz的正弦波信號被濾掉;當預保留100 Hz,250 Hz兩個信號後可以通過帶阻濾波器濾掉180 Hz的正弦信號,如圖8所示;同理如果僅僅保留180 Hz的正弦信號可以通過帶通濾波器,而濾掉其他兩個信號,如圖9所示。

  

  

  

  3 結語

  濾波是信號處理的基礎,濾波運算是信號處理中的基本運算,濾波器的設計也就相應成為數位訊號處理的最基本問題之一。信號帶有噪聲或無用信號,濾波器的作用是將這些幹擾成分濾除,也就是讓特定頻段的信號通過達到對信號篩選的效果。在經典的濾波器中,通過對IIR數字濾波器的設計研究,應用Butterworth濾波器、Chebysheve I型濾波器、Chebysheve II型濾波器以及橢圓濾波器四種形式分別對低通、高通、帶通和帶阻四種濾波器形式進行比較仿真,得到其不同的仿真特性;選擇三個不同頻率100 Hz,180Hz和250 Hz的合成正弦波信號:

  f(t)=sin(200πt)+sin(360πt)+sin(5007πt)

  進行疊加,應用了Butterworth濾波器實現了混合信號頻譜的分離,得到了良好的仿真效果。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 一種改進型的FIR數字濾波器設計
    在數位訊號處理中,濾波佔有極其重要的作用,數字濾波器是譜分析、雷達信號處理、通信信號處理應用中的基本處理算法。目前常用的濾波器設計方法普遍採用matlab仿真,dsp實現。但這一傳統設計方法需要的開發周期較長,且設計過程反覆進行,非常不便。
  • 基於MATLAB的理想低通濾波器的設計
    打開APP 基於MATLAB的理想低通濾波器的設計 發表於 2018-01-26 13:34:52 對於不同濾波器而言,每個頻率的信號的強弱程度不同
  • matlab濾波器設計-IIR濾波器的設計與仿真
    1 引言 在現代通信系統中,由於信號中經常混有各種複雜成分,所以很多信號的處理和分析都是基於濾波器而進行的。但是,傳統的數字濾波器的設計使用繁瑣的公式計算,改變參數後需要重新計算,從而在設計濾波器尤其是高階濾波器時工作量很大。
  • 基於Matlab的FIR數字濾波器設計
    摘要:提出FIR敷字濾波器的設計方案,並基於Matlab實現濾波仿真。通過使用Matlab信號處理工具箱提供的函數,選擇適當的窗函數編寫程序,其中窗函數按照實際信號的處理需求,參數折中選擇。實驗獲得了比較理想的濾波器特性,可以實現較好的濾波作用。
  • 用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的FIR數字濾波器設計方案
    本文先介紹FIR數字濾波器的相關概念,並利用MATLAB中的FDA TOOL工具箱和Simulink工具進行FIR帶通數字濾波器的設計,給出了基於Matlab的FIR數字濾波器設計方案。
  • IIR數字濾波器的Matlab和FPGA實現
    摘要:提出一種通過兩個二階節級聯構成四階IIR數字橢圓濾波器的設計方法,並利用Matlab仿真軟體設計了通帶內波紋不大於0.1 dB,阻帶衰減不小於42 dB的IIR數字濾波器。論述了一種採用可編程邏輯器件,通過VHDL硬體描述語言實現該濾波器的方法。
  • 基於MATLAB的數字基帶傳輸的 FIR濾波器的設計
    為了解決理想低通特性存在的問題,可採用升餘弦滾降特性的系統,以使理想低通濾波器的邊緣緩慢下降,並使振幅特性在滾降段中心頻率處呈奇對稱,從而保證滿足奈奎斯特第一準則。這種系統可減小碼間串擾和位定時誤差。 由於FIR數字濾波器可實現對升餘弦滾降特性的近似,故本文經過FIR數字濾波器設計來對各種窗函數進行選擇,並通過窗函數法實現對升餘弦特性低通濾波器的設計,同時用MATIAB來仿真實現。
  • 基於FPGA的巴特沃茲IIR數字帶通濾波器設計
    其中IIR數字濾波器和FIR數字濾波器是目前人們使用較多的兩種。數字濾波器通常採用計算機軟體、專用數字濾波器、DSP器件或可編程邏輯器件(如FPGA) 實現。因為,用FPGA實現數字濾波器具有實時性強、靈活性高、處理速度快以及小批量生產成本低等優點,所以得到了較為廣泛的應用。本文以巴特沃思數字帶通濾波器為例,較為詳細地介紹了其設計和實現方法。
  • FIR與IIR濾波器的區別與特點比較
    2、IIR數字濾波器採用遞歸型結構,即結構上帶有反饋環路。IIR濾波器運算結構通常由延時、乘以係數和相加等基本運算組成,可以組合成直接型、正準型、級聯型、並聯型四種結構形式,都具有反饋迴路。由於運算中的捨入處理,使誤差不斷累積,有時會產生微弱的寄生振蕩。
  • matlab中的成型濾波器設計
    matlab 中成型濾波器設計有好幾個函數:rcosineFd=9600;Fs=38.4e3;[num,den] = rcosine(Fd,Fs,'sqrt',0.25);freqz(num);其中的Fd表示輸入數據的採樣率
  • 基於諧波檢測中的數字低通濾波器的MATLAB設計
    而諧波及無功電流的檢測實質就是低通濾波器的設計。本文利用MATLAB中的FDAtool實現了對數字低通濾波器模型的快速設計,並採用VHDL語言在FPGA上實現。  1 低通濾波器的選擇  濾波器有模擬濾波器和數字濾波器兩種。
  • 基於MATLAB用於諧波檢測的數字低通濾波器的設計
    本文利用MATLAB中的FDAtool實現了對數字低通濾波器模型的快速設計,並採用VHDL語言在FPGA上實現。本文引用地址:http://www.eepw.com.cn/article/188321.htm1 低通濾波器的選擇 濾波器有模擬濾波器和數字濾波器兩種。
  • 基於Matlab和Visual C++的數字濾波器設計方法
    模擬濾波雖然快捷但不靈活,數字濾波效果雖好但複雜。所以文中提出一種以模擬濾波器為基準,設計具有相同功能而且參數可調的數字濾波器的方法。並以二階RC無源低通濾波電路為例對此過程進行說明,與模擬濾波電路和傳統的數字濾波相比,該方法不僅比傳統的數字濾波算法簡單快捷,而且可有效防止模擬電路中器件的寄生參數、精度、溫度等的影響,使濾波更加穩定。
  • 基於FDATool的FIR濾波器設計方法(一)
    FIR 濾波器廣泛應用於數位訊號處理中,主要功能就是將不感興趣的信號濾除,留下有用信號。FIR濾波器是全零點結構,系統永遠穩定;並且具有線性相位的特徵,在有效頻率範圍內所有信號相位上不失真。
  • 基於Matlab的無失真模擬濾波器設計
    分別給出各個濾波器的設計過程、仿真結果、實際電路圖,並在最後給出了經過無失真濾波器後輸出信號的眼圖。眼圖結果表明,無失真濾波器的幅頻、相頻特性良好。說明用Matlab設計模擬濾波器的設計一般包括兩個方面:根據技術指標即濾波器的幅頻特性確定濾波器的傳遞函數H(s);設計實際網絡實現這一傳遞函數。設計濾波器H(s)的關鍵是找到逼近函數,目前已有多種逼近函數。
  • Matlab輔助DSP設計FIR數字濾波器
    數字濾波器由於其精度高、穩定性好、使用靈活等優點,廣泛應用在各種數位訊號處理領域。數字濾波器根據衝擊響應函數的時域特性,可以分為FIR(有限長衝擊響應濾波器)和IIR(無限長衝擊響應濾波器)。FIR濾波器與IIR濾波器相比,具有嚴格的線性相位,幅度特性可任意等優點。而且,FIR濾波器的單位抽樣響應是有限長的,故一定是穩定的,他又可以用快速傅立葉變換(FFT)算法來實現過濾信號,可大大提高運算效率。
  • Matlab在FIR數字濾波器中的應
    提出FIR數字濾波器的設計方案,並基於Matlab實現濾波仿真。通過使用Matlab信號處理工具箱提供的函數,選擇適當的窗函數編寫程序,其中窗函數按照實際信號的處理需求,參數折中選擇。實驗獲得了比較理想的濾波器特性,可以實現較好的濾波作用。而且在實際應用中只需按需求修改濾波器參數,並結合程序的相應改動,即可實現不同功能的濾波器。
  • 基於FPGA+MATLAB的串行多階FIR濾波器設計
    摘要 FIR濾波器的設計分為濾波器係數計算和濾波器結構的具體兩個部分。本文引用地址:http://www.eepw.com.cn/article/236081.htm關鍵詞 FPGA;FIR數字濾波器;Matlab;仿真數字濾波器是用於過濾時間離散信號的數字系統,通過對抽樣數據進行數學處理達到頻域濾波的目的。
  • 一種分數階微分IIR濾波器的設計方法和改進
    該方法利用幾種基於典型微分算子的分數階微分濾波器之間的互補性,通過相互內插結合的方式,用於提高IIR分數階數字濾波器的性能。改進後的分數階微分濾波器頻率響應更接近理想分數階微分濾波器,表明所提方法的有效性。