快速實現基于FPGA的脈動FIR濾波器
引言
目前,用FPGA(現場可編程門陣列)實現FIR(有限沖擊響應)濾波器的方法大多利用FPGA中LUT(查找表)的特點采用DA(分布式算法)或CSD碼等方法,將乘加運算操作轉化為位與、加減和移位操作。這些結構需要占用器件較多的LE(邏輯元件)資源,設計周期長,工作頻率低,實時性差。本文提出一種基于Stratix系列FPGA器件的新的實時高速脈動FIR濾波器的快速實現方法。利 用FGPA集成的DSP(數字信號處理器)乘加模塊定制卷積運算單元,利用VHDL(甚高速集成電路硬件描述語言)元件例化語句快速生成脈動陣列結構的FIR濾波器,設計周期短、可移植性強,設計采用全流水結構,能高速、無滯后地實現實時信號處理。
1 設計指標及參數量化
1.1 濾波器技術指標
本文依據以下技術指標設計一個64階等波紋濾波器:Fs=4.092 MHz;Fpass=1.4 MHz,fstop=1.6 MHz;Wpass<1 dB,Wstop<-50 dB。使用MATLAB中FDA-Tool工具獲得濾波器系數。
1.2 參數量化
從FDATool中得到的濾波器系數值是一組浮點小數,必須量化為定點數才能在FPGA器件中實現。本文采用移位舍入的量化方法對濾波器系數進行量化,MATLAB描述為:
得到64階系數。濾波器系數預先存入器件內部ROM中,通過修改coet.mif文件中的參數可以改變濾波器的類型或參數。使用altera_mf庫中altsyncram元件可以直接調用ROM中保存的數據。其調用語句描述如下:
2 FIR設計
2.1 器件簡介
Stratix系列FPGA內部提供了豐富的硬功能模塊,如片內RAM、PLL(鎖相環)、DSP模塊等,充分理解這些模塊的結構特點和工作原理,掌握其使用方法,可以充分利用器件資源,最大程度地發揮器件在整個系統設計中的作用,使系統設計最優化。提供的DSP模塊集成了乘、加/減/累加、求和這幾種算術操作,支持符號數、無符號數和混合運算,并且在這些計算路徑中集成了可選的寄存器級和全局/局部時鐘控制。一個DSP塊最多可以配置成8個9
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論