APP下载

基于FPGA的FIR滤波器设计方案优化

2014-05-16樊开阳杜小峰杨红兵

实验室研究与探索 2014年5期
关键词:滤波器分布式滤波

樊开阳, 杜小峰, 杨红兵

(南京农业大学工学院,江苏南京 210031)

基于FPGA的FIR滤波器设计方案优化

樊开阳, 杜小峰, 杨红兵

(南京农业大学工学院,江苏南京 210031)

在介绍有限冲激响应(FIR)数字滤波器的理论基础上,提出了一种基于FPGA的16阶FIR低通数字滤波器的实现方案。该滤波器设计采用运算效率高的分布式算法结构,较好地解决了传统乘法累加结构运算速度低的不足。为节省硬件资源,设计中采取了分割查找表和偏移二进制数字编码技术,将所占ROM的大小由2LN减小到L/2(2N/2。最后给出了ModelSim下的仿真结果并对误差进行了分析,验证了该设计的正确性。

有限冲击响应滤波器;现场可编程门阵列;查找表;分布式算法;偏移二进制编码

0 引言

有限长冲激响应(FIR)数字滤波器具有严格的线性相位,具有稳定性和因果性等特点。FIR数字滤波器在语音信号、软件无线电及自适应信号处理等领域获得了广泛的应用[1-3]。随着现代电子技术及 EDA技术的发展,特别是可编程逻辑电路的发展使得基于FPGA的FIR滤波器硬件电路的实现具有内部电路结构透明化的特点,并能减小电路体积,提高系统工作效率[4-5]。FIR滤波器的实现有多种方法,传统的设计方法基于MAC(Multiply Accumulate)结构,为了满足不同的运算速率需要,主要有2种结构:并行MAC和单个MAC。并行MAC消耗大量的逻辑单元LES,只适合高端设计;单个MAC结构采用了以牺牲运算速度为代价来节省硬件资源的设计方法,不适于高速率的FIR滤波器设计。而基于分布式算法FIR滤波器运行速度快,节省了硬件资源并能较好地实现实时处理,特别适合于高速实时的信号处理[6-8]。本文提出了一种基于分布式算法的FIR滤波器的FPGA实现方案,并采用了分割查找表技术和OBC编码技术进行优化,设计和实现了该FIR低通滤波器。

1 FIR数字滤波器基础

数字滤波器(DF)是离散系统,它所处理的对象是用序列表示的离散信号或数字信号,其因果离散系统函数可表示为:

其常线性系数差分方程为:

可以看出,数字滤波器的功能是把输入序列通过一定的运算变换成输出序列。对于FIR滤波器,其系统只有零点,因此FIR滤波器的差分方程可以表示为:

若FIR数字滤波器的单位脉冲响应序列为h[n],它就相当于滤波器系数向量bk。知道h[n]后就可以进行滤波器的设计了。

2 DA算法

分布式算法(Distributed Arithmetic,DA)是为了解决乘法资源问题而提出的经典优化算法,主要是使用查表法快速得到部分积。与采用乘法器实现FIR数字滤波器相比,采用DA算法实现速度较快,资源占用低[9-11]。其原理如下:

在进行FIR数字滤波器设计时,h[n]为已知常数,x[n]为输入常量,对无符号DA系统,x[n]可表示为:

其中xk[n]表示x[n]转换成二进制后的第k位,所以内积y可表示为:

式中函数f(h[n].xk[n])利用查找表来实现,把N位的输入向量xk=(xk[0],xk[1],…,xk[N-1])作为输入地址,即可输出预先存入程序的f(h[n].xk[n])。各f(h[n],xk[n])都与相应的二次幂加权累加,在N次查表后,即可完成对内积y的计算。由于在滤波中的x[n]多是有符号数,现在讨论有符号数的内积。x[n]用补码表示满足:

对于有符号的DA算法,除符号位需要做减法运算外,其他都和无符号DA算法相同。其算法结构如图1所示。

图1 DA算法结构图

3 查找表优化方案

3.1 利用FIR滤波器的对称性进行优化

对于线性相位滤波器,其系数具有对称性(假定为偶对称)。因此,可以预先把相同系数的两个采样值相加,得到新的输入。这样滤波器的阶数可以降到原来的一半,从而减小了查找表的规模,节省了硬件资源。

3.2 分割查找表进行优化

LUT的规模随着滤波器的阶数N的增大而呈2N的速度增大。若系数N比较大,则用单个LUT实现FIR数字滤波器所需的存储空间就会过大。实际中,我们可以将大的LUT分成若干小的LUT,通过对小的LUT表的结果进行求和,即可得到所需的LUT表输出。这样将查找表的规模从2NL变为L·2N分割后LUT规模减小了,节省了硬件的资源。其算法结构如图2所示。

图2 分割查找表结构图

3.3 偏移二进制编码(OBC)进行优化

偏移二进制编码是数字编码的一种方法,它是将原始的二进制数进行了偏置。在分布式算法中,它将输入向量位值[0,1]映射为[-1,1],使得 ROM 表的上下两部分具有镜像对称性关系,利用这种对称性可以将ROM表的大小压缩到原来的一半[12-14]。对于二进制补码满足:

这样,每张查找表的存储单元数量变为为原来的一半,进一步节省了硬件的资源。

4 FPGA实现及仿真

4.1 设计标准

本设计采用Matlab(R2010b)中的FDATool来提取FIR滤波器的系数。实现的低通滤波器的采样频率为48 kHz,通带截止频率为 10.8kHz,窗口类型为kaiser窗,Beta为0.5,阶数为16 阶。由于h[n]的系数是浮点数,而FPGA只能进行定点运算,故在本设计中将h[n]扩大28,再将其量化并转换为补码形式进行运算,如表1所示。

表1 h[n]相关的数据

4.2 滤波器模块结构

遵循自顶向下的设计方法,基本电路模块用VHDL进行描述,顶层模块采用原理图的形式对进行设计,在Quartus II 11.1中进行编译和综合。原理图如图3所示。

如图3该设计由6个模块组成,1为SyncDelay模块,该模块具有同步延时功能,把原信号分别进行0到15个单位的延时,并分别输出。由于FIR滤波器的系数具有对称性 ,2为同系数相加模块,把与相同系数相乘的输入值预先相加以节省硬件资源。3即为OBC查找表模块,在该模块内把8路并行数据转换成8路串行数据并进行查表,为了节省硬件资源将查找表分割为两个,分别对应lut_out1和lut_out2输出。4是一个查找表数据加法模块将lut_out1和lut_out2相加完成最终的查找功能。5是累加器,将查找表的结果进行加权累加并加上OBC编码剩余的常数从而得到滤波输出值。0为时序控制单元,通过该模块能够控制系统按照正确的时序进行滤波。

4.3 仿真及误差分析

对本设计进行仿真的是与QuartusII 11.1配套使用ModelSim 10.0c。由于它仿真速度快,仿真精度高,具有强大的调试功能,因而是完成 FPGA/ASIC设计的RTL级和门级电路仿真的首选[15]。仿真时通过Matlab的simulink中的Signal Processing Source对10KHz的正弦信号进行三周期的采样得到x[n],由于FPGA只能处理定点数,故须进行扩大取整处理,见表2。则当x[n]输入时,ModelSim仿真结果如图4。fir_in为滤波前的输入信号,fir_out为滤波后的输出信号。

为了验证输出结果的正确性,我们将其与Matlab计算出来的真实值进行了对比。由于输入滤波器的值是经扩大128倍的值,故此处将须将输出缩小128倍。鉴于数据的数据量,利用数据的对称性特点可只取一半进行误差分析。为了便于分析,见表3,从16点取到31点。从表中可以看出,除输入的末端的值与准确值误差较大外(参数小而导致量化误差大),其余误差都比较小,仿真的结果基本满足设计要求。在设计中的误差主要由数据的量化产生。该量化误差包括设计滤波器时抽头系数h[n]的量化误差和对输入数据x[n]的量化误差。运算的时候系统移位舍弃一些位数,也对滤波器的精度产生了影响。对于高精度的系统可以通过增加阶数来改进。

图3 顶层原理图

图4 系统仿真图

表2 x[n]相关的数据

表3 误差分析

5 结语

本文介绍了一种改进型的FIR滤波器设计方案,给出了设计的流程,并通过仿真验证了设计的正确性,最后对误差进行了分析。DA算法的运用提高了系统的速度增强了滤波的实时性。分割查找表法和OBC编码算法降低了系统对硬件资源的占用,节省了设计成本。由于数据在扩大缩小的过程中产生了量化误差,对于高精度的要求,该系统还需进一步的改进,例如扩大滤波阶数等。但对于一般的滤波器要求该系统基本能够满足要求,具有一定的实用价值。

[1] 陈敏歌,焦占亚,安晓钢.等.波纹线性相位FIR滤波器的1种设计方法[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滤波器设计[J].实验技术与管理,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滤波器系统的设计[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的系数可调FIR滤波器设计[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滤波器设计与FPGA实现[J].合肥工业大学学报(自然科学版),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数字滤波器的设计[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] 李 莹,路卫军,于敦山,等.一种在FPGA上实现FIR数字滤波器的资源优化算法[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] 朱 莉,温 坚,卢 鑫,等.基于分布式算法的串/并混合构架 FIR滤波器设计[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核结构设计[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仿真和设计[J].计算机工程与应用,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

南京农业大学工学院教改研究项目(051010)

樊开阳(1993-),男,河南信阳人,本科生,主要从事电子信息与检测技术方面的研究。

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

杨红兵(1979-),男,湖北监利人,博士,副教授,主要从事信号与信息处理方面的研究。

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

猜你喜欢

滤波器分布式滤波
从滤波器理解卷积
开关电源EMI滤波器的应用方法探讨
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
基于Canny振荡抑制准则的改进匹配滤波器
基于TMS320C6678的SAR方位向预滤波器的并行实现
基于DDS的分布式三维协同仿真研究
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
西门子 分布式I/O Simatic ET 200AL