《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于子項空間技術的低復雜度FIR濾波器實現
基于子項空間技術的低復雜度FIR濾波器實現
2014年電子技術應用第6期
徐 紅1,葉 豐2,黃朝耿3
1.浙江工業大學 信息工程學院,浙江 杭州310023; 2.杭州國芯科技股份有限公司,浙江 杭州3
摘要: 基于子項空間共享技術,利用硬件描述語言編程,在FPGA上對FIR數字濾波器進行了實現。該設計將常系數乘法模塊用加法和移位操作來實現,并利用子項共享有效地減少加法器個數。綜合結果表明,所提方法可以有效節省硬件資源,降低實現成本,適用于低功耗數字系統設計。
中圖分類號: 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

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

1 子項空間及子項共享

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

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

        

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

2 FPGA內部結構及綜合特點

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

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

3 基于Verilog HDL的RTL級實現

        Verilog HDL是目前廣泛使用的IEEE標準硬件描述語言,可以用不同的工具進行綜合和驗證。本文基于子項空間共享技術,采用Verilog HDL進行FIR數字濾波器的RTL級描述。下面舉例介紹具體的實現方法。以參考文獻[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的實現

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

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

        ……

        assign MBA0 = {x_n,1'b0};                  //實現h[0]×x_n

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

        例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)輸出的實現

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

4 綜合結果

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

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

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

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

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

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

參考文獻

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

[2] 林志典,張方佩,袁國順.基于FPGA的高速FIR濾波器的設計與實現[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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: jizzjizz丝袜老师| 亚洲中文字幕无码久久2020 | 日本一区二区三区在线看| 人妻精品久久久久中文字幕一冢本| 成人黄色在线网站| 日日夜夜天天干| 免费观看国产精品| 57pao一国产成永久免费| 手机福利视频一区二区| 亚洲va久久久噜噜噜久久男同 | 九九精品免视看国产成人| 色妺妺在线视频| 国产裸拍裸体视频在线观看| 中文字幕视频在线观看| 狠狠狠狼鲁欧美综合网免费| 国产精品亚洲综合一区在线观看| 久久无码人妻一区二区三区午夜| 爆乳美女脱内衣18禁裸露网站| 国产欧美日韩一区二区三区在线| gogo全球高清大胆啪啪| 日本一道一区二区免费看 | 色老太婆bbw| 国语对白一区二区三区| 一级看片免费视频囗交| 日韩在线观看一区二区三区| 亚洲日韩乱码中文无码蜜桃| 真实调教奇优影院在线观看| 国产一级淫片a视频免费观看| 中文字幕精品亚洲无线码二区| 欧美三级中文字幕在线观看| 伊人久久大香线蕉久久婷婷| 老熟女高潮一区二区三区| 国产极品白嫩精品| 一区二区在线视频免费观看| 日本漫画大全无翼无彩全番| 亚洲国产午夜精品理论片| 电车上强制波多野结衣| 双手扶在浴缸边迎合着h| 青青青青草原国产免费| 国产欧美日韩视频在线观看| 8050午夜网|