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

?

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

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

樊開陽, 杜小峰, 楊紅兵

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

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

樊開陽, 杜小峰, 楊紅兵

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

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

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

0 引言

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

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

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

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

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

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

2 DA算法

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

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

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

式中函數(shù)f(h[n].xk[n])利用查找表來實現(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次查表后,即可完成對內(nèi)積y的計算。由于在濾波中的x[n]多是有符號數(shù),現(xiàn)在討論有符號數(shù)的內(nèi)積。x[n]用補碼表示滿足:

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

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

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

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

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

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

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

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

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

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

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

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

4.1 設(shè)計標準

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

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

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

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

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

4.3 仿真及誤差分析

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

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

圖3 頂層原理圖

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

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

表3 誤差分析

5 結(jié)語

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

[1] 陳敏歌,焦占亞,安曉鋼.等.波紋線性相位FIR濾波器的1種設(shè)計方法[J].西安科技大學學報,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].實驗技術(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].化工自動化及儀表,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].實驗室研究與探索,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è)計與FPGA實現(xiàn)[J].合肥工業(yè)大學學報(自然科學版),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多級分布式算法的FIR數(shù)字濾波器的設(shè)計[J].沈陽建筑大學學報(自然科學版),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上實現(xiàn)FIR數(shù)字濾波器的資源優(yōu)化算法[J].北京大學學報(自然科學版),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] 朱 莉,溫 堅,盧 鑫,等.基于分布式算法的串/并混合構(gòu)架 FIR濾波器設(shè)計[J].實驗室研究與探索,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].微電子學與計算機,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].計算機工程與應(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è)大學工學院教改研究項目(051010)

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

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

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

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ù)濾波器的并行實現(xiàn)
基于DDS的分布式三維協(xié)同仿真研究
雷達與對抗(2015年3期)2015-12-09 02:38:50
RTS平滑濾波在事后姿態(tài)確定中的應(yīng)用
基于線性正則變換的 LMS 自適應(yīng)濾波
遙測遙控(2015年2期)2015-04-23 08:15:18
西門子 分布式I/O Simatic ET 200AL
新平| 镇远县| 成都市| 广平县| 横山县| 海口市| 临高县| 青岛市| 贵溪市| 鸡泽县| 山东省| 五原县| 广州市| 隆尧县| 拜泉县| 喀喇沁旗| 遂昌县| 奉新县| 焦作市| 广东省| 定远县| 邵阳县| 合江县| 霍邱县| 太仆寺旗| 和林格尔县| 太原市| 石泉县| 辰溪县| 丹东市| 吉木乃县| 吴堡县| 鄂托克前旗| 洱源县| 威海市| 湾仔区| 涞水县| 福鼎市| 十堰市| 荔浦县| 正定县|