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

?

基于FPGA的FIR濾波器設(shè)計(jì)方案優(yōu)化

2014-05-16 09:54:46樊開陽杜小峰楊紅兵
實(shí)驗(yàn)室研究與探索 2014年5期
關(guān)鍵詞:濾波器分布式濾波

樊開陽, 杜小峰, 楊紅兵

(南京農(nóng)業(yè)大學(xué)工學(xué)院,江蘇南京 210031)

基于FPGA的FIR濾波器設(shè)計(jì)方案優(yōu)化

樊開陽, 杜小峰, 楊紅兵

(南京農(nóng)業(yè)大學(xué)工學(xué)院,江蘇南京 210031)

在介紹有限沖激響應(yīng)(FIR)數(shù)字濾波器的理論基礎(chǔ)上,提出了一種基于FPGA的16階FIR低通數(shù)字濾波器的實(shí)現(xiàn)方案。該濾波器設(shè)計(jì)采用運(yùn)算效率高的分布式算法結(jié)構(gòu),較好地解決了傳統(tǒng)乘法累加結(jié)構(gòu)運(yùn)算速度低的不足。為節(jié)省硬件資源,設(shè)計(jì)中采取了分割查找表和偏移二進(jìn)制數(shù)字編碼技術(shù),將所占ROM的大小由2LN減小到L/2(2N/2。最后給出了ModelSim下的仿真結(jié)果并對(duì)誤差進(jìn)行了分析,驗(yàn)證了該設(shè)計(jì)的正確性。

有限沖擊響應(yīng)濾波器;現(xiàn)場(chǎng)可編程門陣列;查找表;分布式算法;偏移二進(jìn)制編碼

0 引言

有限長沖激響應(yīng)(FIR)數(shù)字濾波器具有嚴(yán)格的線性相位,具有穩(wěn)定性和因果性等特點(diǎn)。FIR數(shù)字濾波器在語音信號(hào)、軟件無線電及自適應(yīng)信號(hào)處理等領(lǐng)域獲得了廣泛的應(yīng)用[1-3]。隨著現(xiàn)代電子技術(shù)及 EDA技術(shù)的發(fā)展,特別是可編程邏輯電路的發(fā)展使得基于FPGA的FIR濾波器硬件電路的實(shí)現(xiàn)具有內(nèi)部電路結(jié)構(gòu)透明化的特點(diǎn),并能減小電路體積,提高系統(tǒng)工作效率[4-5]。FIR濾波器的實(shí)現(xiàn)有多種方法,傳統(tǒng)的設(shè)計(jì)方法基于MAC(Multiply Accumulate)結(jié)構(gòu),為了滿足不同的運(yùn)算速率需要,主要有2種結(jié)構(gòu):并行MAC和單個(gè)MAC。并行MAC消耗大量的邏輯單元LES,只適合高端設(shè)計(jì);單個(gè)MAC結(jié)構(gòu)采用了以犧牲運(yùn)算速度為代價(jià)來節(jié)省硬件資源的設(shè)計(jì)方法,不適于高速率的FIR濾波器設(shè)計(jì)。而基于分布式算法FIR濾波器運(yùn)行速度快,節(jié)省了硬件資源并能較好地實(shí)現(xiàn)實(shí)時(shí)處理,特別適合于高速實(shí)時(shí)的信號(hào)處理[6-8]。本文提出了一種基于分布式算法的FIR濾波器的FPGA實(shí)現(xiàn)方案,并采用了分割查找表技術(shù)和OBC編碼技術(shù)進(jìn)行優(yōu)化,設(shè)計(jì)和實(shí)現(xiàn)了該FIR低通濾波器。

1 FIR數(shù)字濾波器基礎(chǔ)

數(shù)字濾波器(DF)是離散系統(tǒng),它所處理的對(duì)象是用序列表示的離散信號(hào)或數(shù)字信號(hào),其因果離散系統(tǒng)函數(shù)可表示為:

其常線性系數(shù)差分方程為:

可以看出,數(shù)字濾波器的功能是把輸入序列通過一定的運(yùn)算變換成輸出序列。對(duì)于FIR濾波器,其系統(tǒng)只有零點(diǎn),因此FIR濾波器的差分方程可以表示為:

若FIR數(shù)字濾波器的單位脈沖響應(yīng)序列為h[n],它就相當(dāng)于濾波器系數(shù)向量bk。知道h[n]后就可以進(jìn)行濾波器的設(shè)計(jì)了。

2 DA算法

分布式算法(Distributed Arithmetic,DA)是為了解決乘法資源問題而提出的經(jīng)典優(yōu)化算法,主要是使用查表法快速得到部分積。與采用乘法器實(shí)現(xiàn)FIR數(shù)字濾波器相比,采用DA算法實(shí)現(xiàn)速度較快,資源占用低[9-11]。其原理如下:

在進(jìn)行FIR數(shù)字濾波器設(shè)計(jì)時(shí),h[n]為已知常數(shù),x[n]為輸入常量,對(duì)無符號(hào)DA系統(tǒng),x[n]可表示為:

其中xk[n]表示x[n]轉(zhuǎn)換成二進(jìn)制后的第k位,所以內(nèi)積y可表示為:

式中函數(shù)f(h[n].xk[n])利用查找表來實(shí)現(xiàn),把N位的輸入向量xk=(xk[0],xk[1],…,xk[N-1])作為輸入地址,即可輸出預(yù)先存入程序的f(h[n].xk[n])。各f(h[n],xk[n])都與相應(yīng)的二次冪加權(quán)累加,在N次查表后,即可完成對(duì)內(nèi)積y的計(jì)算。由于在濾波中的x[n]多是有符號(hào)數(shù),現(xiàn)在討論有符號(hào)數(shù)的內(nèi)積。x[n]用補(bǔ)碼表示滿足:

對(duì)于有符號(hào)的DA算法,除符號(hào)位需要做減法運(yùn)算外,其他都和無符號(hào)DA算法相同。其算法結(jié)構(gòu)如圖1所示。

圖1 DA算法結(jié)構(gòu)圖

3 查找表優(yōu)化方案

3.1 利用FIR濾波器的對(duì)稱性進(jìn)行優(yōu)化

對(duì)于線性相位濾波器,其系數(shù)具有對(duì)稱性(假定為偶對(duì)稱)。因此,可以預(yù)先把相同系數(shù)的兩個(gè)采樣值相加,得到新的輸入。這樣濾波器的階數(shù)可以降到原來的一半,從而減小了查找表的規(guī)模,節(jié)省了硬件資源。

3.2 分割查找表進(jìn)行優(yōu)化

LUT的規(guī)模隨著濾波器的階數(shù)N的增大而呈2N的速度增大。若系數(shù)N比較大,則用單個(gè)LUT實(shí)現(xiàn)FIR數(shù)字濾波器所需的存儲(chǔ)空間就會(huì)過大。實(shí)際中,我們可以將大的LUT分成若干小的LUT,通過對(duì)小的LUT表的結(jié)果進(jìn)行求和,即可得到所需的LUT表輸出。這樣將查找表的規(guī)模從2NL變?yōu)長·2N分割后LUT規(guī)模減小了,節(jié)省了硬件的資源。其算法結(jié)構(gòu)如圖2所示。

