龙源期刊网httpwwwqika
comc
基于FPGA的FIR低通滤波器设计与实现
作者:叶敏孙国强张淑玲来源:《软件导刊》2016年第10期
摘要:采用Cyclo
eⅣEP4CE115F29C7型号的FPGA芯片,选用分布式算法,实现了一个40阶的FIR低通滤波器。通过VerilogHDL编程语言在QuartusII的开发环境中实现FIR滤波器的各模块仿真验证,并加入AD芯片AD9214BRS80和DA芯片AD5440YRUZ进行硬件测试。结果表明,该滤波器输出波形稳定,波形衰减达到实验要求。
关键词:FIR低通滤波器;FPGA;分布式算法
DOIDOI:1011907rjdk161839
中图分类号:TP319
文献标识码:A文章编号:16727800(2016)010005603
0引言
FIR滤波器作为一种处理工具被广泛应用于信号处理和图像处理领域。在数字通信应用中,如信道均衡、频率渠道化等对FIR滤波器的诸要求较高1。随着FIR滤波器阶数的增加,滤波器实现的复杂性也随之增加。目前,有关FIR滤波器的实现依然存在一些问题,如采用DSP方式实现滤波器在并行设计方面有所欠缺,同时用于实现滤波器的专用信号芯片通用性比较差,无法做到广泛兼容。基于此,本文提出一种基于FPGA的低通滤波器实现方案,充分利用FPGA的高可靠性、高速与实时性的优势,一定程度上解决上述问题2,3。近年来,已有多种算法用于可编程逻辑器件(FPGA)实现高效的FIR滤波器结构,其中基于分布式算法的FIR滤波器作为一种主要的数字信号处理算法受到广泛青睐4。分布式算法不仅结构简易而且可以采用模块化形式设计,可以满足不同需求。本文充分考虑FPGA和分布式算法的优点,基于FPGA,采用分布式算法实现了一个40阶FIR低通滤波器。
1FIR数字滤波器设计原理
11FIR低通滤波器结构
对于FIR数字滤波器而言,其单位冲激响应是有限长的,对于一个长度为N,阶数为N1的FIR滤波器的系统函数可以表示为:
H(z)∑N1i0bizi(1)
f龙源期刊网httpwwwqika
comc
式(1)可用差分方程表示为:
y(
)∑N1i0x(
1)h(i)(2)
式(2)中,x(
)是采样输入序列,h(i)是滤波器系数,y(
)表示滤波器的输出序列。
常用的FIR滤波器具有线性相位,滤波器系数满足中心对称,即:
h(i)±h(N1i)(3)
12分布式算法
本文采用并行DA算法,数据并行加载5。假设FIR滤波器的阶数是N阶,输入数据的位宽是M,则在时钟到来时,N个输入数据的最低位一同加载进行相应寻址,然后将N个结果进行相加再乘以20,将得到的值放在寄存器中,然后在下一时钟到来时,N个输入数据的第二位一同加载进行相应寻址,然后将N个结果进行相加再r