《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于子項空間技術的低復雜度FIR濾波器實現(xiàn)
基于子項空間技術的低復雜度FIR濾波器實現(xiàn)
2014年電子技術應用第6期
徐 紅1,葉 豐2,黃朝耿3
1.浙江工業(yè)大學 信息工程學院,浙江 杭州310023; 2.杭州國芯科技股份有限公司,浙江 杭州3
摘要: 基于子項空間共享技術,利用硬件描述語言編程,在FPGA上對FIR數字濾波器進行了實現(xiàn)。該設計將常系數乘法模塊用加法和移位操作來實現(xiàn),并利用子項共享有效地減少加法器個數。綜合結果表明,所提方法可以有效節(jié)省硬件資源,降低實現(xiàn)成本,適用于低功耗數字系統(tǒng)設計。
中圖分類號: TN713
文獻標識碼: A
文章編號: 0258-7998(2014)06-0033-03
Implementation of low complexity FIR digital filters based on subexpression space
Xu Hong1,Ye Feng2,Huang Chaogeng3
1.College of Information Engineering,Zhejiang University of Technology,Hangzhou 310023,China;2.Hangzhou Nationalchip Science&Technology Co.,Ltd.,Hangzhou 310012,China;3.School of Information, Zhejiang University of Finance & Economics,Hangzhou 310018,China
Abstract: FIR filters are realized on FPGA by using hardware description language programming based on sharing common subexpression. In these techniques, the coefficient multipliers are realized as a multiplier block(MB) with shared shifters and adders,and common subexpression sharing is used to effectively reduce the number of adders. The results of hardware synthesis show that the proposed method can efficiently save hardware resources consumption and achieve lower implementation costs,which is in favor of low-power design of digital systems.
Key words : FIR digital filter design;subexpression space;common subexpression sharing;FPGA

       當前在信息與通信領域,無論是為了解決能源問題還是滿足產品本身的需要,如何設計低功耗通信電子產品已成為當前國際上的研究熱點之一。數字濾波器是各類電子系統(tǒng)中重要的組成部分,從實現(xiàn)的網絡結構上可分為有限沖激響應(FIR)濾波器和無限沖激響應(IIR)濾波器。對同樣的設計要求,F(xiàn)IR濾波器通常比IIR濾波器需要更高的階數,但FIR濾波器較IIR濾波器更為優(yōu)化和簡單,且能保證絕對穩(wěn)定和線性相位,因此在語音圖像處理、數字電視系統(tǒng)等領域都得到了極廣泛的應用[1-2]。數字濾波器實質上是一系列包括加法、乘法和數據傳輸在內的運算,最終要用物理器件來實現(xiàn)。當把這些設計好的數字濾波器用現(xiàn)場可編程門陣列(FPGA)器件來實現(xiàn)時[3],通常用綜合后的邏輯單元LE(Logic Element)數來衡量硬件消耗。子項空間技術利用濾波器系數之間的子項共享,可以有效減少濾波器實現(xiàn)時加法器的個數[4-8],從而降低實現(xiàn)復雜度,節(jié)省硬件資源。

1 子項空間及子項共享

        圖1(a)為FIR濾波器的轉置型結構。在這種結構中,輸入信號與濾波器的各個常系數h(k)(k=0,1,…,N-1)相乘并送入延時單元,這種操作通常被稱為多常數乘法MCM(Multiple Constants Multiplication)問題[9],可以用移位寄存器和加法器網絡來實現(xiàn)。因此,加法器可以進一步分為延遲單元的結構加法器SA(Structural Adders)和常數乘法單元的加法器MBA(Multiplier Block Adders),如圖1(b)所示。當濾波器階數固定后,延時單元和SA的數量相對固定(除非有些系數為0,SA會有所減少),因此FIR濾波器的實現(xiàn)復雜度主要決定于MBA的個數。

        一個離散子項空間中的元素可以通過下式構建[4]

        

        不論是單個系數內部,還是多個系數之間,用來實現(xiàn)公共子項的加法器都可以共享,從而達到減少加法器個數的目的。下面舉例說明:(1)假設某個系數用二進制序列表示為1010101,如果直接實現(xiàn),則需要3個加法器,如圖2(a)所示;如果將公共子項101提取出來先實現(xiàn),則只需要2個加法器,如圖2(b)所示。(2)假設某兩個系數用二進制序列表示分別為100101和10101,若兩個系數獨立實現(xiàn),則每個系數都需要2個加法器,即總共需要4個加法器,如圖3(a)所示;而將公共子項101提取出來先實現(xiàn),則每個系數只需要增加1個額外的加法器,即總共需要3個加法器,如圖3(b)所示。因此,合理利用子項共享,可有效降低數字濾波器的硬件消耗 [4]

