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