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