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