• 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)代码实现法,根据卷积公式,设计逻辑代码,将输入数据与系数做卷积和。

  • 相关阅读:
    数据泵使用笔记与相关shell
    手动创建数据库
    归档日志小试
    SQL语句的结果如何反映在SGA与磁盘中
    oracle 表空间
    linux 循环判断、数组、循环
    oracle 连接方式
    Changing Project Binding to Surround SCM Integration Provider with Visual Studio 2010
    On Caching and Evangelizing SQL
    Windows下使用python3 + selenium实现网页自动填表功能
  • 原文地址:https://www.cnblogs.com/zuilangsanshu/p/12958416.html
Copyright © 2020-2023  润新知