基于fpga的fir低通滤波器设计与实现

基于fpga的fir低通滤波器设计与实现

ID:31359249

大小:107.50 KB

页数:6页

时间:2019-01-09

基于fpga的fir低通滤波器设计与实现_第1页
基于fpga的fir低通滤波器设计与实现_第2页
基于fpga的fir低通滤波器设计与实现_第3页
基于fpga的fir低通滤波器设计与实现_第4页
基于fpga的fir低通滤波器设计与实现_第5页
资源描述:

《基于fpga的fir低通滤波器设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于FPGA的FIR低通滤波器设计与实现  摘要:采用CycloneⅣEP4CE115F29C7型号的FPGA芯片,选用分布式算法,实现了一个40阶的FIR低通滤波器。通过VerilogHDL编程语言在QuartusII的开发环境中实现FIR滤波器的各模块仿真验证,并加入A/D芯片AD9214BRS-80和D/A芯片AD5440YRUZ进行硬件测试。结果表明,该滤波器输出波形稳定,波形衰减达到实验要求。  关键词:FIR低通滤波器;FPGA;分布式算法  DOIDOI:10.11907/rjdk.161839  中图分类号:TP319  文献标识码:A文章编号:16727800

2、(2016)010005603  0引言  FIR滤波器作为一种处理工具被广泛应用于信号处理和图像处理领域。在数字通信应用中,如信道均衡、频率渠道化等对FIR滤波器的诸要求较高[1]。随着FIR滤波器阶数的增加,滤波器实现的复杂性也随之增加。目前,有关FIR滤波器的实现依然存在一些问题,如采用DSP方式实现滤波器在并行设计方面有所欠缺,同时用于实现滤波器的专用信号芯片通用性比较差,无法做到广泛兼容。基于此,本文提出一种基于FPGA的低通滤波器实现方案,充分利用6FPGA的高可靠性、高速与实时性的优势,一定程度上解决上述问题[2,3]。近年来,已有多种算法用于可编程逻辑器件(FP

3、GA)实现高效的FIR滤波器结构,其中基于分布式算法的FIR滤波器作为一种主要的数字信号处理算法受到广泛青睐[4]。分布式算法不仅结构简易而且可以采用模块化形式设计,可以满足不同需求。本文充分考虑FPGA和分布式算法的优点,基于FPGA,采用分布式算法实现了一个40阶FIR低通滤波器。  1FIR数字滤波器设计原理  1.1FIR低通滤波器结构  对于FIR数字滤波器而言,其单位冲激响应是有限长的,对于一个长度为N,阶数为N-1的FIR滤波器的系统函数可以表示为:  H(z)=∑N-1i=0biz-i(1)  式(1)可用差分方程表示为:  y(n)=∑N-1i=0x(n-1)

4、h(i)(2)  式(2)中,x(n)是采样输入序列,h(i)是滤波器系数,y(n)表示滤波器的输出序列。  常用的FIR滤波器具有线性相位,滤波器系数满足中心对称,即:  h(i)=±h(N-1-i)(3)  1.2分布式算法6  本文采用并行DA算法,数据并行加载[5]。假设FIR滤波器的阶数是N阶,输入数据的位宽是M,则在时钟到来时,N个输入数据的最低位一同加载进行相应寻址,然后将N个结果进行相加再乘以20,将得到的值放在寄存器中,然后在下一时钟到来时,N个输入数据的第二位一同加载进行相应寻址,然后将N个结果进行相加再乘以21,然后与寄存器中的值进行相加。依此类推,N个输

5、入数据的第M位并行加载寻址相加之后乘以2M,由于是最高位,须与之前寄存器中的值相减。  由于FIR滤波器系数是对称的,选择将与相同系数相乘的输入值进行预先相加,得到一个新的输入。在本系统中,原始滤波器是40阶,进行相加处理后,滤波器缩小为20阶,减小硬件规模。  2MATLAB设计FIR滤波器  滤波器设计指标如下:低通、阶数40阶、采样频率100kHz、信号截止频率25kHz、Hanning窗、输入数据位宽10位。为了获得40阶滤波器的系数,采用MATLAB中的FDATool工具对滤波器进行设计。为了验证FDATool所设计的FIR低通滤波器的合理性,本文采用Simulink

6、仿真,仿真原理、结果分别如图1、图2所示。  图2中,由上至依次是3kHz信号、30kHz信号、3kHz和30kHz叠加信号经过滤波器后的结果,可以看到30kHz信号被滤掉,而3kHz没有衰减。  3FPGA实现FIR滤波器  整个FIR低通滤波器采用模块化设计,利用VerilogHDL语言编程来实现。输入模块存储由A/D芯片转换得到的二进制数,存储输入数据前,需对数据进行位扩展。此操作主要是为了使当前输入数据的最高位数值保持一致,当输入数据的最高位为1时,则该扩展位也为1,否则扩展位为0。当40个11位二进制数据并行加入到输入模块端口时,为了减少硬件规模,根据FIR滤波器系数

7、的对称性,将输入数据进行预先相加。6  输入模块的输出连接并串转换模块,将输出模块的结果串行输出,输出为20个11位二进制数的每一位,从而使20个数据的相同bit同时输出,每4位作为ROM表模块的地址。也就是说,5组4阶的滤波器会有5个串并转换模块。按照设计,本系统存在5张ROM表,每张表中,所存储的是经过输入之后的4个系数的16种组合。ROM表的位宽设置为16位二进制数。  查找表中的数据被进行相应寻址,输出结果连接查找表相加模块,查找表相加模块将5张ROM表在同一时钟下的输出值相加,得到

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。