《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA CFGLUT5的可變FIR濾波器的實現
基于FPGA CFGLUT5的可變FIR濾波器的實現
2015年電子技術應用第11期
朱述偉1,黃銳敏1, 楊清河2
(1.華僑大學 信息科學與工程學院,福建 廈門361021;2.邁韋通信技術有限公司,福建 泉州362000)
摘要: 為實現系數可變FIR濾波器,以31階FIR濾波器為例,在分布式算術結構的可變FIR濾波器基礎上,利用FPGA可重構單元CFGLUT5的動態配置功能實現可重用結構共享,減少資源消耗,提高可變濾波器的硬件效率,在Xilinx Spartan6的器件上實現并驗證了該可變FIR濾波器結構。結果表明,在滿足工作模式切換性能的同時可以減少約25倍的占用資源(LUT),并明顯提高了系統的速度。
中圖分類號: TP274;TN713
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.11.016

中文引用格式: 朱述偉,黃銳敏, 楊清河. 基于FPGA CFGLUT5的可變FIR濾波器的實現[J].電子技術應用,2015,41(11):58-60,64.
英文引用格式: Zhu Shuwei,Huang Ruimin,Yang Qinghe. The variable FIR filter implement based on FPGA CFGLUT5[J].Application of Electronic Technique,2015,41(11):58-60,64.
The variable FIR filter implement based on FPGA CFGLUT5
Zhu Shuwei1,Huang Ruimin1,Yang Qinghe2
1.College of Information Science and Engineering,Huaqiao University,Xiamen 361021,China; 2.Mai Wei Communication Technology Incorporated Company,Quanzhou 362000,China
Abstract: In order to realize the variable coefficient FIR filter this paper uses a distributed arithmetic architectural 31st-order variable FIR filter as basic example, exploits the dynamic configuration capabilities of FPGA reconfigurable unit-CFGLUT5 to achieve the reusable structure sharing, thus reduce resource consumption and improve variable filter hardware efficiency, the proposed variable FIR filter structure was implemented and verified by using Xilinx Spartan6 devices, the results show that the proposed structure can meet the performance of operation-mode switching while reducing the footprint of about 25 times (LUT) and distinguished improve the speed of the system.
Key words : FIR filter;CFGLUT5;lockup talbe;distributed arithmetic

 

0 引言

  在現代軟件無線電的數字信號處理系統中,例如脈沖壓縮體制雷達[1],需要在不同的工作模式下切換。不同工作模式對應著不同的頻率響應特性,對應一組濾波器系數;因此在實現結構上要求濾波器可以動態變化。如果把每種模式的濾波器單獨實現,不但需要占用大量的面積,而且會使得系統結構松散、資源浪費和時序難以一致。然而,該系統不同的工作模式具有相同的實現結構和數據通路,且輸入數據是一致的,因此可以作為一個整體實現,即將其設計為由一個輸入數據端口、多套系數存儲器以及一個數據輸出端口組成的可變濾波器。它的優點是不用離線重新設計一個新的濾波器便可獲得動態可變的濾波特性。本文將介紹如何在傳統可變濾波器基礎上利用Xilinx FPGA CFGLUT5的動態配置功能實現可重用結構共享來減少資源的消耗,提高可變濾波器的硬件效率,達到通過簡單的控制實現軟件無線電系統不同工作模式之間的切換。

1 傳統的可變FIR濾波器設計方法

  可變FIR濾波器一般可以分為4個模塊:輸入數據緩存模塊、濾波器系數存儲模塊、運算模塊及控制模塊。輸入數據緩存模塊及運算模塊在整個系統中可以共享以便節省資源,同時為了保證采樣頻率與系統時鐘頻率之間關系的一致,設定每組濾波器的系數長度相同,為此將長度較短的濾波器系數補零。整個可變FIR濾波器的結構框圖如圖1。

001.jpg

  濾波器系數存儲模塊設計原則是根據濾波器基本結構[2]如串行、并行盡可能少的占用存儲資源,同時便于讀系數的設計,為此設計方法采用分段存取。例如有4套濾波器系數,每組濾波器系數長度均為16,則存儲空間深度可以定義為64。0~15號地址存儲第一套濾波器,16~31號存儲第二套濾波器系數,32~47號存儲第三套濾波器系數,48~63號存儲第四套濾波器系數。這樣,濾波器系數地址可以由一個模值為16的4位計數器和2位控制位共6位構成。當控制位為00時,地址變化范圍為0~15,為01時地址變化范圍為16~31,當控制位為10時,選中地址范圍為32~47,當控制位為11,選中地址范圍為48~63。

  控制模塊完成的主要工作是系數的切換,輸入數據的讀取與寫入。不同的結構需要不同的控制數據。

