胡少軒
基于FPGA的MACFIR濾波器的實(shí)現(xiàn)
胡少軒
(山西國新能源發(fā)展集團(tuán)有限公司,山西 太原 030006)
FIR濾波器在通信、圖像處理、模式識別等領(lǐng)域都有著廣泛的應(yīng)用。本文設(shè)計(jì)了基于乘累加器(Multiply Accumulation,MAC)的有限沖激響應(yīng)濾波器(Finite Impulse Response Filter),介紹了其優(yōu)點(diǎn)及詳細(xì)的設(shè)計(jì)方法,并給出了基于FPGA的實(shí)現(xiàn)流程,最后進(jìn)行了基于JTAG的硬件協(xié)同仿真驗(yàn)證。仿真與實(shí)驗(yàn)結(jié)果驗(yàn)證了所提出MAC FIR的正確性與有效性。
FIR;MAC;FPGA;數(shù)字信號處理
數(shù)字信號處理已在通信、語音、圖像、自動控制、雷達(dá)、軍事、航空航天等領(lǐng)域廣泛應(yīng)用。數(shù)字信號處理方法通常涉及變換、濾波、頻譜分析、編碼解碼等處理。FIR(Finite Impulse Response,有限沖激響應(yīng))濾波器是數(shù)字信號處理系統(tǒng)中最基本的元件,它可以在保證任意幅頻特性的同時(shí)具有嚴(yán)格的線性相頻特性,同時(shí)其單位抽樣響應(yīng)是有限長的,因而濾波器是穩(wěn)定的系統(tǒng)。因此,F(xiàn)IR濾波器在通信、圖像處理、模式識別等領(lǐng)域都有著廣泛的應(yīng)用[1]。
利用 FPGA(Field Programmable Gate Array,現(xiàn)場可編程門陣列)可以重復(fù)配置高精度的FIR濾波器,使用Verilog HDL硬件描述語言改變?yōu)V波器的系數(shù)和階數(shù),并能實(shí)現(xiàn)大量的卷積運(yùn)算算法[2,3]。本文結(jié)合了MATLAB工具軟件進(jìn)行輔助設(shè)計(jì),使得所設(shè)計(jì)的FIR濾波器具有快速、靈活、適用性強(qiáng),硬件資源耗費(fèi)少等特點(diǎn)。
本文將首先分析MAC FIR的基本原理及其特性,然后給出其基于FPGA的實(shí)現(xiàn)方案,最后使用基于JTAG協(xié)議的半實(shí)物硬件協(xié)同實(shí)驗(yàn)來驗(yàn)證其有效性。
MAC FIR是最簡單的DSP濾波器結(jié)構(gòu)之一。與全并行濾波器相比,MAC結(jié)構(gòu)采用單一乘法器和累加器來順序?qū)崿F(xiàn)FIR濾波器。該折衷設(shè)計(jì)不僅使硬件數(shù)量大大減少,也使濾波器吞吐量按照同樣比例下降。通用的FIR濾波器公式是乘積(也稱為內(nèi)積)的總和,定義為[4,5]:

式中,n-i個(gè)系數(shù)與i個(gè)相應(yīng)的數(shù)據(jù)采樣相乘,然后對內(nèi)積求和來產(chǎn)生單個(gè)結(jié)果。這里的系數(shù)值確定了濾波器的特性(如:低通濾波器、帶通濾波器、高通濾波器)。該公式可以采用不同架構(gòu)、利用不同方法(如,串行、半并行或并行)來實(shí)現(xiàn)。在采樣速度慢、系數(shù)多時(shí),采用單一的MAC FIR濾波器來實(shí)現(xiàn)非常合適。利用高速時(shí)鐘來驅(qū)動乘加器,實(shí)現(xiàn)對低速數(shù)據(jù)的多倍計(jì)算。本文所設(shè)計(jì)濾波器的參數(shù)見表1。

表1 所設(shè)計(jì)的濾波器參數(shù)表
利用Matlab的信號處理工具箱(signal processingtoolbox),求得所設(shè)計(jì)濾波器的系數(shù)示意圖見圖1,頻率-相位響應(yīng)示意圖見圖2,該MAC FIR的結(jié)構(gòu)框圖見圖3。

在確定了MAC FIR的基本實(shí)現(xiàn)結(jié)構(gòu)之后,在Xilinx公司的FPGA上對MAC FIR進(jìn)行了實(shí)現(xiàn)。因?yàn)镸AC FIR的實(shí)現(xiàn)結(jié)構(gòu)中不僅包含了邏輯處理單元,還含有大量的硬核乘加、反饋延時(shí)等操作,若全部使用Verilog HDL語言進(jìn)行手工編寫,考慮時(shí)序、寄存器配置等工作,實(shí)現(xiàn)過程將極為復(fù)雜,其基本的設(shè)計(jì)與實(shí)現(xiàn)流程見圖4。

