国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的FIR濾波器設(shè)計(jì)方法研究*

2016-11-30 07:44:18劉宇紅
通信技術(shù) 2016年8期
關(guān)鍵詞:高階流水濾波器

張 亮,劉宇紅

(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550025)

基于FPGA的FIR濾波器設(shè)計(jì)方法研究*

張 亮,劉宇紅

(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550025)

結(jié)合FPGA內(nèi)部資源特點(diǎn),提出一種高速高階FIR濾波器設(shè)計(jì)的改進(jìn)算法。首先,分析了FIR濾波器的基本結(jié)構(gòu)模型,對應(yīng)的響應(yīng)速率,以及占用資源情況等。其次,利用 FPGA內(nèi)部查找表易于實(shí)現(xiàn)分布式算法的特點(diǎn)和寄存器易于實(shí)現(xiàn)流水操作的特點(diǎn),提出了一種在FPGA中實(shí)現(xiàn)高速高階FIR濾波器的加流水操作的并行分布式算法,并且評估引入流水操作后FPGA內(nèi)部的資源消耗。最后,通過ISim仿真分析響應(yīng)速率,通過MATLAB仿真驗(yàn)證算法的可行性。

FIR濾波器;分布式算法;查找表;流水線

0 引 言

FIR濾波器被廣泛應(yīng)用于音頻處理、語音處理、信息系統(tǒng)等各種系統(tǒng)中[2],其性能對整個系統(tǒng)減少或消除無關(guān)信號干擾起到至關(guān)重要的作用。因此,F(xiàn)IR濾波器的優(yōu)劣程度在很大程度上決定了產(chǎn)品的優(yōu)劣程度。FPGA因其運(yùn)算速度快、便于實(shí)現(xiàn)并行設(shè)計(jì)、分布式算法以及流水線操作的優(yōu)點(diǎn),非常適合用來設(shè)計(jì)高階高速FIR濾波系統(tǒng)。

具有線性相位的FIR濾波器(后文所說的FIR濾波器均指其具有線性相位),以M為奇數(shù)、單位取樣響應(yīng)為偶對稱的FIR濾波器為例y:

圖1 FIR直接型結(jié)構(gòu)

在FPGA中實(shí)現(xiàn)直接形結(jié)構(gòu)FIR濾波器,具體實(shí)現(xiàn)算法有以下三類:串行結(jié)構(gòu),并行結(jié)構(gòu)和分布式結(jié)構(gòu)。

1 串行算法結(jié)構(gòu)

串行結(jié)構(gòu)是用串行的方式把輸入延時序列與相應(yīng)的系數(shù)乘積的結(jié)果進(jìn)行累加并輸出。串行結(jié)構(gòu)的基本特點(diǎn):需要用到一個乘法器;對于高階FIR濾波器設(shè)計(jì),系統(tǒng)時延較大,實(shí)時性低,整體占用硬件資源少?;窘Y(jié)構(gòu)如圖2所示。

圖2 半串行FIR濾波器結(jié)構(gòu)

2 并行算法結(jié)構(gòu)

并行結(jié)構(gòu)是利用并行的方式完成累加操作,在每一個并行數(shù)據(jù)路上采用一個乘法器把數(shù)據(jù)與系數(shù)相乘,再把各路乘積結(jié)果相加輸出。并行設(shè)計(jì)算法具有最快的運(yùn)算速度,結(jié)構(gòu)如圖3所示。如果要設(shè)計(jì)一個M階并行結(jié)構(gòu)FIR濾波器,消耗的乘法器資源為M/2個。隨著階數(shù)M增大,消耗的硬件資源將成倍增加。因此,雖然并行結(jié)構(gòu)是最快的數(shù)據(jù)處理方式,但并不是最好的實(shí)現(xiàn)方式。

圖3 并行FIR濾波器結(jié)構(gòu)

3 分布式算法