2 改進的可變FIR濾波器設計方法

  2.1 DA算法結構濾波器

  基于FPGA的DA算法[3]是一種以實現乘加運算為目的的運算方法,由于傳統的乘加運算消耗較多的硬件資源,轉而改進采用基于FPGA的LUT查找表[4]和移位相加來實現。由于FPGA基本模塊正是由LUT構成,而且移位和相加算法實現起來更加容易有效。所以DA算法可以極大地減少硬件電路的規模, 提高電路的工作執行速度。其主要原理如下。

  1.png

  式(1)中x[n]是二進制補碼表示的有符號輸入信號,表示x的第n次采樣值,輸入的數據位寬為M=B+1位。xb[n]表示x[n]的第b位。假設濾波器系數為序列h[n],濾波器輸出為y[n],得到濾波器輸出可以表示為:

  2.png

  將式(2)展開,重新分別求和得

  3.png

  式(3)的h[k]xm[n-k](m取B或b)的部分可以通過查找表映射來計算出。對于長度為N的FIR濾波器,只需構造一個深度為N的存儲器查找表,通過M次查找表運算,M-1次移位運算和M-1次加法運算即可完成整個乘加運算。這種結構極易使用流水線結構,且運算速度受限于加法和查找表運算速度,與乘加運算的數據長度沒有關系。

  本文采用Xilinx公司的XC6SLX75T器件為例,設計長度為32的線性相位可變FIR數字濾波器。利用線性相位的對稱性可以將濾波器系數減半為16個濾波器系數,假定濾波器輸入信號位寬為11位,濾波器的系數量化為12位,濾波器輸出數據位寬30位,共有4套濾波器系數。為防止濾波器系數相加溢出則需要15位寬的存儲器。4套濾波器系數需要控制位為2位。由此得到濾波器系數存取模塊如圖2所示。

002.jpg

  2.2 CFGLUT5的基本原理


003.jpg

  FPGA內部資源CFGLUT5[5]是一個5輸入的動態可重構查找表,能夠在電路運行時改變電路的LUT的邏輯功能。其結構圖如圖3所示。采用CDI輸入引腳,一個新的初始值可以同步串行移位輸入存儲到CFGLUT5中。CE為使能輸入CDI的接口,O5、O6為輸出邏輯值,大小基于當前加載到查找表的初始值和當前選定的I0~I4輸入引腳。同時可以分別將O5、O6輸出形成兩個不同的子集,共享輸入分時復用,形成雙通道的查找表。CDO接口是擴展初始值接口,作為級聯CFGLUT5單元使用,每個單元的CDO引腳接入到下一個CFGLUT5單元的CDI輸入接口。這將允許一個單一的串行數據鏈(每個單元32位)來重新配置多個LUT,可以來擴展輸入數據的位數。

  2.3 改進DA算法的可變FIR濾波器

  許多FPGA芯片都具有可重構的LUT基本單元,例如Xilinx FPGA的重構模塊CFGLUT5。本文通過使用CFGLUT5來改進傳統DA算法[6],從而實現動態可重構的可變FIR濾波器,利用可以動態重配置的LUT可以將多套濾波器系數查找表共享為一套查找表。只需要32個工作時鐘即可以完成濾波器系數查找表的一次重構,減少了資源的占用,降低了成本。現對上述傳統DA算法改進,設計上述同樣的可變FIR濾波器結構如圖4所示。

004.jpg

  圖4中M(0)~M(15)為濾波器對稱系數的輸入信號相加后信號,經過數據結構轉換,得到M(0)~M(15)的最低位組成16位的數據,作為查找表的尋位地址,并依次再取M(0)~M(15)的次低位,這樣一直取到最高位。由于輸入數據為11位,則對稱相加后數據M位寬12位,共 12次查找運算,所以取計數器count為12進制。其中M(0)(count)~M(15)(count)分別表示M(0)~M(15)的第count位(count取值為0~11的整數)。為改進傳統DA算法所占用的ROM資源,采用分割查找表的方式,將傳統DA算法16位ROM地址線,改為4個4輸入地址線的CFGLUT5模塊Y0~Y3來存儲。令所有CFGLUT5的I4為高電平,則濾波器前8個系數的查找表Y0、Y1如表1所示。濾波器后8個系數同樣按表1存儲Y3、Y4。

