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