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

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

表1 所設計的濾波器參數表
利用Matlab的信號處理工具箱(signal processingtoolbox),求得所設計濾波器的系數示意圖見圖1,頻率-相位響應示意圖見圖2,該MAC FIR的結構框圖見圖3。

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

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

圖5 在System Generator環境中所搭建的MAC FIR處理模塊

圖6 實驗結果示意圖
由實驗結果可以看出,實際濾波器的頻率響應與理論分析一致,驗證了所設計的基于FPGA的MAC FIR的有效性與正確性。
本文介紹了使用FPGA實現MAC FIR帶通濾波器的方法。將System Generator工具與Verilog HDL語言相結合,簡化了MAC FIR實現的復雜度。通過基于JTAG的硬件協同實驗,驗證了所使用方法的有效性。
[1] 高西全,丁玉美,闊永紅.數字信號處理原理、實現及應用[M].北京:電子工業出版社,2006:289.
[2] 田 耘,胡 彬,徐文波,等.Xilinx ISE design Suite10.x FPGA開發指南,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開發實用教程[M].北京:清華大學出版社,2008:610.
[5] 國世超,陳 龍,韓方景.基于FPGA的對稱MACFIR數字濾波器的設計[J].信息技術,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—),男,山西武鄉人,2005年畢業于成都信息工程學院,碩士研究生,工程師,主要從事人力資源管理工作,(E -mail)zhangbei21060736@126.com