005.jpg

  濾波器系數量化為12位,則O5/O6輸出值為保證不溢出則需要14位存儲如圖3所示,同時將數據拆分為從高位到低位存儲,例如當Y0的地址位為1000時Y0(0)~Y0(13)分別表示存儲值h[3] 的二進制補碼數據最高位到最低位。在將Y0、Y1、Y2、Y3的每個可重構CFGLUT5的輸出值相加后,為防止數據相加后溢出增加兩位位寬來存儲相加值,再送入移位寄存器。每送入一次相加后的數據,移位寄存器向左增加一位移位,直到向左移動11位后又回到向左移動0位,不斷循環。控制器控制重構CFGLUT5的映射表的更新,當切換濾波器系數時,控制CFGLUT5的CE和CDI信號,在經過32個CLK時鐘后,查找表Y0、Y1完成更新,對應為切換的濾波器系數。累加器由控制器控制使其經過11次累加和1次減法后輸出濾波器數據,并清零,則Y[n]為濾波器輸出數據。

  為便于切換濾波器的簡單操作,同樣還需要一個濾波器系數存儲模塊,存儲方式不同于傳統DA算法的存儲結構查找表,按照傳統的串行結構存儲,同時在控制器中加入濾波器系數轉換運算電路。將按順序存儲的濾波器系數,通過簡單加法運算轉化為CFGLUT5查找表的結構的系數。

3 性能分析及實驗結果

  取線性可變FIR濾波器的系數長度為N,輸入數據位寬為W1,濾波器量化位數為W2,濾波器套數為L,則可以估算消耗資源如下:

  傳統DA算法結構存儲占ROM大小:

  456.jpg

  設計上述實驗可變FIR濾波器傳統DA算法消耗ROM大小為4×16×216=4 Mb,而當采用改進DA算法結構只需要增加56個CFGLUT5和濾波器系數轉換運算消耗的68個加法器可以將ROM消耗減少到4×12×16=0.75 Kb,容易工程實現。現在Xilinx公司的XC6SLX75T器件上采用分布式ROM實現上述可變FIR濾波器,綜合分析得到如表2所示實驗數據。

006.jpg

  從表2的實驗數據可以看出改進傳統DA算法后實現上述濾波器LUT的消耗減少了約25倍。最大工作時鐘提高了近6倍左右。

4 結論

  本文介紹了可變FIR濾波器的設計,并在傳統DA算法結構上對資源消耗及工作速度進行了改善和優化。基于FPGA的CFGLU5的DA算法實現了對稱結構FIR濾波器動態可重構設計,這種算法相比于傳統DA算法的優勢就是在運行中動態可重構FIR濾波器,共享了一套可重構查找表的方法從而實現可變FIR濾波器的功能,同時利用CFGLUT5的O5/O6不同輸出接口,也可實現FIR濾波器的雙通道功能,可同時處理2路不同信號,在節約資源的同時,可以增加實現的靈活性。最后通過FPGA仿真分析了CFGLUT5的DA算法的可變FIR濾波器,其結果表明在滿足工作模式切換性能的同時可以明顯減少占用的邏輯資源(LUT)和提高系統速度。

參考文獻

  [1] 潘林.基于FPGA的雷達脈沖壓縮系統的研究與實現[D].上海:上海交通大學,2008.

  [2] Uwe Meyer-Baese.Digital signal processing with field programmable gate arrays[M].BerLin:Springer,2007.

  [3] 李姮,田克純.一種基于FPGA的分布式FIR數字濾波器設計[J].電聲技術,2012(10):28-32.

  [4] 閆永鵬,于海勛.一種基于LUT的改進FIR濾波器的設計[J].微電子學,2010,40(5):694-696.

  [5] Xilinx,Inc.Spartan-6 Libraries Guide for HDL Designs[J/OL].Xilinx,2013.http://www.xilinx.com/support/documenta-tion/sw_manuals/xilinx14_7/spartan6_hdl.pdf.

  [6] KUMM M,MOLLER K,ZIPF P.Dynamically reconfigurable FIR filter architectures with fast reconfiguration[C].Darmstadt:IEEE,2013.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 免费福利午夜影视网 | 最近2019中文字幕大全视频1 | 黄色在线观看视频网站 | 天天操丝袜 | 欧美精品xxxxbbbb | 高清女女同性一区二区 | 天天夜天干天天爽 | 一区二区不卡视频在线观看 | 亚洲爆爽| 狠狠色视频 | 午夜视频1000 | 天天射日日 | 亚洲最大的视频网站 | 一个人在线免费观看www视频 | 亚洲理论a中文字幕在线 | 三级成人网 | 久操视频免费看 | 乱肉合集乱篇小说 | 日本高清在线播放一区二区三区 | 夜鲁夜鲁夜鲁在线观看福利 | 在线中文字幕精品第5页 | 日韩欧美亚洲综合久久影院d3 | 在线 | 一区二区三区 | 欧美第九页| 久操视频免费 | 视频一区二区在线播放 | 涩涩涩涩爱 | 天天看黄色片 | 久久久99精品免费观看精品 | 久久亚洲国产成人影院 | 国产91精品不卡在线 | 免费无遮挡毛片 | 77788色淫网站免费观看 | 草比片| 手机日韩| h片在线播放 | 波多野结衣综合 | 欧美人与动交tv | 狠狠狠| 最新亚洲精品国自产在线观看 | 五月婷婷在线观看 |