基于多速率DA的根升余弦濾波器的FPGA實現(xiàn)
3.1 串行實現(xiàn)結(jié)構(gòu)
對于串行分布式算法結(jié)構(gòu)濾波器,LUT輸出值與寄存器值左移1位(乘以21)后的數(shù)值相加,并將相加后的結(jié)果存入寄存器。首先計算高位(b=0),再計算低位,所以寄存器的值要先左移1位再相加,從而減少資源消耗。當b=0時,做減法運算;當b>0時,做加法運算。經(jīng)過1次減法和B-1次加法,在B次查詢循環(huán)后完成計算,實現(xiàn)框圖如圖7所示。
3.2 位并行實現(xiàn)結(jié)構(gòu)
另一個DA結(jié)構(gòu)的改進即并行算法是以增加額外的LUT、寄存器和加法器為代價提高速度的。并行算法是速度最優(yōu)的高階分布式算法,實現(xiàn)框圖如圖8所示。
3.3 濾波器實現(xiàn)框圖
本設(shè)計的48階根升余弦濾波器的設(shè)計框圖如圖9所示。
根據(jù)文獻[10],利用VHDL語言,輸入數(shù)據(jù)位寬限定為8 b,F(xiàn)IR濾波器的系數(shù)是常數(shù),存在ROM中,工作頻率為78.643 2 MHz。
4 結(jié)果分析
本文實現(xiàn)選用的FPGA是Altera的StratixⅡEP2S60F1040C4,在QuartusⅡ7.2平臺上進行仿真。輸入數(shù)據(jù)位寬限定為8 b,整個處理過程沒有截位,因此該濾波器的頻率響應(yīng)與其他形式實現(xiàn)的濾波器頻率響應(yīng)是一樣的。區(qū)別集中在以下三點:
(1)節(jié)省資源開銷
通過仿真綜合后,得到根升余弦濾波器的三種實現(xiàn)方式的資源消耗情況。根據(jù)文獻[9],把1個DSPblock 9 b折合成82個ALUTs和82個寄存器計算,得到表2。
可見,傳統(tǒng)的實現(xiàn)結(jié)構(gòu)占用資源量大,而基于并行DA算法的實現(xiàn)結(jié)構(gòu)所占用的ALUTs只是前者的27.6%,寄存器只是它的35.7%,只是Memory bits大幅增加,不過相對來說,FPGA中Memory資源很豐富,可以不考慮。
本文所采用的并行DA算法實現(xiàn)結(jié)構(gòu)與QuartusⅡ自帶的基于DA算法的FIR濾波器IP core相比各有優(yōu)勢,雖然Memory bits比較多,但是關(guān)鍵性指標ALUTs和寄存器有大幅減少,約為IP core實現(xiàn)的60%左右??梢姡疚脑O(shè)計實現(xiàn)的濾波器在資源開銷方面有較明顯的優(yōu)勢。
(2)提高計算速度
DA算法的計算速度與系統(tǒng)階數(shù)無關(guān),只與輸入位寬有關(guān),處理時鐘/輸入位寬即是系統(tǒng)的工作速度,這種工作速度與階數(shù)無關(guān)的性質(zhì)非常適合大規(guī)模乘積和的計算,在階數(shù)很高的濾波器中運算優(yōu)勢明顯。對于位寬較大的輸入,可以將其拆分,讓電路并行工作成倍地提高處理速度,但速度的提高是以電路規(guī)模的同倍數(shù)擴大為代價的,在實際工作中需要仔細斟酌,尋找一個速度與資源的平衡點。
(3)提高系統(tǒng)工作頻率
對本設(shè)計而言,系統(tǒng)對速度的要求比較高,該FIR濾波器的工作頻率為64×1.228 8 MHz。對該傳統(tǒng)結(jié)構(gòu)的濾波器設(shè)計進行時序分析顯示,clock時鐘的時序邏輯所需的最小時鐘周期為5.902 ns,信號的最大時鐘頻率為169.4 MHz。對基于并行DA算法的根升余弦成形濾波器設(shè)計進行時序分析顯示,clock時鐘的時序邏輯所需的最小時鐘周期為3.823 ns,信號的最大時鐘頻率為261.57 MHz。同樣基于并行DA算法的IPcore FIR濾波器相應(yīng)的指標為292.74 MHz,3.416 ns??梢钥闯觯啾菼P core還有差距,但與傳統(tǒng)結(jié)構(gòu)相比,有很大提高。
5 結(jié) 語
從結(jié)果分析中的幾點可以看出,一方面并行DA算法性價比高于傳統(tǒng)算法;另一方面由于對濾波器引入多相結(jié)構(gòu),使得大部分電路工作在較低頻率下,減少了計算量,而且還降低了系統(tǒng)功耗,因此基于多速率處理技術(shù)和并行DA算法實現(xiàn)的根升余弦濾波器比以往的設(shè)計具有明顯優(yōu)勢,尤其是在減少邏輯資源開銷方面,非常適合邏輯資源受限的應(yīng)用設(shè)計中。
評論