《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于RAG-n算法的低成本FIR濾波器實現
基于RAG-n算法的低成本FIR濾波器實現
2016年電子技術應用第5期
徐 紅1,葉 豐2,黃朝耿3
1.浙江工業大學 信息工程學院,浙江 杭州310023; 2.杭州國芯科技股份有限公司,浙江 杭州310012;3.浙江財經大學 信息學院,浙江 杭州310018
摘要: 基于FIR數字濾波器多常數乘法的圖表示法,利用MATLAB對RAG-n算法進行了實現。通過仿真該算法在大多數情況下都可以高效地解決加法器優化問題,有效降低了FIR濾波器常系數乘法的復雜度。在FPGA上用Verilog HDL語言對優化實例進行了實現,其綜合結果表明,該方法可以有效減少邏輯單元的消耗,適用于低成本數字系統設計。
中圖分類號: TN713
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.05.009
中文引用格式: 徐紅,葉豐,黃朝耿. 基于RAG-n算法的低成本FIR濾波器實現[J].電子技術應用,2016,42(5):32-35.
英文引用格式: Xu Hong,Ye Feng,Huang Chaogeng. Implementation of low-cost FIR digital filters based on RAG-n algorithm[J].Application of Electronic Technique,2016,42(5):32-35.
Implementation of low-cost FIR digital filters based on RAG-n algorithm
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: Based on graph representation of multiple constants multiplication, RAG-n algorithm is implemented by MATLAB. RAG-n algorithm can solve optimization problem of adder number in most cases efficiently, and reduce the complexity of FIR filter constant coefficient multiplication. The results of FPGA hardware synthesis show that this method can greatly reduce the number of logic elements applicable to low-cost design of digital systems.
Key words : FIR digital filter;graph representation of multipliers;n-dimensional reduced adder graph algorithm;FPGA

0 引言

    有限沖激響應(FIR)濾波器具有能保證絕對穩定和線性相位等優點,在數字系統設計中應用廣泛。對于某一應用需求,FIR濾波器相對于無限沖激響應(IIR)濾波器往往需要更長的階數,從而在實現時需要更多的乘法和延時等操作,因此如何降低FIR濾波器的硬件實現成本一直具有實際的研究意義。近幾年一些研究者注重在確定參數階段就將最后的硬件實現成本(主要是加法器的個數)考慮進去,即在實現成本和頻率響應兩方面約束下進行濾波器的優化設計。這些方法往往算法復雜,運行時間長,且不能保證得到最優結果,因此進行實際應用的技術人員很難有效利用這些方法。更普遍的情況是對應具體的應用需求,應用MATLAB等數學工具已經設計出滿足需求的有限字長固定系數FIR濾波器,其實現時的硬件成本是很多應用工程師關心的問題。因此本文著眼于固定系數的FIR濾波器實現問題,利用高效的RAG-n算法,降低加法器個數,從而有效降低FIR濾波器的硬件實現成本。

1 FIR濾波器多常數乘法的圖表示法

1.1 多常數乘法

    圖1為FIR濾波器的轉置型結構。

wdz2-t1.gif

    如圖1所示,輸入信號首先與濾波器的各個常系數相乘后被送入延時單元,這種操作通常稱為多常數乘法(Multiple Constants Multiplication,MCM)問題。常數乘法可以通過無乘法(multiplierless)技術來實現,即用移位寄存器和加(減)法器代替乘法器。因此,加法器可以進一步分為乘法模塊(Multiplier Block,MB)的加法器和延遲單元的加法器(Structural Adders,SA)。一旦給定濾波器階數,延時單元和SA的數量就相對固定,因此,FIR濾波器實現復雜度主要決定于MB。

1.2 多常數乘法的圖表示法

    以常系數集合[1,7,16,21,33]為例,要實現與同一個輸入信號的乘法,可以用一個有向無環圖來集中產生所有系數乘法[1],如圖2所示。

