FIR滤波器的优越性:

相位对应为严格的线性,不存在延迟失真,仅仅有固定的时间延迟;

因为不存在稳定性问题,设计相对简单;

仅仅包括实数算法,不涉及复数算法,不须要递推运算,长度为M,阶数为M-1,计算值约为M/2。

关于FIR滤波器的幅频特性和相频特性。在人们不关心相位时,能够让幅频特性常为正,原来为负的部分仅仅需相位加上pi来补偿。

但当相位非常重要,不同意随便增减时,幅频特性就必须区分正负。我们这里称为符幅特性。

符幅特性负值部分向上反褶就和我们平时看到的幅频特性一样,还是满足对称性的。

4类FIR的比較(摘自百度文库):

不同类型要注意他们在w=0和pi时的取值是否为0,对滤波器选型有影响。

另外要注意到FIR极点在原点,零点则是成对出现,并且极点数等于零点数。

实际中用窗函数截断法设计FIR滤波器。

矩形窗缺点:

突然截断引起吉布斯效应,由于矩形窗在频谱上的旁瓣相对幅度过大,导致滤波器波动大。

因此要採用平滑截断的窗,旁瓣相对小。但平滑窗主瓣宽度大,主瓣宽度是决定过渡带的关键因素。因此用提高阶数的方法解决。

matlab中各种窗函数:

wd = boxcar(N);%矩形窗

wd = triang(N);%三角窗

wd = hanning(N);&汉宁窗

wd = hamming(N);%汉明窗

wd = blackman(N);%布莱克曼窗

wd = kaiser(N,beta);%凯泽-贝塞尔窗,最优的窗结构之中的一个,对于给定的波动,提供最小的主瓣宽度。

另外有个现成的设计函数:

b = fir1(M,wn,'type',window);

b为待设计的滤波器系数向量,长度为N = M+1;

M为阶数;

wn为滤波器给定的边缘频率,标量或数组;

type滤波器类型,低通,高通……

window为窗函数类型,默认汉明窗。

比如b = fir1(32,0.7,high',kaiser(33,4));

注意0.7是指边界数字频率0.7*pi。

滤波器设计也能够利用matlab的fdatool工具设计,更为直观。

FIR滤波器设计的更多相关文章

  1. matlab进行FIR滤波器设计(一)

    来源:https://blog.csdn.net/leokingszx/article/details/80041910 在实际的应用中,有时需要使用FIR根据完成一些特定功能,比如近似一阶RC低通电 ...

  2. FIR滤波器(1)- 基础知识

    FIR滤波器广泛应用于数字信号处理中,主要功能就是将不感兴趣的信号滤除,留下有用信号.FIR滤波器是全零点结构,系统永远稳定:并且具有线性相位的特征,在有效频率范围内所有信号相位上不失真.在无线通信收 ...

  3. IIR滤波器设计(调用MATLAB IIR函数来实现)

    转载请注明文章来源 – http://blog.csdn.net/v_hyx ,请勿用于任何商业用途         对于滤波器设计,以前虽然学过相关的理论(现代数字信号处理和DSP设计),但一直不求 ...

  4. 转载论文关于fir滤波器的fpga实现

    摘 要 本文讨论的FIR滤波器因其具有严格的线性相位特性而得到广泛的应用.在工程实践中,往往要求信号处理具有实时性和灵活性,本论文研究FIR的FPGA解决方案正体现了电子系统的微型化和单片化. 本论文 ...

  5. FIR滤波器相关解释

    LTI(Linear Time-Invariant) 线性时不变: 线性时不变系统是根据系统输入和输出是否具有线性关系来定义的.满足叠加原理的系统具有线性特性.线性满足y=kx函数. 根据系统的输入和 ...

  6. 《数字信号处理》课程实验2 – FIR数字滤波器设计

    一.FIR数字滤波器设计原理  本实验采用窗函数法设计FIR数字低通滤波器.我们希望设计的滤波器系统函数如下: \(H_{d}\left( e^{jw} \right) = \left\{ \begi ...

  7. 数字信号处理实验(六)——FIR滤波器的设计

    一.四种线性相位FIR滤波器的振幅响应 1.自编函数 [Hr,w,a,L]=-n) [Hr,w,a,L]=-n) [Hr,w,a,L]=-n) [Hr,w,a,L]=-n) 2.一个demo clea ...

  8. 使用MATLAB设计FIR滤波器

    1.      采用fir1函数设计,fir1函数可以设计低通.带通.高通.带阻等多种类型的具有严格线性相位特性的FIR滤波器.语法形式: b = fir1(n, wn) b = fir1(n, wn ...

  9. IIR滤波器和FIR滤波器的区别与联系zz

      -------------------------------------------------------------------------------------------------- ...

随机推荐

  1. PHP常用代码大全

    1.连接MYSQL数据库代码 <?php $connec=mysql_connect("localhost","root","root" ...

  2. OC之字符串 NSString与NSMutableString

    一.NSString 不可变字符串的操作1)将字符串常量对象直接赋值给字符串引用 NSString *str1=@"hello"; 字符串对象的输出格式:NSLog(@" ...

  3. UITableView实现分组, 并且点击每个分组后展开

    效果图: 简单说下实现思路: 数据传过来之后, 先创建好对应个数的分组头部View, 也就是要在 - (UIView *)tableView:(UITableView *)tableView view ...

  4. QT5-控件-QLabel和QLCDNumber-标签显示图片或者视频,LCD用于上位机不错

    #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QLabel> #incl ...

  5. 使用 phpMyAdmin无法登录mysql的问题

    今天使用使用phpmyadmin时出现了以下错误: (1)第一次时: 当配置文件config.inc.php里的配置项是: $cfg['Servers'][$i]['host'] = 'localho ...

  6. javascript 倒计时代码

    <script language="javascript" type="text/javascript"> var interval = 1000; ...

  7. bat判断某个目录是否存在

    使用批处理判断某个目录是否存在的语句. if not exist xxx_folder_name md xxx_folder_name

  8. Java泛型的基本应用

    一.泛型概述 jdk1.5版本以后出现的新特性,用于解决安全问题,是一个安全机制. 好处: 1,将运行时期的问题ClassCastException转到了编译时期. 2,避免了强制转换的麻烦. 什么时 ...

  9. HttpClient支持使用代理服务器以及身份认证

    HttpClient Authentication Doument: http://hc.apache.org/httpclient-3.x/authentication.html HttpClien ...

  10. oldboy第一天学习

    oldboy第一天学习 一.听Alex Li 吹牛逼! 1.老男孩附加的功能.每节课都有鸡汤.节省时间,投资自己.结识更多的朋友. 2.python的创始人为吉多·范罗苏姆(Guido van Ros ...