基于Matlab的FIR數字濾波器設計方案
本文先介紹FIR數字濾波器的相關(guān)概念,并利用MATLAB中的FDA TOOL工具箱和Simulink工具進(jìn)行FIR帶通數字濾波器的設計,給出了基于Matlab的FIR數字濾波器設計方案。最后通過(guò)建模和仿真證明,本方案中設計的濾波器能夠快速有效組成的常規數字濾波器, 實(shí)現不同截止頻率的FIR濾波器,極大地減輕了工作量,實(shí)用性較強。
本文引用地址:http://dyxdggzs.com/article/201710/367225.htm0 引言
隨著(zhù)信息時(shí)代數字化、智能化和網(wǎng)絡(luò )化的發(fā)展,數字信號處理已成為一門(mén)極其重要的學(xué)科和研究熱點(diǎn),并且數字濾波技術(shù)作為該領(lǐng)域的一個(gè)重要組成部分得到了日益廣泛的重視。
相對于IIR數字濾波器,FIR濾波器以其線(xiàn)性相位的極大優(yōu)勢得到了更加長(cháng)足的發(fā)展。數字濾波器可以用硬件或軟件兩種方式來(lái)實(shí)現,而后者的優(yōu)點(diǎn)是可以通過(guò)改變?yōu)V波器參數去調整整體性能,而MATLAB所提供的信號處理工具箱具有強大的函數功能,它不僅可以用來(lái)設計數字濾波器,還可以使設計達到最憂(yōu)化,因此它成為了FIR數字濾波器設計的強有力的工具。
1.FIR數字濾波器
1.1 FIR濾波器的系統函數
FIR數字濾波器是一種非遞歸系統,其沖激響應h(n)是有限長(cháng)序列,其系統函數的一般形式為:
在上式中,h(n)是因果序列,H(z)是z1的N-1次多項式,僅在Z=0處有N-1階極點(diǎn),在其它地方?jīng)]有極點(diǎn),有N-1個(gè)零點(diǎn)處在有限Z平面內的任何位置上。FIR系統的基本結構有直接型和級聯(lián)型,在雷達信號處理中作為相關(guān)器和對消器等獲得了廣泛的應用。
1.2 FIR濾波器的設計過(guò)程
數字濾波器的設計過(guò)程為:
1)按照實(shí)際需要,確定濾波器的性能要求。通常(但不總是)是在頻域中給定數字濾波器的性能要求,一般為幅度和相位響應,即技術(shù)指標。
2)尋找滿(mǎn)足預定性能要求的離散時(shí)間線(xiàn)性系統,即用一個(gè)因果穩定的系統函數去逼近給定的性能要求,以確定濾波器系數。
3)用有限精度的運算實(shí)現所設計的系統。
這里包括選擇運算結構,對濾波器的系數、輸入變量、中間變量和輸出變量量化到固定字長(cháng)。
4)通過(guò)模擬,分析其頻率特性和相位特性,驗證所設計的系統是否符合給定性能要求。
2.MATLAB相關(guān)工具介紹
2.1 FDATOOL工具箱
FDATOOL是Matlab軟件中提供濾波器設計的專(zhuān)門(mén)工具箱,可以設計幾乎所有的常規濾波器,其界面總共分兩大部分,如圖1所示。
界面上半部分是特性區,用來(lái)顯示濾波器的各種特性。
界面下半部分是Design Filter,用來(lái)設置濾波器的設計參數,主要分為:ResoponseType(濾波器類(lèi)型)選項、Design Method(設計方法)選項、Filter Order(濾波器階數)選項、Frenquency Specifications(頻率特性)選項和Magnitude Specifications(幅度特性)選項。
2.2 Simulink簡(jiǎn)介
Simulink是一個(gè)進(jìn)行動(dòng)態(tài)系統建模、仿真和綜合分析的集成軟件包,它可以處理線(xiàn)性、非線(xiàn)性系統;離散系統、連續系統以及混合系統;單任務(wù)、多任務(wù)離散事件系統等,目前已經(jīng)覆蓋通信、控制、信號處理、電力系統等諸多領(lǐng)域。Simulink和 Matlab的良好結合使得用戶(hù)可以利用Matlab豐富的資源,建立仿真模型,監控仿真過(guò)程,并且可以在線(xiàn)修改參數,并觀(guān)察改變后的結果。
3.FIR帶通濾波器設計
針對含有5Hz、15Hz和30Hz的混合正弦波信號,設計一個(gè)FIR帶通濾波器。參數要求:采樣頻率Fs=100Hz,通帶下限截止頻率Fc1=10Hz,通帶上限截止頻率Fc2=20Hz,過(guò)渡帶寬6Hz,通阻帶波動(dòng)0.01,采用凱塞窗設計。
3.1 FDATOOL參數設定
Response Type中選擇Bandpass;在DesignMethod選項中選擇FIR Window,窗函數類(lèi)型選取Kaiser,Beta值為3.4;指定Filter Order項中的Specify order為38;采樣頻率Fs=100Hz,截止頻率Fc1=10Hz,Fc2=20Hz.設置完以后點(diǎn)擊窗口下方的Design Filter,在窗口上方就會(huì )看到所設計濾波器的幅頻響應,如圖2所示。
通過(guò)菜單選項Analysis還可以看到濾波器的相頻響應(如圖3所示)、組延遲、脈沖響應、階躍響應、零極點(diǎn)配置等。設計完成后將結果保存為kaiser.fda文件。
3.2 Simulink仿真
打開(kāi)Simulink工具箱,新建一個(gè)Model,將正弦信號源和常量信號源、DSP離散正弦信號源、乘法器、加法器、示波器等布置好,并把各環(huán)節的端口按框圖連接起來(lái),搭建的系統仿真模型如圖4所示,將上節中封裝好的濾波器文件kaiser.fda導入Digital Filter Design模塊,輸入信號為:
生成的濾波效果如圖5所示。
圖5中橫坐標表示時(shí)間(t),縱坐標表示振幅。濾波后,信號周期約為0.067s,即頻率為15Hz,通過(guò)對濾波前后的離散波形進(jìn)行對比可以很明顯的看出,復合信號通過(guò)設計的帶通濾波器后,所需要的有用信號(15Hz)分離了出來(lái),基本達到預期目的。
4.結論
本文提出的基于Matlab的FIR數字濾波器設計方案。先介紹FIR數字濾波器的相關(guān)概念,并利用MATLAB中的FDA TOOL工具箱和Simulink工具進(jìn)行FIR帶通數字濾波器的設計。
最后通過(guò)建模和仿真證明,本方案中設計的濾波器能夠快速有效組成的常規數字濾波器, 實(shí)現不同截止頻率的FIR濾波器,極大地減輕了工作量,實(shí)用性較強。
評論