wdz2-t2.gif

    從圖2我們看出:

    (1)已經產生的節點(Fundamentals)可以用來產生還未產生的系數,例如21可以通過7產生,只要再增加一個加法器就可以,否則單獨產生21需要兩個加法器:21=24+22+1。因此高效的圖表示法可以減少整個乘法模塊總的加法器個數。

    (2)不同的圖表示方式需要的加法器個數可能不同,圖2(a)用了4個加法器,而圖2(b)只用了3個加法器。

2 RAG-n算法

    RAG-n算法是一種非常高效的多常數乘法圖表示法,圖2(b)的結果就是由它得到的。RAG-n算法包含兩部分:最優部分和啟發部分[1]。在算法執行過程中需要用到兩個查找表:第一個表對應系數單獨實現時需要的最少加法器個數(即單個系數的最優代價),第二個表對應系數最優代價實現的具體方法,可能不止一種,如3=2+1或是3=4-1。

2.1 最優部分算法流程

    “incomplete”集合初始為空;“graph”集合初始元素只有“1”;cost表示加法器代價,算法步驟如下。

    (1)將所有系數通過除以2(或-2)的操作得到對應的正奇數,其結果存入“incomplete”集合;

    (2)查表得到所有單個系數的最優代價;

    (3)去掉“incomplete”集合中代價為零的系數以及重復的系數;

    (4)將“incomplete”集合中cost=1的系數移除并存入“graph”集合,例如7=8-1;

    (5)計算在有限字長范圍內“graph”集合元素能產生的所有cost=0的正整數,存入“cost0”集合,然后進行兩兩相加(或減),如果得到了“incomplete”集合中的某一個系數,則將該系數從“incomplete”集合移除存入“graph”集合。

    (6)重復步驟(5),直到沒有系數添加到“graph”集合。

    在上述步驟中,如果“incomplete”集合為空,即所有的系數都已經被綜合,則算法結束。

    例如,原始系數集合=[1,7,16,-21,33,42,83],算法執行過程如下:

    (1)“incomplete”集合=[1,7,1,21,33,21,83];

    (2)[1,7,1,21,33,21,83]的代價分別為:[0,1,0,2,1,2,3];

    (3)“incomplete”集合=[7,21,33,83];

    (4)“incomplete”集合=[21,83],“graph”集合=[1,7,33];

    (5)第一次執行:“cost0”集合=[1,2,4,…;7,14,28,…;33,66,132,…],21=14+7,所以“incomplete”集合=[83],“graph”集合=[1,7,21,33];

    (6)第二次執行:“cost0”集合=[1,2,4,…;7,14,28,…;21,42,84,…;33,66,132,…],83=84-1,所以“incomplete”集合=[],“graph”集合=[1,7,21,33,83],算法結束。

2.2 啟發部分算法流程

    延續2.1節流程,以下第(7)~(10)步驟為啟發部分算法流程。

    (7)如果有系數沒有在最優部分被綜合,則是因為已有節點只通過一個加法器得不到該系數,表明該系數與現有節點的加法距離大于等于2,即distance≥2。首先搜索兩種distance=2的情況:

    ①該系數和已有節點值的差值是否存在cost=1的數;

    ②該系數和任意兩個節點值的差值是否存在cost=0的數;

    以上兩種情況都可以通過增加兩個加法器得到該系數。

    例如,若原始系數集合=[1,7,16,-21,33,42,83,341],341在最優部分不能被綜合,但是341-21=320,320是一個cost=1的數,則341=21+(1+4)×26;若原始系數集合=[1,7,16,-21,33,42,83,283],283在最優部分不能被綜合,但是283-(33+21)/2=256,256是一個cost=0的數,則283=(33+21)/2+256。

    (8)重復執行步驟(6)和步驟(7),直到沒有系數再被綜合。

    (9)如果達到這一步,說明存在與已有節點distance>2的系數或是步驟(7)中沒有被搜索到distance=2的情況,這時需要加入一些節點來增大搜索范圍,一般以單個系數cost值從小到大的順序產生,這個過程具有隨意性。

    (10)重復執行步驟(6)至步驟(9),直到所有的系數都被綜合。

    如果所有的系數都能在最優部分被綜合,則得到的結果可以保證總的加法器個數是最少的,否則,剩下的系數將在啟發部分被綜合,不能保證結果最優。啟發部分計算量大、計算時間長且具有隨意性。為了增強算法的實用性,我們通過MATLAB軟件設計實現了RAG-n算法的步驟(1)~步驟(8),并對綜合系數占總系數的百分比進行了仿真,如圖3和圖4所示。濾波器系數的數目從10到80間隔10取值,字長從6到12間隔2取值,每個點隨機產生500組濾波器系數用RAG-n算法進行優化,最后將百分比結果進行統計平均,得到一個仿真點的值,具體數值如表1所示。

