基于fpga 的f.i.r 滤波器设计探讨

时间:2020-08-13 11:20:03 MBA毕业论文 我要投稿

基于fpga 的f.i.r 滤波器设计探讨

  1.引言

  数字滤波在图像处理、语音识别和模式识别等数字信号处理中占有重要地位。与模拟滤波器相比,数字滤波器可以满足滤波器幅度和相位特性的严格要求,可以克服模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。有限冲激响应(FIR)滤波器可以保证严格的线性相位。同时由于其实现结构主要是非递归的,因此FIR 滤波器可以稳定工作。FIR 滤波器被广泛用于各类数字信号处理系统中实现卷积、相关、自适应滤波、正交插值等处理,对于非实时系统和低速采样系统,FIR 滤波器的运算可在CPU 或DSP 处理器上采用软件实现。但对于无线通讯、雷达以及工业控制,甚至语音信号处理等实时应用,由于FIR 运算计算量过大,采用DSP 软件可能无法实现,因此采用可编程器件便是最好的方法。

  目前 FIR 滤波器大致有以下几种实现方法:

  (1)使用单片通用数字滤波器集成电路。单片通用数字滤波器使用简单方便,但由于字长和阶数的规格较少,不能完全满足实际需要。虽可采用多片扩展来满足,但会增加体积和功耗,因而在实际中受到一定限制。

  (2)采用DSP 器件实现。由于有专门的函数可供调用,因此使用DSP 器件设计FIR滤波器相对较简单,其应用也最为广泛。其唯一缺点是程序顺序执行,尽管DSP 器件性能不断提高,但在某些实时性要求极高的场合中受到限制。

  (3)采用可编程逻辑器件实现。随着可编程逻辑器件的容量和速度的不断增加,实现单片系统集成已经成为可能。利用可编程逻辑器件实现FIR 滤波器,由于实现的是硬件并行算法,因此特别适用于某些实时性要求高的场合。

  2.FIR 滤波器基本原理

  滤波,顾名思义是对输入信号通过一定的处理得到输出信号,这个处理通常是提取信号中某频率范围内的信号成分,把这种处理的过程称为滤波。而能实现滤波处理的运算电路或设备就称为滤波器。数字滤波器是完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。数字滤波器具有稳定性高、精度高、灵活性大等突出优点。随着数字技术的发展,用数字技术设计滤波器的功能越来越受到人们的注意和广泛的应用。FPGA 有着规整的内部逻辑块阵列和丰富的连线资源,特别适合细精度和高并行度结构特点的数字信号处理任务,如FIR、FFT 等。本文详细讨论利用FPGA 实现FIR 滤波器的设计过程,并且对设计中的关键技术—分布式算法进行详细描述。

  3. FIR 分布式算法原理

  3.1 总体设计

  分布式算法是一种以实现乘加运算为目的的运算方法。它与传统算法实现乘加运算的不同在于执行部分积运算的先后顺序不同。简单地说,分布式算法在完成乘加功能时是通过将各输入数据每一对应位产生的部分积预先进行相加形成相应部分积,然后再对各部门积进行累加形成最终结果,而传统算法是等到所有乘积产生之后再进行相加来完成乘加运算的。与传统算法相比,分布式算法可极大地减少硬件电路规模,很容易实现流水线处理,提高电路的`执行速度。

  FIR 滤波器(Finite Impulse Response)有直接型、级联型和频率抽样型三种基本结构,其中最常见的是直接型结构。这种结构也称为抽头延迟线结构,或横向滤波器结构。

  可以看出,线性相位FIR 滤波器的固有对称属性可以降低所需要的乘法器的数量,它使得乘法器的数量降低了一半,而加法器的数量增加了一半,总的运算量减少。

  FIR 滤波器的优点有:

  (1)即具有严格的线性相位,又具有任意的幅度;(2)FIR 滤波器的单位抽样响应是有限长的,因此滤波器性能稳定;(3)只要经过一定的延迟时,任何非因果有限长序列,因而能用因果系统来实现;(4)FIR 滤波器由于单位冲击响应是有限长的,因而可用快速傅立叶变换(FFT)算法来实现过滤信号,可大大提高运算效率。