什么是FIR滤波器?
FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
FIR滤波器的硬件实现方式:
1、数字集成电路
一种是使用单片通用数字滤波器集成电路,这种电路使用简单,但是由于字长和阶数的规格较少,不易完全满足实际需要。虽然可采用多片扩展来满足要求,但会增加体积和功耗,因而在实际应用中受到限制。
2、DSP芯片
另一种是使用DSP芯片。DSP芯片有专用的数字信号处理函数可调用,实现FIR滤波器相对简单,但是由于 程序顺序执行,速度受到限制。而且,就是同一公司的不同系统的DSP芯片,其编程指令也会有所不同,开发周期较长。
3、可编程
还有一种是使用可编程逻辑器件,FPGA/CPLD。FPGA有着规则的内部逻辑块阵列和丰富的连线资源,特别适合用于细粒度和高并行度结构的FIR滤波器的实现,相对于串行运算主导的通用DSP芯片来说,并行性和可扩展性都更好。
FIR滤波器与IIR滤波器的区别:
优点:
他可以很容易的设计成“线性相位”(经常是)。简单的说,就是线性相位滤波器延迟输入信号,但是又不会使信号失真。
使用他们很方便。在大部分的DSP微型处理器上都可以通过一个命令循环完成FIR计算。
它们适合多级应用。有了多级功能,我们可以引发“毁灭”即减少样本率,或是引发“添加”即增加样本率,或是两者都引发。无论是增加还是减少,FIR滤波器的使用都允许忽略一些计算,因此提供了计算机高效性的特征。相比之下,如果使用IIR滤波器,那么每个输出结果必将是经过了独立的计算,即使是将被舍去的结果也是如此(所以,将在滤波器找中显示反馈)。
他们有理想的数值属性。实际中,所有的DSP滤波器必须经过“有限-精确”计算才能完成任务。也就是说,有限的字节数。由于IIR反馈的使用,有限精确计算在IIR中将会引起显著的问题,但是FIR就没有反馈,所以他们可以使用较少的字节完成工作,设计者们也无需解决过多的关于不理想计算的问题了。
他们也可以通过部分的计算完成工作。与IIR不同的是,FIR经常可以通过使用少于1.0的强度的协同因素完成任务。{如果有需要的话,FIR滤波器的整体增益可以在输出时进行调试。}当使用固定点的DSP时,这个设计就很贴心。这种设计使得工作变得简单了很多。
缺点:
与IIR滤波器相比,FIR滤波器有时需要更多的存储空间和/或计算来完成给出的滤波器响应特征。并且,某些响应不能通过FIR滤波器完成。