欢迎来到天天文库
浏览记录
ID:31359212
大小:110.50 KB
页数:7页
时间:2019-01-09
《基于fpga和matlab的fir数字滤波器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于FPGA和Matlab的FIR数字滤波器 摘要:为了满足信号处理快速和灵活的要求,基于FPGA实现的FIR滤波器有这两方面的优势,使用Matlab中的FDATool计算出滤波器系数并分析其幅频特性,利用FPGA分别设计实现串行结构、全并行结构以及基于IP核的FIR数字滤波器。利用Matlab软件进行FIR滤波器仿真,并与基于FPGA实现滤波器的Modelsim仿真输出数据进行比较,结果表明,设计的FIR滤波器功能正确、滤波性能良好。通过对不同结构滤波器的资源占用情况和数据处理速度进行分析,得出不
2、同应用场合可选择不同的滤波器结构的结论。 关键词:FIR;FPGA;串行结构;并行结构;IP核 中图分类号:TN713?34文献标识码:A文章编号:1004?373X(2015)19?0098?04 Abstract:Sincetheactualsignalprocessinghastherequirementsofreal?timeresponseandflexibility,theimplementationofFPGA?basedFIRfilterhasthetwoadvantages.T
3、hefiltercoefficientiscalculatedandthemagnitude?frequencycharacteristicisanalyzedbyFDAToolinMatlab.TheFIRdigitalfiltersofserialstructure,parallelstructureandIPcorebasedweredesignedandrealizedrespectivelybyFPGA.FIRfiltersaresimulatedbyMatlab,andcomparedwi
4、ththedataoutputbyModelsim7simulationofthefilterimplementedbyFPGA,theresultsshowthatfunctionsofthedesignedFIRfiltersarecorrect,andfilteringperformanceisbetter.Theresourceoccupationsituationanddataprocessingspeedofdifferentstructurefiltersareanalyzed,andt
5、heconclusionoffilterswithdifferentstructurescanbechosentoapplytosuitablesituationwasobtained. Keywords:FIR;FPGA;serialstructure;parallelstructure;IPcore 0引言 数字滤波器是一个按预定的有限精度算法实现的、将输入的数字信号转换为所要求的输出数字信号的线性时不变系统[1?2]。由于FPGA的并行处理特性和自上到下的编程思想,所以其实现的数字滤波器能
6、够兼顾系统实时性和灵活性的要求[3?4]。 根据系统时域性能,数字滤波器分为有限长单位脉冲响应(FiniteImpulseResponse,FIR)数字滤波器和无限长单位脉冲响应(InfiniteImpulseResponse,IIR)数字滤波器。相对于IIR数字滤波器,FIR滤波器有较大的优越性[5?6],所以本文将对FIR滤波器进行设计。FIR滤波器系数的设计方法主要有3种,包括窗函数法、频率采样法和最优化方法[5]。7 本文借助Matlab中的FDATool工具,针对滤波要求设置合适的参数,
7、可以方便地求解出滤波器系数和响应曲线,然后利用FPGA分别设计实现串行结构、全并行结构以及基于IP核的FIR数字滤波器,利用Matlab软件进行FIR滤波器仿真,并与基于FPGA实现滤波器的Modelsim输出数据进行对比,以此判断3种结构滤波器设计的正确性。 1基于Matlab的FIR数字滤波器的设计 1.1FIR滤波器基本原理及结构 根据FIR滤波器硬件实现结构的不同,可将其分为直接型、级联型、频率采样型和快速卷积型[6]等4种形式。本文主要讨论直接型结构。根据直接型FIR滤波器的原理,以长
8、度[N]为例,输出一个滤波数据,需要完成[N]次乘法和[N-1]次加法运算。 依据FIR滤波器严格的线性相位特点,得到滤波器系数具有对称性,因此能够采用线性相位结构,如图1所示[7],可以减少运算次数和节约硬件资源。因为[h(n)]关于[n=(N-1)2]对称[7],可以先将位置上对称的两个数据加起来,再与相应的滤波器系数相乘,然后经过累加得到最终的结果。采用这种结构,每得到一个输出数据,要完成[N2]次乘法和[N-1]次加法,与之前相比,可以减少[N
此文档下载收益归作者所有