圖2 分割查找表結(jié)構(gòu)圖

3.3 偏移二進(jìn)制編碼(OBC)進(jìn)行優(yōu)化

偏移二進(jìn)制編碼是數(shù)字編碼的一種方法,它是將原始的二進(jìn)制數(shù)進(jìn)行了偏置。在分布式算法中,它將輸入向量位值[0,1]映射為[-1,1],使得 ROM 表的上下兩部分具有鏡像對(duì)稱性關(guān)系,利用這種對(duì)稱性可以將ROM表的大小壓縮到原來的一半[12-14]。對(duì)于二進(jìn)制補(bǔ)碼滿足:

這樣,每張查找表的存儲(chǔ)單元數(shù)量變?yōu)闉樵瓉淼囊话?,進(jìn)一步節(jié)省了硬件的資源。

4 FPGA實(shí)現(xiàn)及仿真

4.1 設(shè)計(jì)標(biāo)準(zhǔn)

本設(shè)計(jì)采用Matlab(R2010b)中的FDATool來提取FIR濾波器的系數(shù)。實(shí)現(xiàn)的低通濾波器的采樣頻率為48 kHz,通帶截止頻率為 10.8kHz,窗口類型為kaiser窗,Beta為0.5,階數(shù)為16 階。由于h[n]的系數(shù)是浮點(diǎn)數(shù),而FPGA只能進(jìn)行定點(diǎn)運(yùn)算,故在本設(shè)計(jì)中將h[n]擴(kuò)大28,再將其量化并轉(zhuǎn)換為補(bǔ)碼形式進(jìn)行運(yùn)算,如表1所示。