分布式算法是一種針對乘加運(yùn)算專門提出來的算法。這種算法的應(yīng)用條件需要乘法運(yùn)算中某一個因子總為常數(shù)。前面說到FIR濾波器的本質(zhì)是對輸入序列做大量的乘加運(yùn)算,并且設(shè)計(jì)好的FIR濾波器系數(shù)都可以事先在MATLAB中仿真得到。因此,把分布式算法用到FIR濾波器的實(shí)現(xiàn)中非常恰當(dāng)。

3.1分布式算法

對于乘加運(yùn)算:

式中,c(m)表示常數(shù)集c中的第m個元素,0≤m≤M-1,x(m)表示無符號二進(jìn)制B位的變量集,xb(m)=0或1,表示x(m)的第b位,則x(m)的展開式為

將式(2)帶入式(1)得:

簡單變形得:

變量集x中不同元素的第b位和對應(yīng)的常量集c中相應(yīng)元素的乘加組合,并且y的結(jié)果隨著xb(m)的改變?nèi)〔煌?,這樣y的可能取值有2M種情況。以上這種理解方式可以用FPGA中的查找表結(jié)構(gòu)很好地表達(dá)出來。

具體而言:把xb(0)、xb(1)、…、xb(M-1)設(shè)置為查找表的輸入地址,把放在查找表中能夠被正確尋址的方式排列,再通過一些附加邏輯以實(shí)現(xiàn)輸入不同的x變量集中的序列,從而計(jì)算對應(yīng)的y值。當(dāng)把x(m)看作B位有符號二進(jìn)制數(shù)時,x(m)的表達(dá)式:

這時,y的表達(dá)式如下:

以上分析了變量集x為無符號與有符號情況下的具體過程,可以很清晰得到如圖4所示結(jié)構(gòu)。

圖4 分布式算法結(jié)構(gòu)

3.2改進(jìn)的并行分布式算法

用以上討論的分布式算法設(shè)計(jì)一個長度為M的FIR濾波器,存在兩方面的問題:設(shè)計(jì)需要2M個存儲單元,并且隨著長度M增加,消耗的存儲單元的數(shù)量呈指數(shù)倍增加,對于高級FIR濾波器的設(shè)計(jì),這種方法顯然不合理;當(dāng)變量x(m)的位數(shù)B很大時,所設(shè)計(jì)的流水的級數(shù)也會變長,使最終的輸出結(jié)果時延較大。因此,需要改進(jìn)分布式算法,讓其在消耗較少硬件資源的情況下盡量提高數(shù)據(jù)處理速度。

以上分析給我們提供了三個改進(jìn)思路:第一,能否通過多級分解使M的數(shù)值變??;第二,能否把一個串行的流水累加過程變?yōu)橐粋€并行的計(jì)算過程;第三,為避免因?yàn)椴⑿羞^程消耗的硬件資源過多,能否根據(jù)實(shí)際應(yīng)用需求適當(dāng)加入流水設(shè)計(jì)。

3.2.1改進(jìn)一

根據(jù)第一條改進(jìn)思路,設(shè)M=R×N,帶入式(1):

把式(5)帶入式(7):

取式(8)中第r項(xiàng)進(jìn)行分析:

顯然,以上展開式在FPGA中可以通過構(gòu)造一個N輸入的查找表實(shí)現(xiàn)。

3.2.2改進(jìn)二

把具體的實(shí)現(xiàn)過程由串行方式變?yōu)椴⑿蟹绞?,即每一個xb(rN-N)、xb(rN-N+1)、…、xb(rN-1)的組合都用一個查找表,則需要B個N輸入的查找表,而總共則需要B×2N個存儲單元。

3.2.3改進(jìn)三

在算法設(shè)計(jì)中適當(dāng)加入流水操作,把B個N輸入查找表減少為B/p個N輸入查找表(B/p為整數(shù)),并在后級設(shè)計(jì)邏輯電路把p級流水輸出結(jié)果相加,作為等效的N輸入查找表的結(jié)果。隨著流水級數(shù)的增加,存儲單元的數(shù)量會急劇減少。當(dāng)然,流水操作的級數(shù)P值也不能無限增加,而應(yīng)視系統(tǒng)要求響應(yīng)速度和芯片選型綜合考慮。

