基於Matlab的FIR數字濾波器設計方案

2021-01-10 電子產品世界

  本文先介紹FIR數字濾波器的相關概念,並利用MATLAB中的FDA TOOL工具箱和Simulink工具進行FIR帶通數字濾波器的設計,給出了基於Matlab的FIR數字濾波器設計方案。最後通過建模和仿真證明,本方案中設計的濾波器能夠快速有效組成的常規數字濾波器, 實現不同截止頻率的FIR濾波器,極大地減輕了工作量,實用性較強。

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

  0 引言

  隨著資訊時代數位化、智能化和網絡化的發展,數位訊號處理已成為一門極其重要的學科和研究熱點,並且數字濾波技術作為該領域的一個重要組成部分得到了日益廣泛的重視。

  相對於IIR數字濾波器,FIR濾波器以其線性相位的極大優勢得到了更加長足的發展。數字濾波器可以用硬體或軟體兩種方式來實現,而後者的優點是可以通過改變濾波器參數去調整整體性能,而MATLAB所提供的信號處理工具箱具有強大的函數功能,它不僅可以用來設計數字濾波器,還可以使設計達到最憂化,因此它成為了FIR數字濾波器設計的強有力的工具。

  1.FIR數字濾波器

  1.1 FIR濾波器的系統函數

  FIR數字濾波器是一種非遞歸系統,其衝激響應h(n)是有限長序列,其系統函數的一般形式為:

  

  在上式中,h(n)是因果序列,H(z)是z1的N-1次多項式,僅在Z=0處有N-1階極點,在其它地方沒有極點,有N-1個零點處在有限Z平面內的任何位置上。FIR系統的基本結構有直接型和級聯型,在雷達信號處理中作為相關器和對消器等獲得了廣泛的應用。

  1.2 FIR濾波器的設計過程

  數字濾波器的設計過程為:

  1)按照實際需要,確定濾波器的性能要求。通常(但不總是)是在頻域中給定數字濾波器的性能要求,一般為幅度和相位響應,即技術指標。

  2)尋找滿足預定性能要求的離散時間線性系統,即用一個因果穩定的系統函數去逼近給定的性能要求,以確定濾波器係數。

  3)用有限精度的運算實現所設計的系統。

  這裡包括選擇運算結構,對濾波器的係數、輸入變量、中間變量和輸出變量量化到固定字長。

  4)通過模擬,分析其頻率特性和相位特性,驗證所設計的系統是否符合給定性能要求。

  2.MATLAB相關工具介紹

  2.1 FDATOOL工具箱

  FDATOOL是Matlab軟體中提供濾波器設計的專門工具箱,可以設計幾乎所有的常規濾波器,其界面總共分兩大部分,如圖1所示。

  

  界面上半部分是特性區,用來顯示濾波器的各種特性。

  界面下半部分是Design Filter,用來設置濾波器的設計參數,主要分為:ResoponseType(濾波器類型)選項、Design Method(設計方法)選項、Filter Order(濾波器階數)選項、Frenquency Specifications(頻率特性)選項和Magnitude Specifications(幅度特性)選項。

  2.2 Simulink簡介

  Simulink是一個進行動態系統建模、仿真和綜合分析的集成軟體包,它可以處理線性、非線性系統;離散系統、連續系統以及混合系統;單任務、多任務離散事件系統等,目前已經覆蓋通信、控制、信號處理、電力系統等諸多領域。Simulink和 Matlab的良好結合使得用戶可以利用Matlab豐富的資源,建立仿真模型,監控仿真過程,並且可以在線修改參數,並觀察改變後的結果。

  3.FIR帶通濾波器設計

  針對含有5Hz、15Hz和30Hz的混合正弦波信號,設計一個FIR帶通濾波器。參數要求:採樣頻率Fs=100Hz,通帶下限截止頻率Fc1=10Hz,通帶上限截止頻率Fc2=20Hz,過渡帶寬6Hz,通阻帶波動0.01,採用凱塞窗設計。

  3.1 FDATOOL參數設定

  Response Type中選擇Bandpass;在DesignMethod選項中選擇FIR Window,窗函數類型選取Kaiser,Beta值為3.4;指定Filter Order項中的Specify order為38;採樣頻率Fs=100Hz,截止頻率Fc1=10Hz,Fc2=20Hz.設置完以後點擊窗口下方的Design Filter,在窗口上方就會看到所設計濾波器的幅頻響應,如圖2所示。

  

  通過菜單選項Analysis還可以看到濾波器的相頻響應(如圖3所示)、組延遲、脈衝響應、階躍響應、零極點配置等。設計完成後將結果保存為kaiser.fda文件。

  

  3.2 Simulink仿真

  打開Simulink工具箱,新建一個Model,將正弦信號源和常量信號源、DSP離散正弦信號源、乘法器、加法器、示波器等布置好,並把各環節的埠按框圖連接起來,搭建的系統仿真模型如圖4所示,將上節中封裝好的濾波器文件kaiser.fda導入Digital Filter Design模塊,輸入信號為:

  

  

  生成的濾波效果如圖5所示。

  

  圖5中橫坐標表示時間(t),縱坐標表示振幅。濾波後,信號周期約為0.067s,即頻率為15Hz,通過對濾波前後的離散波形進行對比可以很明顯的看出,複合信號通過設計的帶通濾波器後,所需要的有用信號(15Hz)分離了出來,基本達到預期目的。

  4.結論

  本文提出的基於Matlab的FIR數字濾波器設計方案。先介紹FIR數字濾波器的相關概念,並利用MATLAB中的FDA TOOL工具箱和Simulink工具進行FIR帶通數字濾波器的設計。

  最後通過建模和仿真證明,本方案中設計的濾波器能夠快速有效組成的常規數字濾波器, 實現不同截止頻率的FIR濾波器,極大地減輕了工作量,實用性較強。


