FIR滤波器设计
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滤波器设计的更多相关文章
- matlab进行FIR滤波器设计(一)
来源:https://blog.csdn.net/leokingszx/article/details/80041910 在实际的应用中,有时需要使用FIR根据完成一些特定功能,比如近似一阶RC低通电 ...
- FIR滤波器(1)- 基础知识
FIR滤波器广泛应用于数字信号处理中,主要功能就是将不感兴趣的信号滤除,留下有用信号.FIR滤波器是全零点结构,系统永远稳定:并且具有线性相位的特征,在有效频率范围内所有信号相位上不失真.在无线通信收 ...
- IIR滤波器设计(调用MATLAB IIR函数来实现)
转载请注明文章来源 – http://blog.csdn.net/v_hyx ,请勿用于任何商业用途 对于滤波器设计,以前虽然学过相关的理论(现代数字信号处理和DSP设计),但一直不求 ...
- 转载论文关于fir滤波器的fpga实现
摘 要 本文讨论的FIR滤波器因其具有严格的线性相位特性而得到广泛的应用.在工程实践中,往往要求信号处理具有实时性和灵活性,本论文研究FIR的FPGA解决方案正体现了电子系统的微型化和单片化. 本论文 ...
- FIR滤波器相关解释
LTI(Linear Time-Invariant) 线性时不变: 线性时不变系统是根据系统输入和输出是否具有线性关系来定义的.满足叠加原理的系统具有线性特性.线性满足y=kx函数. 根据系统的输入和 ...
- 《数字信号处理》课程实验2 – FIR数字滤波器设计
一.FIR数字滤波器设计原理 本实验采用窗函数法设计FIR数字低通滤波器.我们希望设计的滤波器系统函数如下: \(H_{d}\left( e^{jw} \right) = \left\{ \begi ...
- 数字信号处理实验(六)——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 ...
- 使用MATLAB设计FIR滤波器
1. 采用fir1函数设计,fir1函数可以设计低通.带通.高通.带阻等多种类型的具有严格线性相位特性的FIR滤波器.语法形式: b = fir1(n, wn) b = fir1(n, wn ...
- IIR滤波器和FIR滤波器的区别与联系zz
-------------------------------------------------------------------------------------------------- ...
随机推荐
- 引用类型和原始类型的对比(java)
Java 提供两种不同的类型:引用类型和原始类型(或内置类型).另外,Java 还为每个原始类型提供了封装类(Wrapper). 原始类型 封装类=================boolean Bo ...
- CactiEZ 中文版V10.1安装使用以及139邮箱短信报警设置
说明:CactiEZ中文版V10.1是基于CentOS 6.0系统,整合Cacti等相关软件,重新编译而成的一个操作系统! 说明:CactiEZ中文版V10.1是基于CentOS 6.0系统,整合 ...
- pod update或者pod install很慢
最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动 原因在于当执行以上两个命令的时候会升级Co ...
- C#中数据源绑定DataSource以及相关控件(DataGridView)的使用总结
我们在编程过程中,会涉及到表格数据的显示,存储等,就可能涉及到DataGridView,DataSource, DataTable等概念. 下面我就我自己模糊的一些知识点串讲以下: 1)首先我要讲的是 ...
- jquery网站左侧弹出导航菜单
下载
- css与div小结
前些时间学习css与div的课程 什么是css呢 Css 级联样式表或层叠样式表(Cascading Style Sheet) 是能够真正做到 网页表现与内容分离的一种样式设计语言.相对于传统HTML ...
- golang byte转string 字节数组转字符串的问题
golang语言本身就是c的工具集,开发c的程序用到的大部分结构体,内存管理,携程等,golang基本都有,他只是在这个基础上又加了一些概念这里说一个很小的问题,就是字节数组转string的问题,网上 ...
- JS操作css的float属性的特殊写法
使用js操作css属性的写法是有一定的规律的: 1.对于没有中划线的css属性一般直接使用style.属性名即可. 如:obj.style.margin,obj.style.width,obj.sty ...
- Windows下安装Emacs+Sbcl+Slime
前言 其实网上已经有很多类似的文章了,我也是按照上面的来做.在做的过程中会遇到几个很坑的地方,我自己也是折腾了好久才弄好.所以现在写出来希望能对大家有所帮助. 正文 下载和安装Emacs http:/ ...
- C#的Reflection总结
什么是反射 在.NET中的反射也可以实现从对象的外部来了解对象(或程序集)内部结构的功能,哪怕你不知道这个对象(或程序集)是个什么东西,另外.NET中的反射还可以运态创建出对象并执行它其中的方法. 反 ...