結(jié)合以上三條改進(jìn)思路,得出最終改進(jìn)的加入流水的并行分布式算法結(jié)構(gòu)圖,如圖5所示。

圖5 加入二級流水的并行分布式算法結(jié)構(gòu)

4 詳細(xì)設(shè)計(jì)過程

以設(shè)計(jì)31階FIR低通濾波器,截止頻率為500 Hz,濾波器系數(shù)13位量化,輸入數(shù)據(jù)x(m)的13位量化為例,來說明以上改進(jìn)設(shè)計(jì)FIR濾波器的方法。

濾波器的長度M=32。由第一條改進(jìn)思路,取R=8,N=4,即一個深度為232的大查找表被分為若干個深度為24的小查找表;輸入數(shù)據(jù)的量化位數(shù)為13位,從圖1的直接型FIR濾波器的結(jié)構(gòu)圖可知,A(m)=x(m)+x(31-m)為14位二進(jìn)制有符號數(shù)。根據(jù)第二條并行設(shè)計(jì)的改進(jìn)思路,式(8)和式(9)的展開式的每一項(xiàng)都可以用一個深度為16的查找表把中括號里面的部分計(jì)算出來,2的系數(shù)次方運(yùn)算可以用移位操作實(shí)現(xiàn),總共需要的4輸入查找表的個數(shù)為R×B=8×14=112個。

現(xiàn)在考慮在全并行的分布式計(jì)算過程中加入二級流水操作,使輸入數(shù)據(jù)的速率為FIR濾波器處理速率的一半。第一級流水處理A(m)的低7位,第二級流水處理A(m)的高7位,用一個計(jì)數(shù)器計(jì)數(shù)當(dāng)前流水操作的狀態(tài)為0還是1,以便于對查找表輸出的結(jié)果進(jìn)行移位操作。加入二級流水操作后,所需的查找表個數(shù)為R×B/2=56個,比全并行分布式設(shè)計(jì)要少用56個4輸入15位查找表。隨著流水級數(shù)的增加,所用查找表會迅速減少,這對于在目標(biāo)器件門數(shù)較少的FPGA上設(shè)計(jì)高階快速響應(yīng)FIR濾波器有很大的指導(dǎo)意義。

5 實(shí)驗(yàn)仿真分析及驗(yàn)證

驗(yàn)證采用Xilinx公司的xc6slx9-2csg225型號FPGA為目標(biāo)器件。表1列出利用各種算法實(shí)現(xiàn)的31階串行結(jié)構(gòu)FIR濾波器占用硬件資源的情況。

表1 不同算法實(shí)現(xiàn)FIR濾波器的性能對比

由表1各行對比可知,經(jīng)過改進(jìn)的分布式并行加二級流水方式實(shí)現(xiàn)的FIR濾波器,在消耗硬件寄存器數(shù)量和查找表數(shù)量上都相對較少,并且在系統(tǒng)頻率一定的情況下,其數(shù)據(jù)吞吐速率也較高,能夠處理高速數(shù)據(jù)。

