基于分布式算法的FIR数字滤波器的FPGA实现_第1页
基于分布式算法的FIR数字滤波器的FPGA实现_第2页
基于分布式算法的FIR数字滤波器的FPGA实现_第3页
基于分布式算法的FIR数字滤波器的FPGA实现_第4页
基于分布式算法的FIR数字滤波器的FPGA实现_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第30卷第4期2009年8月大连交通大学学报JOURNALOFDALIANJIAOTONGUNIVERSITYVol.30No.4Aug.2009文章编号:167329590(2009)0420084204基于分布式算法的FIR数字滤波器的FPGA实现薛严冰,韩雪,邵远(大连交通大学电气信息学院,辽宁大连116028)摘要:根据基于查找表结构的分布式算法的基本原理,器(FIR)的实现方法.用FPGA设计并实现了一个32.数字滤波器线性相位的特性减小了电路规模,法结构和流水线技术提高了滤波器的速度.关键词:FIR滤波器;分布式算法;FPGA中图分类号:TN713.7:A0引言数字滤波器是数字信号

2、处理的重要基础,在对信号的过滤、检测与参数的估计等信号处理中,数字滤波器是使用最广泛的一种线性系统.FIR(FiniteImpulseResponse)数字滤波器在设计任意幅频特性的同时,保证了严格的线性相位特性.并且采用非递归结构,不论在理论上还是在实际的有限精度运算中都不存在稳定性问题,运算误差也相对IIR(InfiniteImpulseResponse)数字滤波器有所降低.因此,在通信、图像处理、模式识别等领域都有着广泛的应用1器MAC7(MultiplierAddCell)结构和分布式算法DA(DistributedArithmetic)结构两种.采用大规模的乘累加(MAC)运算来实现

3、高阶FIR滤波器会耗费有限的硬件资源,因此利用ROM查询表将固定系数的乘累加运算转换成查表操作的9DA结构成为设计的首选.在本文中,基于分布式算法设计了一种低通FIR滤波器,利用线性相位FIR滤波器的对称性减小了硬件规模,利用分割查找表的方法减小了存储空间,采用并行分布式算法结构和流水线技术提高滤波器的速度,最后在FPGA上实现了该滤波器.经过验证,该滤波器的滤波效果良好.8.FIR滤波器的实现方法有:利用专用的集成23电路(ASIC)、DSP器件和可编程逻辑器1分布式算法分布式算法是一项重要的FPGA技术,广泛地应用在计算乘积和之中.一个N阶的FIR滤波器的表达式如下:N-1件4.尽管DSP

4、处理器具有通过软件设计实现不10同功能的灵活性,但其指令顺序执行的特点极大制约着速度性能.面向数字信号处理的各类专用ASIC芯片虽然可以解决并行性和速度的问题,但是高昂的开发设计费用、耗时的设计周期以及呆板的纯硬件结构,使得数字信号处理的ASIC解决方案日益失去其实用性.现代大容量、高速FP2GA的出现,克服了上述方案的诸多不足,成为FIR数字滤波器的优良实现载体,相关研究受到y(n)=n=0cnxn=c0x0+c1x1+广泛关注526.(1)+cN-1xN-1其中,y(n)表示滤波器的输出,x(n)表示输入信号,c(n)表示滤波器的系数,N表示滤波器的阶数.在FPGA中,数据采用二进制的补码

5、表示,所以有符号的输入信号x(n)的表达式如下:FIR滤波器的FPGA实现方式主要有乘累加3收稿日期:2008211206作者简介:薛严冰(1973-),女,副教授,博士研究生,主要从事电路设计和信号处理的研究E2mail:dlxyb. 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. 第4期薛严冰,等:基于分布式算法的FIR数字滤波器的FPGA实现B-185xn=-2xbn+bb=0xbn2,bh(0)=h(31)=-12,h(1)=h(30)=-25(2)h(2)=h(29)