相關焦點

  • 一種改進型的FIR數字濾波器設計
    1 fir數字濾波器設計的基本步驟 數字濾波器根據其衝激響應函數的時域特性,可分為2種,即無限長衝激響應(iir)濾波器和有限長衝激響應(fir)濾波器。fir系統不像iir系統那樣易取得較好的通帶和阻帶衰減特性,要取得較好的衰減特性,一般要求h(z)階次要高,也即m要大。
  • 基於Matlab的FIR數字濾波器設計
    摘要:提出FIR敷字濾波器的設計方案,並基於Matlab實現濾波仿真。通過使用Matlab信號處理工具箱提供的函數,選擇適當的窗函數編寫程序,其中窗函數按照實際信號的處理需求,參數折中選擇。實驗獲得了比較理想的濾波器特性,可以實現較好的濾波作用。
  • Matlab輔助DSP設計FIR數字濾波器
    數字濾波器由於其精度高、穩定性好、使用靈活等優點,廣泛應用在各種數位訊號處理領域。數字濾波器根據衝擊響應函數的時域特性,可以分為FIR(有限長衝擊響應濾波器)和IIR(無限長衝擊響應濾波器)。FIR濾波器與IIR濾波器相比,具有嚴格的線性相位,幅度特性可任意等優點。而且,FIR濾波器的單位抽樣響應是有限長的,故一定是穩定的,他又可以用快速傅立葉變換(FFT)算法來實現過濾信號,可大大提高運算效率。
  • 基於MATLAB的數字基帶傳輸的 FIR濾波器的設計
    為了解決理想低通特性存在的問題,可採用升餘弦滾降特性的系統,以使理想低通濾波器的邊緣緩慢下降,並使振幅特性在滾降段中心頻率處呈奇對稱,從而保證滿足奈奎斯特第一準則。這種系統可減小碼間串擾和位定時誤差。 由於FIR數字濾波器可實現對升餘弦滾降特性的近似,故本文經過FIR數字濾波器設計來對各種窗函數進行選擇,並通過窗函數法實現對升餘弦特性低通濾波器的設計,同時用MATIAB來仿真實現。
  • 基於FPGA+MATLAB的串行多階FIR濾波器設計
    摘要 FIR濾波器的設計分為濾波器係數計算和濾波器結構的具體兩個部分。本文引用地址:http://www.eepw.com.cn/article/236081.htm關鍵詞 FPGA;FIR數字濾波器;Matlab;仿真數字濾波器是用於過濾時間離散信號的數字系統,通過對抽樣數據進行數學處理達到頻域濾波的目的。
  • 什麼是fir數字濾波器 什麼叫FIR濾波器
    無論是抽取或者插值, 運用FIR濾波器可以省去一些計算, 提高計算效率. 相反,如果使用IIR濾波器,每個輸出都要逐一計算,不能省略,即使輸出要丟棄. * 具有理想的數字特性.線性相位是指濾波器的相位響應是頻率的線性函數(在+/-180度)。因此濾波器的延時後,所有的頻率相位相同。因而濾波器不會產生相位和延遲扭曲。在某些領域,比如數字解調器,沒有相位或者延遲扭曲是FIR濾波器相對於其他IIR和模擬濾波器的一個關鍵優點2.1.3 線性濾波器的條件是什麼?FIR濾波器經常被設計成為線性相位的,當然不是必須要這麼做。
  • Matlab在FIR數字濾波器中的應
    提出FIR數字濾波器的設計方案,並基於Matlab實現濾波仿真。通過使用Matlab信號處理工具箱提供的函數,選擇適當的窗函數編寫程序,其中窗函數按照實際信號的處理需求,參數折中選擇。實驗獲得了比較理想的濾波器特性,可以實現較好的濾波作用。而且在實際應用中只需按需求修改濾波器參數,並結合程序的相應改動,即可實現不同功能的濾波器。
  • 基於MATLAB的理想低通濾波器的設計
    打開APP 基於MATLAB的理想低通濾波器的設計 發表於 2018-01-26 13:34:52 對於不同濾波器而言,每個頻率的信號的強弱程度不同
  • 基於FDATool的FIR濾波器設計方法(一)
    FIR 濾波器廣泛應用於數位訊號處理中,主要功能就是將不感興趣的信號濾除,留下有用信號。FIR濾波器是全零點結構,系統永遠穩定;並且具有線性相位的特徵,在有效頻率範圍內所有信號相位上不失真。
  • FIR濾波器設計方案
    FIR濾波器設計方案 電子設計 發表於 2018-10-02 14:09:07 1.引言 在信息信號處理過程中,如對信號的過濾、檢測、預測等,都要使用濾波器,數字濾波器是數位訊號處理(DSP,DigitalSignalProcessing
  • 基於Matlab的IIR數字濾波器設計
    基於Matlab的IIR數字濾波器設計 佚名 發表於 2010-08-14 10:52:23   0 引言  數字濾波器(Digital Filter)是指輸入、輸出都是離散時間信號,通過一定運算關係改變輸入信號所含頻率成分的相對比例或者濾除某些頻率成分的器件
  • 用MATLAB設計FIR濾波器的方法
    介紹了利用MATLAB信號處理工具箱進行FIR濾波器設計的三種方法:程序設計法、FDATool設計法和SPTool設計法,給出了詳細的設計步驟,並將設計的濾波器應用到一個混和正弦波信號,以驗證濾波器的性能。
  • 基於FPGA的高效FIR濾波器設計與實現
    摘要: 給出了一種基於FPGA的數字濾波器的設計方法。該方法先通過MATLAB設計出一個具有具體指標的FIR濾波器, 再對濾波器係數進行處理, 使之便於在FPGA中實現, 然後採用基於分布式算法和CSD編碼的濾波器結構進行設計, 從而避免了乘法運算, 節約了硬體資源,其流水線的設計方式也提高了運行速度。Matlab和Modelsim仿真表明, 該設計功能正確, 能實現快速濾波。
  • 基於模擬退火神經網絡的I型FIR數字濾波器設計
    摘要:提出一種基於模擬退火神經網絡設計FIR數字濾波器的方法,是對用神經網絡設計方法的一種改進。由於線性相位FIR數字濾波器的幅頻特性是有限項的傅立葉級數,因此構造了一個三層餘弦基神經網絡模型,並用模擬退火算法進行了優化,然後給出了高階濾波器優化設計的實例。仿真表明經優化設計後的濾波器具有更好的性能和更穩定的效果。
  • matlab中的成型濾波器設計
    matlab 中成型濾波器設計有好幾個函數:rcosineFd=9600;Fs=38.4e3;[num,den] = rcosine(Fd,Fs,'sqrt',0.25);freqz(num);其中的Fd表示輸入數據的採樣率
  • MATLAB常用的FIR濾波器設計方法之窗函數法
    FIR濾波器很多工科出身的人都不會陌生,在我們的學習和工作中,也常常需要設計FIR濾波器。因為FIR濾波器有兩個特點:濾波器是穩定的以及具有線性相位。FIR濾波器在信號處理相關領域當然也包括本人所在的雷達信號處理領域有著廣泛的應用。本文主要介紹MATLAB最常用的FIR濾波器設計方法之窗函數法。其他的方法將在另一章中介紹。
  • FIR與IIR濾波器的區別與特點比較
    2、IIR數字濾波器採用遞歸型結構,即結構上帶有反饋環路。IIR濾波器運算結構通常由延時、乘以係數和相加等基本運算組成,可以組合成直接型、正準型、級聯型、並聯型四種結構形式,都具有反饋迴路。由於運算中的捨入處理,使誤差不斷累積,有時會產生微弱的寄生振蕩。
  • 基於諧波檢測中的數字低通濾波器的MATLAB設計
    而諧波及無功電流的檢測實質就是低通濾波器的設計。本文利用MATLAB中的FDAtool實現了對數字低通濾波器模型的快速設計,並採用VHDL語言在FPGA上實現。  1 低通濾波器的選擇  濾波器有模擬濾波器和數字濾波器兩種。
  • 基於MATLAB用於諧波檢測的數字低通濾波器的設計
    本文利用MATLAB中的FDAtool實現了對數字低通濾波器模型的快速設計,並採用VHDL語言在FPGA上實現。本文引用地址:http://www.eepw.com.cn/article/188321.htm1 低通濾波器的選擇 濾波器有模擬濾波器和數字濾波器兩種。
  • 基於Matlab的FIR帶通濾波器設計與實現
    摘要:藉助Matlab的FDATOOL濾波器設計分析軟體,設計了一種FIR數字帶通濾波器,並對一段含噪語音信號進行濾波。利用彙編語言編程,在DSP上實現了該濾波器。