新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 基于Matlab的FIR數字濾波器設計方案

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

        作者: 時間:2017-10-21 來源:網絡 收藏

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

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

          0 引言

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

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

          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是軟件中提供濾波器設計的專門工具箱,可以設計幾乎所有的常規濾波器,其界面總共分兩大部分,如圖1所示。

          

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

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

          2.2 Simulink簡介

          Simulink是一個進行動態系統建模、仿真和綜合分析的集成軟件包,它可以處理線性、非線性系統;離散系統、連續系統以及混合系統;單任務、多任務離散事件系統等,目前已經覆蓋通信、控制、信號處理、電力系統等諸多領域。Simulink和 的良好結合使得用戶可以利用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濾波器,極大地減輕了工作量,實用性較強。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 措美县| 奎屯市| 靖宇县| 米泉市| 宝山区| 玛沁县| 且末县| 安徽省| 沧源| 海安县| 政和县| 渑池县| 绿春县| 韶关市| 阿克陶县| 呼玛县| 穆棱市| 铅山县| 汝南县| 娄底市| 延寿县| 突泉县| 双江| 梧州市| 昌邑市| 商都县| 双桥区| 信丰县| 沙雅县| 莱芜市| 贞丰县| 拜泉县| 江川县| 罗田县| 巩留县| 搜索| 辽宁省| 中宁县| 梨树县| 津市市| 家居|