6、=-3,h(3)=h(28)=44h(4)=h(27)=52,h(5)=h(26)=-24h(6)=h(25)=-109,h(7)=h(24)=-69h(8)=h(23)=106,h(9)=h(22)=214h(10)=h(21)=43,h(11)=h(20)=-311(3)h(12)=h(19)=-402,h(13)=h(18)=153h(14)=h(17)=1200,h(15)=h(16)=2047xbn0,1其中,xbn表示xn的第b位,而xn也就是x的第n次采样,而输出y可以表示为:y=-2f(cn,xbn)+B-1N-1bbb=02f(cn,xbn)n=0式(3)中的函数f(cn,x

7、bn)利用查找表来实现,即把2的数据预先存入程序的查找表,然后把一个N位的输入向量xb=xb0,xb1,xbN-1作为地址,输出则为f(cn,xbn).各个映射f(cn,xbn)并累加.如图1所示,对积y的计算.N,所以本文根据图2IR滤波器的结构来设.,32个输入信号等效,即X1=x0+x31,X2=x1+x30,X16=x15+x16,为了防止相加时产生溢出,将12bit的输入扩展为13bit,然后把这16个输入信号作为ROM的地址线.这样相当于减小了滤波器的阶数,从而减小了硬件规模.图1移位加法器DA结构2分布式算法的FPGA实现本文基于分布式算法,设计了一个32阶低通FIR滤波器,并用

8、FPGA实现了该滤波器.2.1设计指标图2线性相位FIR滤波器的结构图采样频率:400Hz;类型:低通;通带的范围:060Hz;过渡带的范围:6089Hz;通带的纹波最大为:0.02;阻带的纹波最大为:0.01;输入数据宽度:12位;输出数据宽度:28位.2.2滤波器的设计按照图2所示的结构,需要216bit大小的查找表,为了减小存储滤波器系数所需空间,利16用分割查找表的方法将216bit大小的查找表8分割为两个216bit大小的查找表,即表1和表2所示的ROM1和ROM2.ROM1由系数h(0)h(7)组成,供(X0bX1bX7b)寻址;而ROM2由系16数h(8)h(15)组成,供(X8

9、bX9bX15b)寻址.表1查找表ROM1地址X7bX6bX5bX4bX3bX2bX1bX0b存储数据h(0)h(1)h(0)+h(1)00000000000000010000001000000011根据设计指标,使用MATLAB软件中的数字信号处理工具箱,用Kaiser窗设计出符合本文条件的FIR滤波器的系数.由于FPGA中的数据是用定点数表示的,所以需要对系数进行量化,本文采用MATLAB中的取整函数对系数进行量化,量化后的系数如下:11111111h(7)+h(6)+h(5)+h(4)+h(3)+h(2)+h(1)+h(0) 1994-2010 China Academic Journa

10、l Electronic Publishing House. All rights reserved. 86表2查找表ROM2地址X15bX14bX13bX12bX11bX10bX9bX8b大连交通大学学报第30卷存储数据h(8)h(9)h(8)+h(9)00000000000000010000001000000011为了提高滤波器的速度,本文采用了并行分布式算法结构,即将13bit的输入信号并行输入;同时采用了流水线技术来提高运行速度.首先把查表后的结果寄存,把寄存的结果对应相加,再把相加后的和寄存,寄存的和乘以相应的二次幂,最后将部分积相加或相减,得到最终结果,该设计的总体结构如图3所示.

11、2.3仿真结果及分析在Altera公司的Quartus5.0的软件环境下,采用StratixI4器件进行.用,并用400Hz的采样频,得到一个周期正弦信号的采样值为0,0.7071,1,0.7071,0,-0.7071,-1,-0.7071,对其量化后为0,1447,2047,1447,0,-1447,-2047,-1447.取四个周期的信号作为输入信号,根据式(1)计算理论值,即11111111h(15)+h(14)+h(13)+h(12)+h(11)+h(10)+h(9)+h(8)将量化后的结果与对应系数相乘,得到输出结果为-4557583.将量化后的正弦信号输入滤波器进行仿真,由图4所示