表1 h[n]相關(guān)的數(shù)據(jù)

4.2 濾波器模塊結(jié)構(gòu)

遵循自頂向下的設(shè)計(jì)方法,基本電路模塊用VHDL進(jìn)行描述,頂層模塊采用原理圖的形式對(duì)進(jìn)行設(shè)計(jì),在Quartus II 11.1中進(jìn)行編譯和綜合。原理圖如圖3所示。

如圖3該設(shè)計(jì)由6個(gè)模塊組成,1為SyncDelay模塊,該模塊具有同步延時(shí)功能,把原信號(hào)分別進(jìn)行0到15個(gè)單位的延時(shí),并分別輸出。由于FIR濾波器的系數(shù)具有對(duì)稱性 ,2為同系數(shù)相加模塊,把與相同系數(shù)相乘的輸入值預(yù)先相加以節(jié)省硬件資源。3即為OBC查找表模塊,在該模塊內(nèi)把8路并行數(shù)據(jù)轉(zhuǎn)換成8路串行數(shù)據(jù)并進(jìn)行查表,為了節(jié)省硬件資源將查找表分割為兩個(gè),分別對(duì)應(yīng)lut_out1和lut_out2輸出。4是一個(gè)查找表數(shù)據(jù)加法模塊將lut_out1和lut_out2相加完成最終的查找功能。5是累加器,將查找表的結(jié)果進(jìn)行加權(quán)累加并加上OBC編碼剩余的常數(shù)從而得到濾波輸出值。0為時(shí)序控制單元,通過該模塊能夠控制系統(tǒng)按照正確的時(shí)序進(jìn)行濾波。

4.3 仿真及誤差分析

對(duì)本設(shè)計(jì)進(jìn)行仿真的是與QuartusII 11.1配套使用ModelSim 10.0c。由于它仿真速度快,仿真精度高,具有強(qiáng)大的調(diào)試功能,因而是完成 FPGA/ASIC設(shè)計(jì)的RTL級(jí)和門級(jí)電路仿真的首選[15]。仿真時(shí)通過Matlab的simulink中的Signal Processing Source對(duì)10KHz的正弦信號(hào)進(jìn)行三周期的采樣得到x[n],由于FPGA只能處理定點(diǎn)數(shù),故須進(jìn)行擴(kuò)大取整處理,見表2。則當(dāng)x[n]輸入時(shí),ModelSim仿真結(jié)果如圖4。fir_in為濾波前的輸入信號(hào),fir_out為濾波后的輸出信號(hào)。

為了驗(yàn)證輸出結(jié)果的正確性,我們將其與Matlab計(jì)算出來的真實(shí)值進(jìn)行了對(duì)比。由于輸入濾波器的值是經(jīng)擴(kuò)大128倍的值,故此處將須將輸出縮小128倍。鑒于數(shù)據(jù)的數(shù)據(jù)量,利用數(shù)據(jù)的對(duì)稱性特點(diǎn)可只取一半進(jìn)行誤差分析。為了便于分析,見表3,從16點(diǎn)取到31點(diǎn)。從表中可以看出,除輸入的末端的值與準(zhǔn)確值誤差較大外(參數(shù)小而導(dǎo)致量化誤差大),其余誤差都比較小,仿真的結(jié)果基本滿足設(shè)計(jì)要求。在設(shè)計(jì)中的誤差主要由數(shù)據(jù)的量化產(chǎn)生。該量化誤差包括設(shè)計(jì)濾波器時(shí)抽頭系數(shù)h[n]的量化誤差和對(duì)輸入數(shù)據(jù)x[n]的量化誤差。運(yùn)算的時(shí)候系統(tǒng)移位舍棄一些位數(shù),也對(duì)濾波器的精度產(chǎn)生了影響。對(duì)于高精度的系統(tǒng)可以通過增加階數(shù)來改進(jìn)。

圖3 頂層原理圖

圖4 系統(tǒng)仿真圖

表2 x[n]相關(guān)的數(shù)據(jù)

表3 誤差分析

5 結(jié)語

