FIR濾波器的FPGA實現(xiàn)方法
(2)第二種結構為并行分布式結構。并行分布式結構就是將N個輸入量的不同位進行同時查表,而相同位送入同一個ROM尋址,不同位有不同的ROM。其結構如圖7所示。本文引用地址:http://2s4d.com/article/191366.htm
第三種結構為串并結合分布式結構。它是一種折中方案,既要求速度不太高又要求資源占用少。對于串行分布式算法,是一次一位(one bit-at-a-time,1BAAT)查找表,而并行分布式算法是一次B位(B bits-at-a-time)。所以串并結合分布式算法采用一次多位,如2BAAT,3BA-AT。圖8所示為4BAAT查找表結構圖。
圖8中位數(shù)B是4的倍數(shù),SRL為移位寄存器。SRL中第1行從右邊數(shù)第1列為數(shù)據(jù)的0位,第2列為數(shù)據(jù)的1位,第3列為數(shù)據(jù)的2位,第4列為數(shù)據(jù)的3位。類似地,第2行右數(shù)第1列為數(shù)據(jù)的4位,第2列為數(shù)據(jù)的5位,第3列為數(shù)據(jù)的6位,第4列為數(shù)據(jù)的7位。以后各行按相似的數(shù)位順序排列。在第一個時鐘周期,數(shù)據(jù)的0,4,…,B-4位同時進入查找表ROM中,查出所要的數(shù)據(jù),第二個時鐘周期,1,5,…,B-3位同時進入ROM中,查出所要的數(shù)據(jù),所查得的數(shù)據(jù)傳遞給下一級累加器進行累加,這樣依次對剩下的各數(shù)據(jù)位進行同樣的操作。由于每個塊之間相差4位,即16倍,為了對應位相加,所以乘16。FIR濾波器的分布式算法結構比單獨用乘法器實現(xiàn)的速度快,特別是濾波階數(shù)越高,其優(yōu)勢更加明顯。分布式結構中,串行結構是1次查詢1位,所以對B位的數(shù)據(jù)在不算上移位寄存等的時間,完成1次濾波需要B個時鐘周期;而并行結構只需要1個時鐘周期便完成濾波,所以并行結構是速度最優(yōu)的結構,但是并行結構需要B個DA查找表,需要大量的ROM來儲存,加大了硬件資源的消耗,特別是階數(shù)越高,硬件規(guī)模將十分膨大;串并結構綜合兩種結構優(yōu)勢,實現(xiàn)在速度和規(guī)模上的協(xié)調。實際應用中。需根據(jù)系統(tǒng)的要求來選擇合適的結構。
3 結語
本文定性地分析了各種FIR濾波器的FPGA實現(xiàn)方法。對于低階的FIR濾波器可采用串行結構、并行結構以及轉置型結構來實現(xiàn),而并行結構和轉置型結構的FIR濾波器以犧牲資源損耗來實現(xiàn)了速度上優(yōu)勢;對于高階的FIR濾波器,基于乘法器結構的串行結構、并行結構及轉置型結構在速度上難以達到高速處理的要求,而分布式算法將乘法轉換為查表和累加的結構,使得分布式結構的FIR濾波器在速度上得到了提高,
但三種不同形式的分布式結構要在綜合考慮資源以及速度的基礎上進行合理選擇;同樣采用FFT實現(xiàn)的FIR濾波器以減少運算量來獲得了速度上的提高,特別是濾波階數(shù)越高其速度提升越明顯。
現(xiàn)代工程技術領域對濾波系統(tǒng)的帶寬、高速、信號的實時性處理等方面要求越來越高,在運用FPGA來實現(xiàn)FIR濾波中,基于乘法器結構的FIR濾波器無法滿足以上要求,而分布式結構的FIR濾波器巧妙地運用ROM查找表來實現(xiàn)固定系數(shù)的乘累加運算,避免了乘法運算,并且在隨后的每級加法運算中引入流水線結構,提高了速度。因此采用分布式算法實現(xiàn)FIR濾波器是目前研究的熱點,同時無論哪種分布式算法都要使用ROM來做查找表,但是隨著濾波階數(shù)的增加,ROM的數(shù)量將會增加,在進一步提高速度的情況下如何減少ROM的數(shù)量是今后亟待解決的問題。
評論