2 FPGA內部結構及綜合特點

        硬件描述語言HDL(Hardware Description Language)支持行為級(Behavioral Level)、寄存器傳輸級RTL(Register Transfer Level)和門級(Gate Level)3個不同級別的設計,目前普遍使用寄存器傳輸級源代碼進行設計。綜合是把設計轉化為可制造器件的轉移過程,而該器件能執(zhí)行預期的功能。

        FPGA是專用集成電路(ASIC)領域中的一種半定制電路,應用非常廣泛,經常作為高階數字濾波器的實現(xiàn)器件。Altera公司的FPGA器件一般由二維的行列結構來實現(xiàn)用戶自定義邏輯,內部最小的邏輯單元LE可以高效地實現(xiàn)用戶邏輯函數[10]。一個LE主要由一個4輸入查找表、一個寄存器及進位和互連邏輯組成。查找表簡稱為LUT,LUT本質上是一個RAM。當用戶通過原理圖或HDL語言描述了一個邏輯電路后,F(xiàn)PGA開發(fā)軟件會自動計算邏輯電路所有可能的結果,并把結果事先寫入RAM,這樣每輸入一個信號進行邏輯運算就等于輸入一個地址進行查表,找出地址所對應的內容后輸出即可。也可以把LE當作一個4輸入的函數發(fā)生器,能夠實現(xiàn)4變量輸入的所有邏輯[10]。由于RTL級設計不涉及具體的工藝,不同的綜合工具、不同的器件類型可能會產生不同的綜合結果,即所需要的LE數量會有差異。因此,在同一種綜合工具、同一種器件類型的前提下對不同的實現(xiàn)方法進行比較。

