趙杰
(商洛學(xué)院電子信息與電氣工程學(xué)院,陜西商洛726000)
基于METLAB和Simulink的FIR濾波器設(shè)計(jì)與仿真
趙杰
(商洛學(xué)院電子信息與電氣工程學(xué)院,陜西商洛726000)
為了設(shè)計(jì)一種FIR數(shù)字濾波器,利用MATLAB進(jìn)行濾波器參數(shù)和性能分析,得到濾波器系數(shù)之后在Simulink環(huán)境下,借助Simulink庫(kù)及相關(guān)工具箱模塊,構(gòu)建一個(gè)FIR低通濾波器,并設(shè)計(jì)完整的測(cè)試電路進(jìn)行仿真與驗(yàn)證,最后生成相應(yīng)的Quartus II工程。結(jié)果表明,該方式簡(jiǎn)單可行,開(kāi)發(fā)周期短,可以方便地應(yīng)用于數(shù)字信號(hào)處理算法的實(shí)現(xiàn)。
MATLAB;Simulink;FIR數(shù)字濾波器
數(shù)字信號(hào)處理目前已廣泛應(yīng)用于人工智能、通信、雷達(dá)、航空航天、語(yǔ)音處理、圖像處理等方面。作為數(shù)字信號(hào)處理的主要分支,數(shù)字濾波器在應(yīng)用中發(fā)揮著重要作用。數(shù)字濾波器從實(shí)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)或者從單位脈沖響應(yīng)分類,可以分成無(wú)限脈沖響應(yīng)(IIR)濾波器和有限脈沖響應(yīng)(FIR)濾波器[1]。FIR濾波器是全零點(diǎn)濾波器,穩(wěn)定性好,并且可以實(shí)現(xiàn)線性相位,因此,F(xiàn)IR濾波器得到了廣泛的應(yīng)用[2]。MATLAB在設(shè)計(jì)濾波器方面得到廣泛應(yīng)用,但多數(shù)只停留在初步設(shè)計(jì)獲得濾波器系數(shù)階段,距硬件工程實(shí)現(xiàn)還有相當(dāng)距離[3]。 EDA技術(shù)的迅速發(fā)展,使得數(shù)字濾波器可以通過(guò)硬件描述語(yǔ)言在FPGA上實(shí)現(xiàn),但是代碼編寫、調(diào)試、仿真均比較復(fù)雜,工作量大,開(kāi)發(fā)周期長(zhǎng)[4-6]。如果使用調(diào)試好的IP核可以減小工作量,但I(xiàn)P核需要單獨(dú)購(gòu)買[7]。利用Simulink工具設(shè)計(jì)濾波器近些年來(lái)也有應(yīng)用,但多數(shù)在生成硬件工程仿真后并沒(méi)有進(jìn)一步考慮資源利用情況[8-9]。本文利用MATLAB軟件工具,在Simulink工作環(huán)境下使用圖形模型構(gòu)建FIR濾波器,并進(jìn)行仿真,將多個(gè)工具聯(lián)合起來(lái),避開(kāi)復(fù)雜的代碼設(shè)計(jì),大大縮短了開(kāi)發(fā)周期,降低了開(kāi)發(fā)難度。
FIR濾波器的單位脈沖響應(yīng)h(n)是時(shí)寬為N的有限長(zhǎng)序列,相應(yīng)的FIR系統(tǒng)函數(shù)為:
其特點(diǎn)是系統(tǒng)函數(shù)H(z)無(wú)極點(diǎn),因此它的網(wǎng)絡(luò)結(jié)構(gòu)一般沒(méi)有反饋支路。其差分方程為:
其直接型結(jié)構(gòu)圖如圖1所示。
圖1 FIR濾波器的直接結(jié)構(gòu)
以設(shè)計(jì)16階FIR低通濾波器為例,其中采樣頻率50 KHz,濾波器截止頻率10 KHz,輸入信號(hào)序列寬度為9位。
2.1 濾波器分析
利用MATLAB的濾波器分析工具將參數(shù)頻率和階次參數(shù)代入,這里選用窗函數(shù)設(shè)計(jì)法(選擇Kaiser窗),設(shè)置FIR濾波器,并對(duì)其進(jìn)行性能分析,其幅頻特性如圖2所示。
將獲得的濾波器系數(shù)進(jìn)行量化,以便后續(xù)構(gòu)建Simulink模型使用。
圖2 幅頻特性
2.2 FIR濾波器的Simulink模型
在Simulink中構(gòu)建FIR濾波器系統(tǒng),由于直接結(jié)構(gòu)比較復(fù)雜,改為先設(shè)計(jì)4階濾波器,將其作為子結(jié)構(gòu),再利用4階濾波器級(jí)聯(lián)構(gòu)成高階濾波器,形成完整結(jié)構(gòu),如圖3所示。
上述模型還不能直接用于仿真測(cè)試,將其封裝為模塊“Subsystem”,外接掃頻信號(hào)源和測(cè)量元件,形成完整測(cè)試電路模型,如圖4所示。
2.3 仿真結(jié)果
掃頻信號(hào)源設(shè)置為在0.1 s內(nèi)頻率由7 KHz遞增至20 KHz,然后進(jìn)行仿真,觀察掃頻信號(hào)經(jīng)過(guò)低通濾波器前后的波形變化,如圖5和圖6所示。
圖5為掃頻信號(hào)波形,經(jīng)過(guò)濾波器后,其高頻成分受到抑制。由圖6可以看出,該波形經(jīng)過(guò)濾波器后的變化情況符合圖2所示的濾波器幅頻特性,表明該濾波器具有較好的濾波作用。
濾波器模型在經(jīng)過(guò)“SignalComplier”之后可以轉(zhuǎn)換為Quratus II工程[10]。在實(shí)用中,還需考慮FPGA資源利用和工作速度情況,以便更好地優(yōu)化設(shè)計(jì)。以兩款不同芯片為例,進(jìn)行對(duì)比,結(jié)果如表1所示。
由表1可以看出,EP2C明顯比EP1C占用更少的LE,有更高的fmax。
表1 綜合結(jié)果對(duì)比
圖3 FIR濾波器模型
圖4 FIR濾波器測(cè)試電路模型
本文以窗函數(shù)為例設(shè)計(jì)FIR濾波器,利用MATLAB分析得到FIR低通濾波器系數(shù),隨后運(yùn)用Simulink圖形模塊對(duì)濾波器進(jìn)行模塊化設(shè)計(jì),設(shè)置模塊參數(shù),完成濾波器的測(cè)試與仿真;同時(shí),該過(guò)程也可以方便地改用等波紋最佳逼近等其他設(shè)計(jì)方法。整個(gè)設(shè)計(jì)過(guò)程相對(duì)于代碼編程的方式簡(jiǎn)單了很多,設(shè)計(jì)周期也較短,提高了開(kāi)發(fā)效率。在實(shí)際應(yīng)用中,根據(jù)所選器件、處理速度等要求,有可能需要對(duì)轉(zhuǎn)化后的工程進(jìn)行相應(yīng)的優(yōu)化。
圖5 掃頻信號(hào)波形
圖6 低通濾波后波形
[1]高西全,丁玉美,闊永紅.數(shù)字信號(hào)處理[M].北京:電子工業(yè)出版社,2010:135.
[2]丁玉美.數(shù)字信號(hào)處理[M].西安:西安電子科技大學(xué)出版社,2008:181.
[3]張志恒,王衛(wèi)芳.基于Matlab信號(hào)處理工具箱的數(shù)字濾波器設(shè)計(jì)與仿真[J].電力學(xué)報(bào),2007,22(1):54-56.
[4]何健標(biāo),王宏遠(yuǎn),郭躍,等.一種基于FPGA的FIR濾波器實(shí)現(xiàn)結(jié)構(gòu)[J].微電子學(xué)與計(jì)算機(jī),2008,25(3):47-50.
[5]徐志軍,王金明,尹廷輝.EDA技術(shù)與VHDL設(shè)計(jì)[M].北京:電子工業(yè)出版社,2012:337-349.
[6]謝海霞,孫志雄.可編程FIR濾波器的FPGA實(shí)現(xiàn)[J].電子器件,2012,35(2):232-235.
[7]吳繼華,王城.Altera FPGA/CPLD設(shè)計(jì)基礎(chǔ)篇[M].2版.北京:人民郵電出版社,2011:106-107.
[8]能芳.基于DSP Builder數(shù)字濾波器的FPGA設(shè)計(jì)[J].價(jià)值工程,2011,30(7):141-142.
[9]杜友杰,王紫婷.基于DSP Builder的數(shù)字濾波器設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)試,2012(8):43-46.
[10]袁博,宋萬(wàn)杰,吳順君.基于FPGA的Mattab與Quartus lI聯(lián)合設(shè)計(jì)技術(shù)研究[J].電子工程師,2007,33(1):6-8.
(責(zé)任編輯:李堆淑)
Design and Simulation of FIR Digital Filter Based on MATLAB and Simulink
ZHAO Jie
(CollegeofElectronicInformationandElectricalEngineering,ShangluoUniversity,Shangluo726000,Shaanxi)
The design of FIR digital filter was implemented based on MATLAB and Simulink.The parameters and response analysis were accomplished by MATLAB and the filter coefficients were obtained.The Simulink library and toolbox graphic module were used to construct the FIR filter.Then the test circuit model was designed to be simulated.Finally,the Quartus II project was generated.The experimental results show that this method is simple and shorten the development cycle.It can be conveniently applied to the implementation of algorithm.
MATLAB;Simulink;FIR digital filter
TP391
A
1674-0033(2015)02-0020-04
10.13440/j.slxy.1674-0033.2015.02.006
2015-02-28
商洛學(xué)院教育教學(xué)改革研究項(xiàng)目(13JYJX139)
趙杰,男,陜西漢中人,碩士,講師