wdz2-t3.gif

wdz2-t4.gif

wdz2-b1.gif

    圖4和表1的仿真結果表明,一般情況下步驟(1)~步驟(8)都能夠綜合大部分或者全部的系數,42.5%的結果沒有太多實際意義,因為在字長比較大的時候,階數通常比較高。因此在實際應用中,采用最優部分加上distance=2的啟發部分可以解決絕大多數加法器優化問題,且運行效率較高。

3 實現舉例

    以文獻[2]中60階濾波器S2為例,對給定系數通過MATLAB編寫的RAG-n算法進行加法器優化,然后采用Verilog HDL語言進行濾波器的RTL級描述,并在FPGA上進行綜合比較。S2濾波器的通帶邊界頻率為0.042π,阻帶邊界頻率為0.14π,通帶波動小于0.012,阻帶波動小于0.001。具體系數見表2。

wdz2-b2.gif

    以上系數正奇數化并且去掉cost=0的項和重復項后,需要RAG-n算法優化的系數集合從小到大排列為:[3,5,7,11,13,47,89,91,99,193,223,229,241,273,343,421,587],共有17個不同的奇數,所需加法器的下限為17,通過RAG-n算法優化得到的加法器個數也是17個,而文獻[2]中通過子項共享方法得到的加法器是19個。通過Verilog HDL語言實現時對應的語句如下,x_in為濾波器輸入信號:

    assign x3={x_in,1′b0}+ x_in;//3=1×21+1

    assign x5={x_in,2′b00}+ x_in;//5=1×22+1

    assign x7={x_in,3′b000}- x_in;//7=1×23-1

    assign x11={x_in,3′b000}+ x3;//11=1×23+3

    assign x13={x3,2′b00}+ x_in;//13=3×22+1

    assign x47={x3,4′b0000}- x_in;//47=3×24-1

    assign x89={x11,3′b000}+ x_in;//89=11×23+1

    assign x91={x3,5′b00000}-x5;//91=3×25-5

    assign x99={x3,5′b00000}+x3;//99=3×25+3

    assign x193={x3,6′b000000}+ x_in;//193=3×26+1

    assign x223={x7,5′b00000}- x_in;//223=7×25-1

    assign x229={x7,5′b00000}+x5;//229=7×25+5

    assign x241={x3,4′b0000}+x193;//241=3×24+193

    assign x273={x91,1′b0}+x91;//273=91×21+91

    assign x343={x89,2′b00}-x13;//343=89×22-13

    assign x421={x13,5′b00000}+x5;//421=13×25+5

    assign x587={x91,2′b00}+x223;//587=91×22+223

    以上結果通過移位操作就可以得到原系數h(n)與輸入信號x_in的多常系數乘法。

4 硬件綜合結果

    FPGA硬件資源的消耗可以通過綜合后邏輯單元(Logic Element,LE)的數量來衡量。應用3種不同的方法對上例進行實現比較:

    (1)直接實現,即輸入與濾波器系數h(n)直接相乘實現;

    (2)子項共享實現,即根據文獻[2]中的子項共享結果實現[3]

    (3)RAG-n算法優化實現。

    我們分別選擇Cyclone系列的EP1C12Q240C8和APEX20KE系列的 EP20K600EBC652-3兩種型號的FPGA,綜合工具選用Quartus II,結果如表3。

