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