本文介紹了一種改進(jìn)型的FIR濾波器設(shè)計(jì)方案,給出了設(shè)計(jì)的流程,并通過仿真驗(yàn)證了設(shè)計(jì)的正確性,最后對(duì)誤差進(jìn)行了分析。DA算法的運(yùn)用提高了系統(tǒng)的速度增強(qiáng)了濾波的實(shí)時(shí)性。分割查找表法和OBC編碼算法降低了系統(tǒng)對(duì)硬件資源的占用,節(jié)省了設(shè)計(jì)成本。由于數(shù)據(jù)在擴(kuò)大縮小的過程中產(chǎn)生了量化誤差,對(duì)于高精度的要求,該系統(tǒng)還需進(jìn)一步的改進(jìn),例如擴(kuò)大濾波階數(shù)等。但對(duì)于一般的濾波器要求該系統(tǒng)基本能夠滿足要求,具有一定的實(shí)用價(jià)值。

[1] 陳敏歌,焦占亞,安曉鋼.等.波紋線性相位FIR濾波器的1種設(shè)計(jì)方法[J].西安科技大學(xué)學(xué)報(bào),2008,28(1):199-202.

CHEN Min-ge,JIAO Zhan-ya,AN Xiao-gang,et al.A Method of Designing of Equiripple Linear-phase FIR Filter[J].Journal of Xi’an University of Science and Technology,2008,28(1):199-202.

[2] 聶 偉,楊勝姚,王巖嵩.基于FPGA的通用 FIR濾波器設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2010,27(10):69-72.

NIE Wei,YANG Sheng-yao,WANG Yan-song.Design of universal FIR filter based on FPGA[J].Experimental Technology and Management,2010,27(10):69-72.

[3] Qasim S M,BenSaleh M S,Bahaidarah M,et al.Design and FPGA implementation of sequential digital FIR filter using microprogrammed controller[C]//Ultra Modern Telecommunica-tions and Control Systems and Workshops(ICUMT),2012 4th International Congress on.IEEE,2012:1002-1005.

[4] 李錦明,謝緒煜,馬游春,等.基于FPGA的 FIR濾波器系統(tǒng)的設(shè)計(jì)[J].化工自動(dòng)化及儀表,2011,38(8):943-946.

LI Jin-ming,XIE Xu-yu,MA You-chun,et al.Design of FPGA-based Digital Filter System[J].Control and Instruments In Chemical Industry,2011,38(8):943-946.

[5] 陳 虹,崔葛瑾.基于FPGA的系數(shù)可調(diào)FIR濾波器設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2008,27(6):47-50,80.

CHEN Hong,CUI Ge-jin.Design of FIR Filter with Adjustable Coefficients Based on FPGA[J].Research and Exploration in Laboratory,2008,27(6):47-50,80.

[6] 魯迎春,李 祥,汪壯兵.高速FIR濾波器設(shè)計(jì)與FPGA實(shí)現(xiàn)[J].合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2007,30(12):1705-1707.

LU Ying-chun,LI Xiang,WANG Zhuang-bing.Design of highspeed FIR filters and implementation based on FPGA[J].Journal of Hefei University of Technology(Natural Science),2007,30(12):1705-1707.

[7] 戴 敬,王 超.基于FPGA多級(jí)分布式算法的FIR數(shù)字濾波器的設(shè)計(jì)[J].沈陽建筑大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,26(1):196-200.

DAI Jing,WANG Chao.The Design of Multi-Channels Distributed Arithmetic Algorithm FIR Filter Based on FPGA[J].Journal of Shenyang Jianzhu University(Natural Science),2010,26(1):196-200.

[8] Meher P K,Chandrasekaran S,Amira A.FPGA realization of FIR filters by efficientand flexible systolization using distributed arithmetic[J].Signal Processing,IEEE Transactions on,2008,56(7):3009-3017.

[9] 李 瑩,路衛(wèi)軍,于敦山,等.一種在FPGA上實(shí)現(xiàn)FIR數(shù)字濾波器的資源優(yōu)化算法[J].北京大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,45(2):222-226.

LI Ying,LU Wei-jun,YU Dun-shan,et al.A Resource Optimizing Algorithm in FPGA Based High Speed FIR Digital Filters[J].Acta Scientiarum Naturalium Universitatis Pekinensis,2009,45(2):222-226.

[10] Zhou Y,Shi P.Distributed Arithmetic for FIR Filter implementation on FPGA[C]//Multimedia Technology(ICMT),2011 International Conference on.IEEE,2011:294-297.

[11] 朱 莉,溫 堅(jiān),盧 鑫,等.基于分布式算法的串/并混合構(gòu)架 FIR濾波器設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2012,31(6):25-27,31.

