新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 對FIR數(shù)字濾波器的FPGA實現(xiàn)的研究

對FIR數(shù)字濾波器的FPGA實現(xiàn)的研究

作者: 時間:2010-04-26 來源:網(wǎng)絡(luò) 收藏

  2 基于分布式算法的濾波器的實現(xiàn)

  2.1 分布式算法原理

  上世紀(jì)70年代Croisie提出了分布式算法DA(Distributed Arithmetic),但由于其特別適合用實現(xiàn),所以直到Xilinx公司在中使用查找表(LUT)后,DA才被廣泛應(yīng)用在求乘積和中。

  的濾波輸出y可以表示為輸入x和系數(shù)h的內(nèi)積:

公式

  由上述推導(dǎo)可知,分布式算法是一種以實現(xiàn)乘加運算為目的的運算方法。它與傳統(tǒng)實現(xiàn)乘加運算的先后順序不同。分布式算法在完成乘加功能時,是通過將各輸入數(shù)據(jù)每一對應(yīng)位產(chǎn)生的部分積預(yù)先進行相加形成相應(yīng)部分積,然后在對各部分積預(yù)先進行累加形成最終結(jié)果;而傳統(tǒng)算法是等到所有乘積產(chǎn)生之后再進行相加來完成乘加運算。

  2.2 分布式的實現(xiàn)結(jié)構(gòu)

  圖2為分布式FIR濾波器的直接實現(xiàn)結(jié)構(gòu)。對于小位寬的數(shù)據(jù),DA算法不僅速度快,而且所占用的芯片資源少。

分布式FIR濾波器的直接實現(xiàn)結(jié)構(gòu)

  2.3 性能優(yōu)化方法

  1)流水線結(jié)構(gòu)法 在濾波器中間增加適當(dāng)?shù)募拇嫫?,?gòu)成流水線結(jié)構(gòu)。在并行結(jié)構(gòu)實現(xiàn)中添加流水線結(jié)構(gòu),可以提高濾波器速度,使其工作在更高的工作頻率。對于速度固定的數(shù)據(jù),可以通過多次復(fù)用乘累加器來節(jié)省資源。

  2)查找表分隔法 在用LUT實現(xiàn)分布式算法時,由于LUT的規(guī)模隨著N的增加呈現(xiàn)指數(shù)增長,如果濾波器系數(shù)N過大,則查找表的規(guī)模十分龐大。為了減小規(guī)模,可以利用部分表計算。由于FIR濾波器是線性濾波器,因此低階濾波器輸出可以相加,由此定義一個高階濾波器的輸出。例如,把16輸入的查找表分割成4個并行的查找表。

  查找表的分隔技術(shù)和流水線技術(shù)可以大大減小設(shè)計規(guī)模,同時并不會降低濾波速度。使用DA算法實現(xiàn)的FlR濾波器與傳統(tǒng)的算法相比,DA算法可以極大地減少硬件電路規(guī)模,很容易實現(xiàn)流水線處理,提高電路的執(zhí)行速度。

  2.4 3種結(jié)構(gòu)實現(xiàn)的比較

  改進串行結(jié)構(gòu)、并行結(jié)構(gòu)、DA結(jié)構(gòu)實現(xiàn)的比較如下:

  1)改進串行結(jié)構(gòu) ①優(yōu)點:使用資源少,只需一些寄存器、乘累加器便可完成整個濾波運算;②缺點:濾波速度慢,一次濾波所需的時鐘數(shù)由濾波器的階數(shù)決定。階數(shù)較高的濾波器,濾波周期很大,無法實現(xiàn)高速濾波。

  2)并行結(jié)構(gòu) ①優(yōu)點:完成濾波的速度快,直接并行濾波器可以在一個時鐘周期內(nèi)完成一次濾波;②缺點:消耗大量的乘累加器,器件延遲較大,工作頻率不可能太高。

  3)DA結(jié)構(gòu) 與串行結(jié)構(gòu)實現(xiàn)相比,DA實現(xiàn)濾波速度較快,其濾波周期由數(shù)據(jù)寬度決定而與濾波器的階數(shù)無關(guān);而與并行實現(xiàn)相比,DA實現(xiàn)消耗的資源較少。且容易實現(xiàn)流水線處理,提高電路的執(zhí)行速度。

  在設(shè)計中,當(dāng)資源成本為主要制約時,根據(jù)速度要求,選擇串行結(jié)構(gòu)實現(xiàn)或DA結(jié)構(gòu)實現(xiàn);而當(dāng)速度成為主要制約時,則根據(jù)資源成本因素,選擇并行實現(xiàn)結(jié)構(gòu)或DA結(jié)構(gòu)實現(xiàn)。在一般的應(yīng)用設(shè)計中,一般采用DA結(jié)構(gòu)實現(xiàn)。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