12、的仿真结果可知,实验结果与理论计算结果一致.取出仿真结果中第32个数据以后的数据,在MATLAB中绘制其波形,如图5所示,50Hz的正弦波通过了该FIR滤波器,但是由于时序的原因,产生了一定角度的移相.图3总体结构图图4正弦信号的仿真结果信号,同样用400Hz的采样频率对其进行采样,得到一组序列1,0.7071,0,0.7071,1,-0.7071,-2,-0.7071.对其进行量化,量化后的结果为1024,724,0,724,1024,-724,-2047,-724,取四组序列作为输入信号,根据式(1),求出理论值为-2272712.将量化结果输入FIR滤波器,仿真结果如图6所示,与理论计算

13、的值一致.图7是根据仿真结果,用MATLAB绘出的滤波前后的波形对比,由图7(b)可以看出100Hz余弦信号的干扰信号已被滤除,50Hz的正弦信号通过.图550Hz的正弦波通过FIR滤波器后的结果为了进一步验证该滤波器的性能,在50Hz正弦信号的基础上增加100Hz余弦信号的干扰 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. 第4期薛严冰,等:基于分布式算法的FIR数字滤波器的FPGA实现87图6带干扰信号的仿真结果波器设计J.电子测量技术,2007,30(7):101210

14、4.2陈亦欧,李广军.采用分布式算法的高速FIR滤波器ASIC设计J.微电子学,2007,31(1):1442146.3姜建山.FIR数字滤波器的MATLAB设计与DSP实现J.电测与仪表,2006,43):33236.IRJ(自然科学版),:274.EMEYER2BAESE.数字信号处理的FPGA实现(第二版)M.北京:清华大学出版社,2006.6HUANGWALTER,KRISHNANVENKATESH,ALLRED图7DANIEL,etal.DesignanalysisofadistributedarithmeticadaptiveFIRfilteronanFPGAC.Conferenc

15、eRecordoftheAsilomarConferenceonSignals,SystemsandCom2puters,2003:9262930.7曹琦,毕笃彦,张齐.MAC在FPGA中的高效实现J.2.4性能分析本文设计的FIR滤波器仿真结果与理论计算数值一致,通带范围内的信号可以通过滤波器,而阻带范围的信号被滤波器有效滤除.在资源占用方面,采用传统的MAC结构需要1195个寄存器,而采用DA结构只需要1027个寄存器,减少了寄存器的数量,从而减小了资源占用率,用较少的资源达到了良好的滤波性能.微计算机信息,2007,23(622):2162218.8WANGSEN,TANGBIN,ZHU

16、JUN.Distributedarithme2ticforFIRfilterdesignonFPGAC.ICCCAS20072In2ternationalConferenceonCommunications,CircuitsandSystems,2007:6202623.9MEHERPRAMODKUMAR,CHANDRASEKARANSHRUTISAGAR,AMIRAABBES.FPGArealizationofFIRfiltersbyefficientandflexiblesystolizationusingdistributedarithmeticJ.IEEETransactionsonS

17、ignalProcessing,2008,56(71):300923017.10LINLI,SHUQINLOU,XIAOLINLIU,etal.TheIm2plementationofDigit2SerialFIRFiltersBasedonFPGAC.IEEE2005InternationalSymposiumonMicro2wave,Antenna,PropagationandEMCTechnologiesforWirelessCommunications,2005:4192422.3结语本文基于分布式算法设计的低通FIR滤波器性能优良,占用资源少.利用该方法设计的FIR滤波器,最大的优点

18、是可移植性好,在设计不同参数的滤波器时,只需改变查找表的内容,就可以满足具体的实际需要,是一种实用可靠的设计方法.该方法将在高速数字信号处理领域得到很好的应用.参考文献:1赵岚,毕卫红,刘丰.基于FPGA的分布式算法FIR滤DesignandImplementationofFIRDigitalFilterUsingFPGABasedonDistributedAlgorithmXUEYan2bing,HANXue,SHAOYuan(SchoolofElectrical&InformationEngineering,DalianJiaotongUniversity,Dalian116028,China)Ab

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论