ZHU Li,WEN Jian,LU Xin,et al.Design of a Combined Serial/Parallel FIRDigital Filter Based on Distributed Arithmetic[J].Research and Exploration in Laboratory,2012,31(6):25-27,31.

[12] 孔維功,張國杰,張效軍.基于DA算法的1-D DCT IP核結(jié)構(gòu)設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2008,25(8):143-147.

KONG Wei-gong,ZHANG Guo-jie,ZHANG Xiao-jun.Design of 1-D DCT IP Core Structure Based on Distributed Arithmetic[J].Microelectronics& Computer,2008,25(8):143-147.

[13] Huang W,Anderson D V. Modified sliding-block distributed arithmetic with offset binary coding for adaptive filters[J].Journal of Signal Processing Systems,2011,63(1):153-163.

[14] Kumar B S,Pudi V,Sridharan K.Efficient VLSI Architectures for the Hadamard Transform Based on Offset-Binary Coding and ROM Decomposition[C]//VLSI(ISVLSI),2011 IEEE Computer Society Annual Symposium on.IEEE,2011:347-348.

[15] 李 銳,陶 亮.多抽樣率Gabor變換并行算法的FPGA仿真和設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(13):50-51,102.

LI Rui,TAO Liang.FPGA-based simulation and design of parallel algorithm for multirate-based discrete Gabor transform.Computer Engineering and Applications,2011,47(13):50-51,102.

Optimized Scheme for Design of FIR Filter Based on FPGA

FAN Kai-yang,DU Xiao-feng,YANG Hong-bing
(College of Engineering,Nanjing Agricultural University,Nanjing 210031,China)

An implementation scheme of 16 order low pass FIR(finite impulse response)digital filter based on FPGA is proposed based on the theory of FIR digital filter.The DA(Distributed Arithmetic)structure is used to design FIR digital filter.The DA structure has high efficiency operation performance and is superior to traditional multiplyaccumulate(MAC)structure.In order to save hardware resources,the techniques of lookup table segmentation and offset-binary coding are used,and thus the size of occupied ROM reduced from 2LNtoL/2(2N/2.Finally,the simulation result is given based on ModelSim and the error is analyzed.The research results show that the correctness of the proposed design method.

FIR filter;FPGA;LUT(look up table);DA(Distributed Arithmetic);OBC(offset-binary coding)

TN 713

A

1006-7167(2014)05-0091-05

2013-07-23

南京農(nóng)業(yè)大學(xué)工學(xué)院教改研究項(xiàng)目(051010)

樊開陽(1993-),男,河南信陽人,本科生,主要從事電子信息與檢測(cè)技術(shù)方面的研究。

Tel.:15261807259;E-mail:keayoung@163.com

楊紅兵(1979-),男,湖北監(jiān)利人,博士,副教授,主要從事信號(hào)與信息處理方面的研究。

Tel.:18001593471;E-mail:hbyang@njau.edu.cn

猜你喜歡
濾波器分布式濾波
基于無擾濾波器和AED-ADT的無擾切換控制
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
開關(guān)電源EMI濾波器的應(yīng)用方法探討
電子制作(2018年16期)2018-09-26 03:26:50
分布式光伏熱錢洶涌
能源(2017年10期)2017-12-20 05:54:07
分布式光伏:爆發(fā)還是徘徊
能源(2017年5期)2017-07-06 09:25:54
基于TMS320C6678的SAR方位向預(yù)濾波器的并行實(shí)現(xiàn)
基于DDS的分布式三維協(xié)同仿真研究
RTS平滑濾波在事后姿態(tài)確定中的應(yīng)用
基于線性正則變換的 LMS 自適應(yīng)濾波
西門子 分布式I/O Simatic ET 200AL
涡阳县| 河东区| 大新县| 墨脱县| 贺兰县| 湟源县| 宝丰县| 繁昌县| 西畴县| 永安市| 务川| 邳州市| 吐鲁番市| 太和县| 湘潭县| 抚顺市| 济南市| 微山县| 天水市| 河东区| 宣城市| 蓬莱市| 无为县| 唐河县| 新宁县| 南康市| 邯郸市| 元朗区| 大邑县| 偃师市| 全椒县| 太谷县| 蒙山县| 郓城县| 东丰县| 兴宁市| 嘉祥县| 大关县| 哈巴河县| 泾川县| 错那县|