用MATLAB軟件產(chǎn)生包含兩個頻點(diǎn)的正弦波測試信號文本,在ISim仿真環(huán)境中通過din[12:0]輸入,把輸出結(jié)果dout[32:0]寫入到文本中,并在MATLAB中畫出FPGA完成濾波前后的頻譜圖以及時域波形圖,結(jié)果依次如圖6、圖7所示。在圖6中,當(dāng)濾波器開始正常工作時,由于加入了二級流水操作,它每兩個時鐘周期輸出一個濾波結(jié)果。濾波器在前一個時鐘周期內(nèi),把A(m)的低7位送入查找表的地址線中進(jìn)行查表操作,并把查表結(jié)果放在寄存器中保存;在第二個時鐘周期內(nèi),把A(m)的高7位送入查找表地址線中進(jìn)行查表操作,并把查表結(jié)果進(jìn)行移位操作,最后把兩個時鐘內(nèi)所得的結(jié)果相加輸出,以此實(shí)現(xiàn)濾波過程。在圖7中,輸入信號有兩個頻點(diǎn),經(jīng)過高階FIR低通濾波器濾波后,頻率為700 Hz的頻點(diǎn)成分被完全濾除,從時域波形圖中也可以看到濾波后的信號只包含單一頻點(diǎn)成分。表1中列出的實(shí)驗(yàn)結(jié)果和圖6、圖7的仿真實(shí)驗(yàn)結(jié)果表明:加流水操作的并行分布式算法能夠利用FPGA內(nèi)部的大量其它硬件資源替代內(nèi)部珍貴的專用DSP硬核資源,增加了系統(tǒng)設(shè)計(jì)的靈活性;加流水操作的并行分布式算法能夠有效的利用FPGA內(nèi)部的查找表資源和寄存器資源,并且隨著FPGA的發(fā)展,其內(nèi)部查找表的輸入端口數(shù)不斷變化,因此可以結(jié)合查找表的特點(diǎn),利用以上算法設(shè)計(jì)出更加節(jié)約資源的高速高階FIR濾波器;加流水操作的并行分布式算法設(shè)計(jì)的高速高階FIR濾波器在響應(yīng)速率上接近于全并行結(jié)構(gòu)的FIR濾波器,并且具有良好的濾波性能。

圖6 ISim中仿真結(jié)果

圖7 實(shí)驗(yàn)前后對比

6 結(jié) 語

本文對高速高階FIR濾波器的設(shè)計(jì)方法進(jìn)行研究,對目前常用的幾種算法進(jìn)行分析,并通過理論分析,提出一種適用于高速高階FIR濾波器設(shè)計(jì)的算法,最后在所選用的目標(biāo)器件上實(shí)現(xiàn),驗(yàn)證了加流水操作的并行分布式算法的有效性,以及對高速高階FIR濾波器設(shè)計(jì)的指導(dǎo)作用。

[1] Albicocco P,Cardarilli G C,Nannarelli A,et al.Degrading Precision Arithmetic for Low-power FIR Implementation[J]. Circuits and Systems,2011,8(01):1-4.

[2] 程佩青.數(shù)字信號處理教程[M].北京:清華大學(xué)出版社,2001. CHENG Pei-qing.Digital Signal Processing Tutorial[M]. Beijing:Tsinghua University press,2001.

[3] 楊大柱.MATLAB環(huán)境下FIR濾波器的設(shè)計(jì)與仿真[J].電子技術(shù)應(yīng)用,2006,32(09):101-103. YANG Da-zhu.Design and Simulation of FIR Filter in MATLAB Environment[J].Application of Electronic Technology,2006,32(09):101-103.

[4] 田耘,徐文波.無線通信FPGA設(shè)計(jì)[M].北京:電子工業(yè)出版社,2008. TIAN Yun,XU Wen-bo.Wireless Communication FPGA Design [M].Beijing:Electronic Industry Press,2008.

[5] 王英喆,王振宇,嚴(yán)偉等.全并行FIR濾波器的FPGA實(shí)現(xiàn)與優(yōu)化[J].電子設(shè)計(jì)工程,2015,23(22):94-97. WANG Ying-zhe,WANG Zhen-yu,YAN Wei,et al.The Realization and Optimization of FPGA for All Parallel FIR Filters[J].Electronic Design Engineering,2015, 23(22):94-97.

[6] 劉凌,胡永生.數(shù)字信號處理的FPGA實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2003. LIU Ling,HU Yong-sheng.FPGA Implementation of Digital Signal Processing[M].Beijing:Tsinghua University press,2003.

[7] 羅朝霞,高書莉.CPLD/FPGA設(shè)計(jì)應(yīng)用[M].北京:人民郵電出版社,2007. LUO Zhao-xia,GAO Shu-li.CPLD/FPGA Design and Application[M].Beijing:People's Posts and Telecommunications Press,2007.

