FIR滤波器设计
*****该文档为了说明FIR滤波器,IIR滤波器的原理,数学含义,设计方法*****
一、原理
  1)FIR有限冲击响应,IIR无限冲击响应。前者无反馈,只与当前和历史输入有关,
     后者有反馈,不仅与当前和历史输入有关,还与历史输出有关。FIR输出相位线性,
     设计简单,但是阶数更高;IIR输出相位不线性,设计困难,但相同性能,阶数更比
     FIR低。
  2)滤波其实就是对输入信号(图像/音频/其他信号)的某种加权叠加,结果表现为
     对想要信息的增强,对不想要信息的弱化。上述加权系数,就是滤波器的
     系统传递函数(单位冲击响应)。
  3)以下主要针对FIR展开说明,IIR后续补充。
二、数学含义
  1)卷积公式: 
                           N-1
                          ——
     y(k)= x(k)*a(k) = \  x(n)a(k-n)   k=0,1,2,... 且 N-1 ≤ k 。
                           /
                          ——
                          n=0
  2)k表示滤波器阶数,也即滤波器系数长度。
  3)N表示将输入信号,及其历史N-1个输入信号,输入滤波器做卷积运算。
  4)卷积运算,是将输入信号(上述N点数据)先扩充为k点数据(N-1<k时,
     在历史数据之前添0),然后翻转,并与系数相乘,最后累加。
  5)最后的累加和作为该点输入信号的优化值(滤波输出结果)。
三、设计方法(系数求解)
  1)关键在于设计出滤波器系数,FIR方法有窗函数、内插值等等。
  2)工具可用matlab的Filter Designer。
四、FPGA实现
  1)IP核实现法,设置好IP核参数,并用系数文件(coe文件)初始化IP核,
     然后调用IP即可。
  2)代码实现法,根据卷积公式,设计逻辑代码,将输入数据与系数做卷积和。
                    
                
                
            
        
浙公网安备 33010602011771号