3 基于Verilog HDL的RTL級實現(xiàn)

        Verilog HDL是目前廣泛使用的IEEE標準硬件描述語言,可以用不同的工具進行綜合和驗證。本文基于子項空間共享技術,采用Verilog HDL進行FIR數字濾波器的RTL級描述。下面舉例介紹具體的實現(xiàn)方法。以參考文獻[4]中的較低階濾波器S1為例,下面給出濾波器S1的系數,其中,h(n)=h(24-n),13≤n≤24;通帶增益為485.268 2。

        h(12)=3×26-1×20;h(11)=5×25-1×24;h(10)=3×24;

        h(9)=-3×23;h(8)=-1×25;h(7)=-3×20;h(6)=1×24

        h(5)=5×21;h(4)=-1×22;h(3)=-1×23;h(2)=-1×21;

        h(1)=3×20;h(0)=1×21

        由上可知,S1對應基組為{3,5},此基組的階數等于2,即產生基組需要2個加法器,由基組產生濾波器系數需要2個加法器,因此,MBA的個數為4,系數都不為零;SA的個數為24。

        (1)子項基組的產生

        assign x3={x_n,1'b0}+ x_n;               //x_n為輸入信號

        assign x5={x_n,2'b00}+x_n;

       (2)MBA的實現(xiàn)

        利用已經產生的基組,參照S1的系數,就可以得到MBA部分各常系數乘法的值,部分程序段如下:

        assign MBA12={x3,6'b000000}-x_n; //實現(xiàn)h[12]×x_n

        ……

        assign MBA0 = {x_n,1'b0};                  //實現(xiàn)h[0]×x_n

        (3)延時單元和SA的實現(xiàn)

        例S1中不存在值為0的系數,且考慮到線性相位FIR濾波器系數對稱,因此程序段如下:

        Delay_SA0 <= MBA0;

        Delay_SA1 <= Delay_SA0 + MBA1;

        &hellip;&hellip;

        Delay_SA11 <= Delay_SA10 + MBA11;

        Delay_SA12 <= Delay_SA11 + MBA12;

        Delay_SA13 <= Delay_SA12 + MBA11;

        &hellip;&hellip;

        Delay_SA23 <= Delay_SA22 + MBA1;

        Delay_SA24<= Delay_SA23 + MBA0;

        (4)輸出的實現(xiàn)

        考慮到S1的系數在有限字長實現(xiàn)時單位脈沖響應乘以512(=29)倍,因此在輸出時要進行截短處理,即去掉低9位。

4 綜合結果

        本節(jié)將選取參考文獻[4]中的4個例子分別在FPGA上進行綜合比較。4個例子的性能指標如表1所示。

        參考文獻[4]中基于子項共享進行系數離散化得到的結果如表2所示,具體的濾波器系數參見參考文獻[4]。

        如前所述,F(xiàn)PGA實現(xiàn)硬件資源的消耗可以通過綜合后LE的數量來衡量。分別選擇Cyclone系列的EP1-

C12Q240C8和APEX20KE系列的 EP20K600EBC652-3兩種型號的FPGA對4個濾波器兩種不同的實現(xiàn)方法(子項共享實現(xiàn)和直接實現(xiàn))進行綜合,綜合工具選用Quartus II,結果如表3所示。

        從表3可以看出,基于子項共享的實現(xiàn)可以有效減少FPGA中LE的消耗數量,且濾波器階數越高,共享的機會越大,效果越好。

        本文通過Verilog HDL編程在FPGA上實現(xiàn)了子項共享的FIR數字濾波器設計。子項空間共享技術可以有效地減少FIR濾波器實現(xiàn)時加法器的個數,從而使得綜合后消耗的LE數量明顯減少,有利于數字系統(tǒng)的低成本、低功耗設計,具有實際的應用意義。

參考文獻

[1] 唐博,李錦明,李士照.基于FPGA的高階FIR濾波器強抗干擾數據采集系統(tǒng)[J].電子技術應用,2012,38(9):89-92.

[2] 林志典,張方佩,袁國順.基于FPGA的高速FIR濾波器的設計與實現(xiàn)[J].微電子學,2013,43(4):200-202.

[3] 惠鵬飛,姚仲敏,夏穎,等.基于FPGA的無線傳感網絡信道波形整形濾波器[J].電子技術應用,2013,39(7):35-37.

[4] YU Y J,LIM Y C.Design of linear phase FIR filters in subexpression space using mixed integer linear programming[J].IEEE Trans.Circuits Syst.I,2007,54(10):2330-2338.

[5] YU Y J,LIM Y C.Optimization of linear phase FIR filters in dynamically expanding subexpression space[J].Circuit Syst.Signal Process.,2010,29(1):65-80.

[6] SHI D,YU Y J.Design of linear phase FIR filters with high probability of achieving minimum number of adders[J].IEEE Trans.Circuits Syst.I,2011,58(1):126-136.

[7] POTKONJAK M,SHRIVASTA M B,CHANDRAKASAN A  P.Multiple constant multiplication:Efficient and versatile framework and algorithms for exploring common subexpression elimination[J].IEEE Trans.Comput.Aided,1996,15(2):151-165.

[8] Xu Fei,CHANG C H,JONG C C.Design of low-complexity FIR filters based on signed-powers-of-two coefficients with reusable common subexpressions[J].IEEE Trans.Comput.Aided,2007,26(10):1898-1907.

[9] WANG Y,ROY K.CSDC:A new complexity reduction technique for multiplierless implementation of FIR filters[J].IEEE Trans.Circuits Sysm.I,2005,52(9):1845-1853.

[10] Altera公司.Cyclone2系列器件數據手冊:Cyclone device handbook,volume 1[Z].2007.

此內容為AET網站原創(chuàng),未經授權禁止轉載。