wdz2-b3.gif

    從表3可以看出,RAG-n算法由于加法器個數的減少節省了FIR濾波器FPGA硬件實現時的成本。

5 結論

    本文通過MATLAB編程實現了RAG-n算法的最優部分和distance=2的啟發部分,并對算法的優化實例用硬件描述語言在FPGA上進行了實現。RAG-n算法能有效降低加法器個數,從而有效節省FIR濾波器的硬件資源消耗,對FIR濾波器的低成本設計實現具有應用意義。

參考文獻

[1] DEMPSTER A G,MACLEOD M D.Use of minimum-adder multiplier blocks in FIR digital filters.Circuits and Systems II:Analog and Digital Signal Processing[J].IEEE Transactions on,1995,42(9):569-577.

[2] 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,Reg.Papers,2007,54(10):2330-2338.

[3] 徐紅,葉豐,黃朝耿.基于子項空間技術的低復雜度FIR濾波器實現[J].電子技術應用,2014,40(6);33-35.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          久久频这里精品99香蕉| 久久一日本道色综合久久| 国产日韩欧美成人| 欧美精品一区二区三区在线播放| 久久精品系列| 国产精品久久久久秋霞鲁丝| 亚洲国产精品久久精品怡红院| 91久久久亚洲精品| 狠狠v欧美v日韩v亚洲ⅴ| 黄色成人在线网站| 欧美日韩亚洲国产一区| 欧美视频二区| 在线看片欧美| 久久这里有精品15一区二区三区| 久久激情五月激情| 国产欧美日韩免费| 欧美日韩国产电影| 亚洲日韩中文字幕在线播放| 亚洲国产婷婷| 久久激五月天综合精品| 亚洲伊人一本大道中文字幕| 日韩视频专区| 在线日韩成人| 欧美无乱码久久久免费午夜一区| 国产精品福利av| 欧美成人一区二区三区片免费| 国产精一区二区三区| 一区二区日韩免费看| 亚洲视频香蕉人妖| 欧美日韩中文在线| 激情小说亚洲一区| 91久久在线观看| 欧美性大战久久久久| 国产性天天综合网| 在线播放亚洲一区| 国产精品一级二级三级| 久久一日本道色综合久久| 在线观看亚洲视频| 亚洲精品久久久蜜桃| 国产精品xxxav免费视频| 午夜精品久久久久久久99水蜜桃| 欧美日韩1区2区3区| 裸体一区二区| 久久亚洲精品一区二区| 亚洲永久免费精品| 午夜精品在线视频| 在线日韩欧美视频| 久久久国产精品一区二区三区| 曰本成人黄色| 夜夜嗨av一区二区三区网页| 欧美视频中文字幕| 亚洲欧美日韩在线| 欧美性做爰猛烈叫床潮| 久久精品国产亚洲高清剧情介绍| 激情久久久久久久久久久久久久久久| 在线观看日产精品| 久久成人精品一区二区三区| 99国产精品私拍| 国产精品成人一区二区网站软件| 欧美一区日本一区韩国一区| 久久精品女人| 欧美日本国产视频| 欲香欲色天天天综合和网| 亚洲自拍偷拍福利| 一色屋精品亚洲香蕉网站| 久久久亚洲午夜电影| 99精品免费| 国产日韩欧美在线| 欧美韩国一区| 国产精品日韩在线一区| 欧美视频三区在线播放| 亚洲区一区二| 久久精品夜色噜噜亚洲a∨| 欧美在线视频观看| 亚洲精品乱码久久久久| 经典三级久久| 免费观看成人www动漫视频| 欧美激情第六页| 国产精品素人视频| 欧美精品久久久久久久免费观看| 国产偷国产偷亚洲高清97cao| 欧美在线一二三| 欧美日韩国产不卡在线看| a4yy欧美一区二区三区| 免费成人小视频| 亚洲欧美一区二区三区在线| 亚洲国产专区校园欧美| 久久视频免费观看| 麻豆国产va免费精品高清在线| 夜夜嗨一区二区三区| 欧美精品观看| 亚洲女性喷水在线观看一区| 欧美激情第3页| 欧美在线亚洲一区| 久久婷婷国产综合国色天香| 欧美视频精品在线观看| 国产精品一二一区| 欧美日韩国产一区二区三区地区| 亚洲电影在线看| 亚洲欧美视频在线观看| 亚洲精品一区二区三区福利| 亚洲激情专区| 宅男精品视频| 国产精品扒开腿做爽爽爽视频| 在线精品国精品国产尤物884a| 性欧美1819性猛交| 欧美日韩国产综合久久| 欧美日韩国产美| 美玉足脚交一区二区三区图片| 香蕉免费一区二区三区在线观看| 亚洲精品中文在线| 在线免费观看一区二区三区| 亚洲在线中文字幕| 欧美久久久久久蜜桃| 国产午夜亚洲精品不卡| 欧美激情第五页| 一区二区电影免费在线观看| 亚洲精品一区二区三区99| 欧美精品国产精品| 亚洲视频导航| 亚洲欧美国内爽妇网| 欧美系列亚洲系列| 欧美中文字幕精品| 亚洲女女做受ⅹxx高潮| 亚洲人成人一区二区三区| 欧美三级在线| 美女啪啪无遮挡免费久久网站| 欧美一区二区三区在| 好看的亚洲午夜视频在线| 欧美不卡视频| 久久久久国色av免费观看性色| 最新亚洲电影| 国内综合精品午夜久久资源| 欧美视频二区| 亚洲欧洲精品一区| 欧美日韩国产经典色站一区二区三区| 亚洲自拍偷拍麻豆| 欧美黄污视频| 欧美性片在线观看| 亚洲影音先锋| 国产一区欧美日韩| 欧美精品三级| 欧美激情第二页| 亚洲精品在线看| 夜夜嗨av一区二区三区四季av| 韩国v欧美v日本v亚洲v| 欧美一区二区三区免费在线看| 亚洲激情另类| 欧美日韩成人在线视频| 亚洲国产欧美国产综合一区| 亚洲美女在线视频| 欧美在线一二三区| 国产午夜精品一区二区三区视频| 欧美精品免费播放| 免费成人激情视频| 伊人伊人伊人久久| 国产在线观看一区| 亚洲福利视频网站| 欧美aaaaaaaa牛牛影院| 亚洲国产精品一区二区久| 日韩视频免费在线观看| 亚洲国产成人一区| 在线看日韩av| 亚洲一级黄色av| 国产精品亚洲综合天堂夜夜| 亚洲电影欧美电影有声小说| 亚洲第一搞黄网站| 亚洲人成网站精品片在线观看| 中文无字幕一区二区三区| 亚洲综合三区| 国产综合久久| 亚洲欧洲视频在线| 亚洲午夜久久久久久久久电影院| 亚洲国产成人在线| 久久亚洲春色中文字幕久久久| 激情亚洲一区二区三区四区| 亚洲欧美一区二区视频| 在线免费观看日本欧美| 在线国产日韩| 久久综合色天天久久综合图片| 亚洲一区网站| 亚洲精品国产精品久久清纯直播| 欧美激情一区二区三区蜜桃视频| 欧美亚洲在线| 欧美护士18xxxxhd| 久久九九有精品国产23| 销魂美女一区二区三区视频在线| 亚洲午夜免费视频| 亚洲高清视频一区| 亚洲精品日韩在线| 日韩一二三在线视频播| 国产精品成人在线观看| 欧美一级久久久久久久大片| 欧美视频在线观看视频极品| 久久激情网站| 激情视频一区二区三区| 欧美特黄一级| 午夜日韩在线| 久久免费高清视频| 久久久精品tv| 国产欧美日韩一区| 亚洲国产日韩一区| 99精品欧美一区二区三区| 国产一区在线播放| 在线日韩一区二区| 欧美精品一区二区三| 久久躁狠狠躁夜夜爽| 国产字幕视频一区二区| 欧美三级视频| 欧美一区二区三区精品电影| 国产日韩欧美夫妻视频在线观看| 欧美国产日本在线| 一本色道久久88亚洲综合88| 国产精品男女猛烈高潮激情| 99国产精品视频免费观看一公开| 欧美大片第1页| 国内精品模特av私拍在线观看| 亚洲激情在线| 国产视频精品网| 亚洲国产精品成人| 国产日韩欧美综合一区| 这里只有精品电影| 香蕉乱码成人久久天堂爱免费| 欧美一区国产二区| 亚洲国产欧美一区| 快she精品国产999| 国产一区二区中文| 欧美屁股在线| 欧美在线看片| 国产精品日韩一区二区| 欧美成在线观看| 狠狠色狠狠色综合人人| 欧美成人免费大片| 欧美视频中文字幕在线| 亚洲人成在线免费观看| 久久久久九九九| 精品99一区二区| 国产精品日韩欧美一区二区三区| 欧美日韩国产色视频| 99re热精品| 欧美精品一区二区三区久久久竹菊| 国内精品一区二区三区| 国产精品免费网站在线观看| 国产日韩一区欧美| 欧美日韩国产色站一区二区三区| 欧美日韩国产综合视频在线观看中文| 欧美在线啊v| 欧美激情在线狂野欧美精品| 国产亚洲一区在线播放| 亚洲一二三区在线| 一本久久综合亚洲鲁鲁五月天| 国产精品资源在线观看| 在线精品一区| 欧美色欧美亚洲另类二区| 麻豆freexxxx性91精品| 亚洲蜜桃精久久久久久久| 亚洲国产精品久久久久| 久久综合导航| 精品动漫3d一区二区三区免费版| 国产免费观看久久黄| 久久精品在这里| 欧美亚洲免费| 欧美久久婷婷综合色| 亚洲国产日日夜夜| 欧美精品尤物在线| 亚洲精品欧洲精品| 久久er99精品| 亚洲欧洲在线播放| 亚洲精品欧美| 亚洲精品日韩一| 狠狠狠色丁香婷婷综合久久五月| 国产农村妇女精品| 国产精品美女诱惑| 国产精品一区视频| 欧美日韩三级在线| 蜜臀a∨国产成人精品| 国产欧美日韩| 欧美夜福利tv在线| 一区二区三区四区五区在线| 国产精品自拍网站| 欧美日韩人人澡狠狠躁视频| 欧美日韩中字| 亚洲欧美色婷婷| 国内精品视频在线播放| 国产伦精品一区二区三区高清| 99热在线精品观看| 国产精品99久久久久久www| 久久久久国产精品午夜一区| 久久狠狠久久综合桃花| 国产精品三区www17con| 国产日韩欧美制服另类| 欧美日本亚洲视频| 午夜精品区一区二区三| 久热这里只精品99re8久| 欧美日韩视频在线一区二区观看视频| 国产日韩欧美在线一区| 欧美激情一区二区三区在线视频观看| 国产麻豆精品久久一二三| 亚洲一级在线观看| 国产欧美日韩综合精品二区| 亚洲一区在线观看免费观看电影高清| 亚洲网站在线看| 欧美视频一区二区| 精品电影一区| 欧美日韩一级视频| 国产女精品视频网站免费| 国产欧美日本一区视频| 黑丝一区二区| 亚洲女人天堂av| 亚洲国产精品va| 亚洲精品一区二区三区婷婷月| 欧美日韩精品二区第二页| 欧美专区在线观看一区| 国产欧美日韩伦理| 久久这里只精品最新地址| 亚洲黄页视频免费观看| 久久青草欧美一区二区三区| 欧美高清日韩| 欧美体内she精视频| 欧美另类极品videosbest最新版本| 欧美福利网址| 9国产精品视频| 日韩一区二区福利| 欧美日韩国产成人| 亚洲区国产区| 久久黄色影院| 欧美精品一区视频| 国产视频一区二区在线观看|