滤波器在2017年IC前端的笔试中,出现频率十分的高。不论今后是否会涉及,还是要记住一些会比较好。接下来就将从这四个方面来讲解,FIR数字滤波器的工作原理(算法)与verilog实现。
·什么是FIR数字滤波器
·FIR数字滤波器与IIR数字滤波器的对比
·从sobel算法、高斯滤波算法着手,讲解FIR滤波器算法
·FIR数字滤波器的几种verilog代码实现
一、什么是FIR数字滤波器
FIR滤波器的全称是Finite Impulse Respond Filter。中文全称是有限脉冲响应滤波器,它也叫做非递归型滤波器。
它的作用和所有的滤波器一样,通过算法来使某刻的值处在一个更为准确的值,这句话看着很绕,但是在后面的三种算法的介绍中,应该可以理解我在这里说的这句话的含义。(它比‘通过算法来去除杂波’这句话,更清楚明白)。
实现数字滤波,就必须要有数字信号,所以这里要通过A/D转换,来使得模拟信号变为数值,才好带入算法中计算,然后用D/A转换,输出模拟信号。
二、FIR数字滤波器与IIR数字滤波器的对比
这里说了与IIR数字滤波器的对比,那什么是IIR数字滤波器呢?
IIR数字滤波器全称是Infinite Impulse Respond Filter。中文全称是无限脉冲响应滤波器,它也叫做递归型滤波器。
二者特点比较:
FIR滤波器特点:
- 没有反馈回路,稳定性强。即FIR滤波器只需要有当前数据,和历史输入数据,不需要历史滤波输出数据的参与(这是它与IIR最大的区别了,后面许多差别也就是因为这个而来的)。因为滤波的输出本来就是一个舍入值,若带入下一次的计算中,就会在这个舍入值(非精准值)基础上再一次的舍入,进行N次,会产生微小的寄生振荡。
- 算法计算完成后与原先数据有线性的相位差,更容易将计算后的信号相位还原成原相位(