圖4 MAC FIR的實(shí)現(xiàn)流程圖
本文將Xilinx公司的System Generator系統(tǒng)級建模工具引入了MAC FIR算法的設(shè)計(jì)之中。System Generator在很多方面擴(kuò)展了Mathworks公司的Simulink平臺,提供了適合硬件設(shè)計(jì)的數(shù)字信號處理建模環(huán)境,加速、簡化了FPGA的DSP系統(tǒng)硬件設(shè)計(jì)。在算法中,輸入輸出數(shù)據(jù)的邏輯處理由Verilog HDL語言手工編寫,而最為繁瑣的硬件乘加運(yùn)算、延時(shí)模塊等則在System Generator工具中開發(fā),并在仿真通過驗(yàn)證之后自動生成Verilog HDL代碼,做為子模塊導(dǎo)入Xilinx FPGA集成開發(fā)環(huán)境ISE,然后在手工編寫的頂層模塊中調(diào)用該子模塊,再經(jīng)過仿真驗(yàn)證、編譯、綜合、布局布線、燒寫器件等操作,最終完成基于FPGA的MAC FIR的實(shí)現(xiàn)。在System Generator工具中所搭建的模型見圖5,其中的乘法操作優(yōu)先使用了FPGA內(nèi)部的硬件乘法單元。
在濾波器比較復(fù)雜、仿真時(shí)間較長時(shí),直接在System Generator環(huán)境中大量仿真數(shù)據(jù)需要等待很長的時(shí)間。借助于Xilinx的硬件協(xié)同仿真技術(shù),可以將硬件直接加入到仿真環(huán)路中來,讓FPGA來并行進(jìn)行驗(yàn)證(Hardware IN Loop),很明顯其驗(yàn)證速度將大大提高,更重要的是,這是實(shí)實(shí)在在的在芯片上跑,所以結(jié)果是真實(shí)可靠的。
本文使用了基于Xilinx公司Spartan6 FPGA的硬件平臺進(jìn)行了實(shí)驗(yàn)驗(yàn)證,其型號為Spartan6 LX45。Spartan-6 FPGA可提供先進(jìn)的電源管理技術(shù)、多達(dá)15萬個(gè)的邏輯單元、集成PCI Express?模塊、高級存儲器支持、250 MHz DSPSlice和3.125 Gbps低功耗收發(fā)器。實(shí)驗(yàn)結(jié)果見圖6。

圖5 在System Generator環(huán)境中所搭建的MAC FIR處理模塊

圖6 實(shí)驗(yàn)結(jié)果示意圖
由實(shí)驗(yàn)結(jié)果可以看出,實(shí)際濾波器的頻率響應(yīng)與理論分析一致,驗(yàn)證了所設(shè)計(jì)的基于FPGA的MAC FIR的有效性與正確性。
本文介紹了使用FPGA實(shí)現(xiàn)MAC FIR帶通濾波器的方法。將System Generator工具與Verilog HDL語言相結(jié)合,簡化了MAC FIR實(shí)現(xiàn)的復(fù)雜度。通過基于JTAG的硬件協(xié)同實(shí)驗(yàn),驗(yàn)證了所使用方法的有效性。
[1] 高西全,丁玉美,闊永紅.數(shù)字信號處理原理、實(shí)現(xiàn)及應(yīng)用[M].北京:電子工業(yè)出版社,2006:289.
[2] 田 耘,胡 彬,徐文波,等.Xilinx ISE design Suite10.x FPGA開發(fā)指南,DSP、嵌入式與高速傳輸篇[M].北京:人民郵電出版社,2008:441.
[3] Harding B F,Cofer R C.Rapid system prototyping with FPGAs[M].Amsterdam:Elsevier/Newnes,2006:301.
[4] 田 耘,徐文波.Xilinx FPGA開發(fā)實(shí)用教程[M].北京:清華大學(xué)出版社,2008:610.
[5] 國世超,陳 龍,韓方景.基于FPGA的對稱MACFIR數(shù)字濾波器的設(shè)計(jì)[J].信息技術(shù),2009(11):97-100.
Implementation of the MAC FIR Filter Based on FPGA
Hu Shao-xuan
The FIR filter is widely used in communications,image processing,pattern recognition and other fields.An FIR filter based on MACwas designed.The advantages and detailed design process were described,with the FPGA implementation process proposed.Finally,the hardware co -simulation based on JTAGwas carried out.Simulation and experimental results verify the correctness and effectiveness of the proposed MAC FIR.
FIR(Finite Impulse Response);MAC(Multiply Accumulation);FPGA(Field Programmable Gate Array);DSP(Digital Signal Processing)
TD65
A
1672-0652(2011)11-0044-03
2011-10-25
胡少軒(1982—),男,山西武鄉(xiāng)人,2005年畢業(yè)于成都信息工程學(xué)院,碩士研究生,工程師,主要從事人力資源管理工作,(E -mail)zhangbei21060736@126.com