FPGA實(shí)現(xiàn)FIR抽取濾波器的設(shè)計(jì)
摘要:采用基于分布式算法思想的方法來(lái)設(shè)計(jì)FIR濾波器,利用FDAt001設(shè)計(jì)系統(tǒng)參數(shù),計(jì)算濾波器系數(shù),同時(shí)為了要滿(mǎn)足系統(tǒng)要求考慮系數(shù)的位數(shù)。根據(jù)FIR數(shù)字濾波器結(jié)構(gòu),對(duì)FIR數(shù)字濾波器的FPGA實(shí)現(xiàn)方法進(jìn)行分析。
關(guān)鍵詞:FIR;FPGA;濾波器系數(shù)
O 引言
FIR(fini te impulse response)濾波器是數(shù)字信號(hào)處理系統(tǒng)中最基本的元件,它可以在保證任意幅頻特性的同時(shí)具有嚴(yán)格的線(xiàn)性相頻特性,同時(shí)其單位沖激響應(yīng)是有限的,沒(méi)有輸入到輸出的反饋,系統(tǒng)穩(wěn)定。因此,F(xiàn)IR濾波器在通信、圖像處理、模式識(shí)別等領(lǐng)域都有著廣泛的應(yīng)用。在工程實(shí)踐中,往往要求對(duì)信號(hào)處理要有實(shí)時(shí)性和靈活性,而已有的一些軟件和硬件實(shí)現(xiàn)方式則難以同時(shí)達(dá)到這兩方面的要求。隨著可編程邏輯器件的發(fā)展,使用FPGA來(lái)實(shí)現(xiàn)FIR濾波器,既具有實(shí)時(shí)性,又兼顧了一定的靈活性,越來(lái)越多的電子工程師采用FPGA器件來(lái)實(shí)現(xiàn)FIR濾波器。
1 FIR濾波器工作原理
在進(jìn)入FIR濾波器前,首先要將信號(hào)通過(guò)A/D器件進(jìn)行模數(shù)轉(zhuǎn)換,使之成為8bit的數(shù)字信號(hào),一般可用速度較高的逐次逼進(jìn)式A/D轉(zhuǎn)換器,不論采用乘累加方法還是分布式算法設(shè)計(jì)FIR濾波器,濾波器輸出的數(shù)據(jù)都是一串序列,要使它能直觀(guān)地反應(yīng)出來(lái),還需經(jīng)過(guò)數(shù)模轉(zhuǎn)換,因此由FPGA構(gòu)成的FIR濾波器的輸出須外接D/A模塊。FPGA有著規(guī)整的內(nèi)部邏輯陣列和豐富的連線(xiàn)資源,特別適合于數(shù)字信號(hào)處理任務(wù),相對(duì)于串行運(yùn)算為主導(dǎo)的通用DSP芯片來(lái)說(shuō),其并行性和可擴(kuò)展性更好,利用FPGA乘累加的快速算法,可以設(shè)計(jì)出高速的FIR數(shù)字濾波器。
2 16階濾波器結(jié)構(gòu)
在濾波過(guò)程中實(shí)現(xiàn)抽取,對(duì)于抽取率為N的抽取濾波器而言,當(dāng)進(jìn)來(lái)N個(gè)數(shù)據(jù)時(shí)濾波器完成1次濾波運(yùn)算,輸出1次濾波結(jié)果。抽取濾波器的結(jié)果和先濾波后抽取的結(jié)果是一致的,只是對(duì)于同樣的數(shù)據(jù),進(jìn)行濾波運(yùn)算的次數(shù)大大減少。在數(shù)字系統(tǒng)中采用拙取濾波器的最大優(yōu)點(diǎn)是增加了每次濾波的可處理時(shí)間,從而達(dá)到實(shí)現(xiàn)高速輸入數(shù)據(jù)的目的。采樣數(shù)據(jù)與濾波器系數(shù)在控制電路的作用下,分別對(duì)應(yīng)相乘并與前一個(gè)乘積累加,經(jīng)過(guò)多次(有多少階就要多少次)反復(fù)的乘累加最后輸出濾波結(jié)果,將相同系數(shù)歸類(lèi),16階濾波器公式:
乘法器的數(shù)量減少一半,但加法器的數(shù)量增多了,但相對(duì)乘法運(yùn)算來(lái)說(shuō),加法運(yùn)算所占用的資源少的多,運(yùn)算的速度也快得多。
評(píng)論