【摘要】給出了基于FPGA的IIR數(shù)字濾波器的設(shè)計(jì)和實(shí)現(xiàn)方法。首先,用雙線性變換法設(shè)計(jì)出巴特沃茲數(shù)字帶通濾波器的相關(guān)參數(shù);其次,利用Matlab軟件對所設(shè)計(jì)的濾波器進(jìn)行了仿真分析;最后,利用Quartus II軟件進(jìn)行了模塊設(shè)計(jì)和功能仿真。實(shí)驗(yàn)結(jié)果證明了該方法的有效性。
【關(guān)鍵詞】現(xiàn)場可編程門陣列;無限沖擊響應(yīng);數(shù)字濾波器
Abstract:An approach for the design and the implementation of IIR digital filter based on FPGA is proposed.Firstly,the parameters of Butterworth band-pass filter are computed by means of bilinear transformation method.Secondly,simulation analysis on the filter is carried out through Matlab software.Finally,module design and functional simulation are executed using Quartus II.Experiment results verify its effectiveness.
Keywords:field programmable gate array(FPGA);infinite impluse response(IIR);digital filter
1.引言
數(shù)字濾波器在通信、自動控制、雷達(dá)、軍事、航空航天、醫(yī)療、家用電器等眾多領(lǐng)域得到了廣泛的應(yīng)用。其中IIR數(shù)字濾波器[1.2]和FIR數(shù)字濾波器[3,4]是目前人們使用較多的兩種。數(shù)字濾波器通常采用計(jì)算機(jī)軟件、專用數(shù)字濾波器、DSP器件或可編程邏輯器件(如FPGA)實(shí)現(xiàn)。因?yàn)?,用FPGA實(shí)現(xiàn)數(shù)字濾波器具有實(shí)時(shí)性強(qiáng)、靈活性高、處理速度快以及小批量生產(chǎn)成本低等優(yōu)點(diǎn),所以得到了較為廣泛的應(yīng)用。本文以巴特沃思數(shù)字帶通濾波器為例,較為詳細(xì)地介紹了其設(shè)計(jì)和實(shí)現(xiàn)方法。給定巴特沃茲數(shù)字帶通濾波器的抽樣頻率為500Hz,上、下邊帶截止頻率分別為150Hz和30Hz。
2.濾波器參數(shù)計(jì)算
雙線性變換法是在低通濾波器的基礎(chǔ)上采用頻率變換法把低通濾波器轉(zhuǎn)換成所需要濾波器的。據(jù)此方法,我們得到如下濾波器的系統(tǒng)模型:
(1)
3.Matlab仿真
針對式(1)所描述的系統(tǒng)模型,利用Matlab軟件工具箱函數(shù)freqz (b,a,N,F(xiàn)s)繪制出其幅頻特性和相頻特性,以檢驗(yàn)參數(shù)的正確性。該濾波器的幅相頻率特性如圖1所示。
圖3 濾波系統(tǒng)的硬件框圖
由圖1可見,系統(tǒng)的上、下邊帶分別為150Hz和30Hz,滿足系統(tǒng)設(shè)計(jì)要求。
4.FPGA設(shè)計(jì)
4.1 濾波器的結(jié)構(gòu)
同一系統(tǒng)函數(shù)的IIR濾波器可以用不同的結(jié)構(gòu)來實(shí)現(xiàn),如直接I型、直接II型(典范型)、級聯(lián)型和并聯(lián)型。不同的結(jié)構(gòu)有不同的特點(diǎn),為便于硬件實(shí)現(xiàn)及容易確定數(shù)據(jù)位數(shù),本文選用直接I型這一結(jié)構(gòu)形式。系統(tǒng)的直接I型結(jié)構(gòu)如圖2所示。
4.2 FPGA主要模塊
(1)D觸發(fā)器模塊
使用D觸發(fā)器來實(shí)現(xiàn)圖2中所需的延時(shí)功能。每當(dāng)時(shí)鐘上升沿到來時(shí),便對輸入的數(shù)據(jù)進(jìn)行鎖存。D觸發(fā)器可以利用Quartus II軟件中LPM宏模塊定制實(shí)現(xiàn)。
(2)乘累加模塊
由式(1)所描述的濾波器的系統(tǒng)模型,可得所對應(yīng)的差分方程如下:
(2)
乘累加模塊承擔(dān)式(2)中乘累加的計(jì)算工作。
5.實(shí)驗(yàn)
利用數(shù)字濾波器實(shí)現(xiàn)模擬信號濾波的系統(tǒng)結(jié)構(gòu)框圖如圖3所示。模擬輸入信號經(jīng)A/D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號,用FPGA數(shù)字濾波器進(jìn)行濾波處理,再經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)換為模擬輸出信號,完成模擬信號的濾波處理。FPGA芯片采用的是Cyclone II系列EP2C5T144C8型FPGA。A/D和D/A轉(zhuǎn)換器采用的康芯高速ADC/DAC模塊。
輸入峰峰值為5V的正弦信號,周期分別為10Hz、100Hz和200Hz,經(jīng)濾波系統(tǒng)處理后所得輸出信號波形分別如圖4、5、6所示,輸出信號幅度分別為400mV、2.32V、1.2V。
6.結(jié)束語
本文利用FPGA實(shí)現(xiàn)了巴特沃茲IIR數(shù)字帶通濾波器,并給出較為詳細(xì)的設(shè)計(jì)過程。實(shí)驗(yàn)結(jié)果證明了所設(shè)計(jì)的濾波器完全滿足預(yù)定設(shè)計(jì)要求。
參考文獻(xiàn)
[1]屈星,唐寧,嚴(yán)舒,等.基于FPGA的IIR數(shù)字濾波器的設(shè)計(jì)與仿真[J].計(jì)算機(jī)仿真,2009, 26(8):304-307,348.
[2]秦宏伍,史浩,崔.尤里.謝爾蓋維奇.基于FPGA的IIR濾波器整數(shù)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007,23(12-2):220-222.
[3]羅耀國,婁淑琴.基于FPGA的字串行FIR濾波器的實(shí)現(xiàn)[J].北方交通大學(xué)學(xué)報(bào),2003,27(6): 48-51.
[4]聶偉,楊勝姚,王巖嵩.基于FPGA的通用FIR濾波器設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2010, 27(10):69-72.
作者簡介:
李麗莉(1975—),女,河北唐山人,大學(xué)本科,工程師,主要從事中低壓自動化產(chǎn)品研發(fā)及工程項(xiàng)目設(shè)計(jì)工作。
通信作者:
張雨虹(1978—),女,河北唐山人,碩士,講師,主要研究方向:預(yù)測控制、混沌優(yōu)化、信息安全、電子電路設(shè)計(jì)、光通信。