[8] 趙宏峰.中頻數(shù)字化接收機(jī)中的下變頻器研究[D].南京:東南大學(xué),2006. ZHAO Hong-feng.Research on Down Converter in Digital Receiver[D].Nanjing:Southeast University,2006.

[9] 屈有萍.基于FPGA的數(shù)字下變頻研究實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2007. QU You-ping.Research and Implementation of Digital Down Conversion based on FPGA[D].Xi'an:Xi'an Electronic and Science University,2007.

[10] 劉朋全.基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)和實(shí)現(xiàn)[D]. 西安:西北工業(yè)大學(xué),2006. LIU Peng-quan.Design and Implementation of FIR Digital Filter based on FPGA[D].Xi'an:Northwestern Polytechnical University,2006.

張 亮(1991—),男,碩士研究生,主要研究方向?yàn)镕PGA及嵌入式技術(shù)開發(fā);

劉宇紅(1963—),男,碩士,碩士生導(dǎo)師,教授,通訊作者,主要研究方向?yàn)檎Z音與圖像處理、DSP與嵌入式微處理器的應(yīng)用與研究。

FIR Filter Design based on FPGA

ZHANG Liang, LIU Yu-hong
(College of Big Data and Information Engineering, Guizhou University, Guiyang Guizhou 550025, China)

Combined with the characteristics of FPGA internal resources, a modified algorithm for design of high-order and high-speed FIR filter is proposed. Firstly, the basic structure, corresponding response speed and resource consumption of the FIR filter are analyzed, then based on easy realization of the distributed algorithm by FPGA internal look-up table and pipeline operation by internal registers, a parallel distributed algorithm added with pipeline operations is proposed, thus to realize the high-order and high-speed FIR filter based on FPGA, and additionally, the FPGA internal resource consumption with introduction of pipeline operations also evaluated. Finally via Isim simulation the response speed is analyzed, and via MATLAB simulation, the feasibility of the proposed algorithm verified.

FIR filter; distributed algorithm; look-up table; pipeline technology

Guizhou Province Electronic Component Detection Network Platform; QianKe Platform [2012]4005

TN713

A

1002-0802(2016)-08-01083-05

10.3969/j.issn.1002-0802.2016.08.024

2016-04-25;

2016-07-26

date:2016-04-25;Revised date:2016-07-26

貴州省電子元器件檢測網(wǎng)絡(luò)平臺;黔科平臺【2012】4005

猜你喜歡
高階流水濾波器
有限圖上高階Yamabe型方程的非平凡解
高階各向異性Cahn-Hilliard-Navier-Stokes系統(tǒng)的弱解
流水
文苑(2020年10期)2020-11-07 03:15:26
滾動軸承壽命高階計(jì)算與應(yīng)用
哈爾濱軸承(2020年1期)2020-11-03 09:16:02
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
開關(guān)電源EMI濾波器的應(yīng)用方法探討
電子制作(2018年16期)2018-09-26 03:26:50
流水有心
天津詩人(2017年2期)2017-11-29 01:24:12
基于Canny振蕩抑制準(zhǔn)則的改進(jìn)匹配濾波器
基于TMS320C6678的SAR方位向預(yù)濾波器的并行實(shí)現(xiàn)
前身寄予流水,幾世修到蓮花?
視野(2015年6期)2015-10-13 00:43:11
临沧市| 西峡县| 章丘市| 南川市| 宝兴县| 承德县| 宽甸| 双柏县| 江源县| 肇东市| 丹阳市| 德清县| 舟山市| 瑞安市| 绍兴县| 绩溪县| 宜兴市| 家居| 山阳县| 湘乡市| 樟树市| 湟源县| 金门县| 阿克| 永兴县| 石台县| 秀山| 寻乌县| 新和县| 安吉县| 遵义市| 根河市| 四子王旗| 江安县| 玉屏| 离岛区| 河东区| 九龙城区| 康定县| 龙游县| 沿河|