APP下载

基于MATLAB的FIR和IIR数字滤波器的设计研究

2017-04-01徐璐

数字技术与应用 2016年10期
关键词:设计

摘要:数字滤波器作为信号处理一项关键技术是数字信号处理的重要基础,在对信号的过滤、检测、与参数估算等处理过程中,它是使用最为广泛的一种线性系统。而就目前来看,常见的数字滤波器有FIR和IIR数字滤波器,可以利用MATLAB软件轻松完成滤波器的设计。基于这种认识,本文对基于MATLAB的FIR和IIR数字滤波器的设计问题展开了研究,从而为关注这一话题的人们提供参考。

关键词:MATLAB FIR IIR 数字滤波器 设计

中图分类号:TN911-34 文献标识码:A 文章编号:1007-9416(2016)10-0165-01

MATLAB作为语言简练和使用方便的仿真设计软件,在数字信号处理中得到了广泛应用。而利用该软件进行FIR和IIR数字滤波器的设计,则能够利用其信号处理工具箱快速实现滤波器的分析和设计,并且能够对滤波器的滤波效果进行仿真分析,因此可以为相关工作的开展提供便利。

1 基于MATLAB的FIR数字滤波器设计

1.1 FIR数字滤波器概述

FIR数字滤波器又被称之为有限脉冲响应数字滤波器,是基础性元件,在数字信号处理方面得到了广泛应用。从特点上来看,输入该种滤波器的数字信号拥有任意幅频特性,但是输出的信号却能够保持严格线性。由于其具有有限长的脉冲采样相应特性,所以工作稳定,但滤波过程消耗的运算时间较长。从原理上来看,经过A/D转换器,模拟信号将被转化为数字信号,并且进入滤波器得到处理。而滤波器将输出长串数据序列,可以外接D/A转换器将其转化为模拟信号。

1.2 FIR数字滤波器设计

在设计FIR数字滤波器时,可以使用窗函数设计法。具体来讲,就是先进行理想滤波器频率响应的设定,然后由频率响应导出对应单位样值响应。考虑到频率响应是矩形频率特性,所以单位样值响应将为无限长序列。在设计时,FIR滤波器的单位样值响应应为有限长,所以还要利用有限长响应进行无限长的响应的逼近。为达成这一目的,还要使用窗函数进行单位样值响应的截断。

按照上述设计思路,需要先进行频率响应函数Hd(ejw)的设定,然后通过傅里叶反变换将其转化为hd(n)=IDTFT[Hd(ejw)]。在此基础上,根据阻带最小衰减和过滤带宽要求,可以进行窗函数w(n)形状的选定,并且进行滤波器长度N的选定[1]。通常的情况下,需要经过多次试探后,才能确定N。得到的FIR数字滤波器的单位样值响应h(n)=hd(n)*w(n),n=0,1,...,N-1。经过计算,则能够得到Hd(ejw)=DTFT[h(n)]。最后,需要检查得到的结果是否满足设计要求。

在实际使用MATLAB进行设计时,需要在Filter Type中进行带通滤波器的选择,然后在设计方法选项中进行FIR Window的选择,并且进行Hamming窗的选取。使用该方法,只要给出下限截止频率和上限截止频率,然后进行Design Filter的点击,就能够得到FIR数字滤波器。

2 基于MATLAB的IIR数字滤波器设计

2.1 IIR数字滤波器概述

IIR数字滤波器为离散时间系统,拥有较好的幅频特性,但是输出的信号的相位为非严格线性。设计该种数字滤波器,就是对滤波器的系数进行求解,类似于数学的逼近问题。如果在S平面上进行逼近,就能得到模拟滤波器。在z平面上进行逼近,得到的就是数字滤波器。

2.2 IIR数字滤波器设计

就目前来看,IIR数字滤波器设计可以采取两种方法。一方面,可以先进行模拟滤波器的设计,然后将其转换为数字滤波器。采取该种设计方法,不仅可以使用完整的设计公式,还能够进行图表查阅。另一方面,也可以直接在时域或频率中进行滤波器设计[2]。但是,由于需要进行联立方程的求解,所以还要利用计算机完成辅助设计。具体来讲,就是先进行过滤模拟滤波器的设计,从而获得系统函数。将函数转化为数字滤波器的系统函数后,则能够完成数字滤波器的设计。

使用MATLAB进行IIR数字滤波器设计,需要先寻求一个模拟低通滤波器,滤波器截止频率为1。将这个滤波器的原型转换为需要的带宽结构,然后就可以将其变换为数字濾波器。最后,还要对滤波器进行离散化处理。

在实际设计时,还要使用MATLAB中的FDATOOL工具箱。在FDATOOL界面上,可以利用Design Filter进行滤波器的生成,并利用界面下半部完成滤波器设计参数的设置,然后利用界面的上半部进行滤波器特性的显示。完成滤波器的设计后,可以使用SIMUL

INK软件进行滤波器信号传输的仿真[3]。具体来讲,就是先建立一个Model,然后完成环节库和框图的建立,并且进行Source的查找和双击。而将信号源拉到Model后,进行离散正弦信号源的查找,并且将设计的滤波器模块拉倒Model中,就能得到仿真框图和滤波器的滤波效果。

3 结语

总之,在数字信号处理领域,FIR和IIR数字滤波器具有一定的优越性。使用MATLAB进行滤波器的设计,则能够完成各种常规数字滤波器的快速设计,并且能够通过调整设计参数实现最优设计。因此,相信本文对利用MTLAB进行FIR和IIR数字滤波器设计的问题展开的探讨,可以为相关工作的开展提供指导。

参考文献

[1]耶晓东.基于Matlab的IIR数字滤波器设计及DSP实现[J].电子设计工程,2011,09:175-177.

[2]赵颖,刘祖深,李胜寅.基于MATLAB的FIR数字滤波器的方法设计[J].国外电子测量技术,2012,10:35-37.

[3]施琴红,赵明镜.基于MATLAB/FDATOOL工具箱的IIR数字滤波器的设计及仿真[J].科技广场,2010,07:56-58.

收稿日期:2016-08-19

作者简介:徐璐(1983—),女,江西南昌人,硕士,讲师,研究方向:单片机应用技术。

猜你喜欢

设计
二十四节气在平面广告设计中的应用
何为设计的守护之道?
基于PWM的伺服控制系统设计
基于89C52的32只三色LED摇摇棒设计
基于ICL8038的波形发生器仿真设计
瞒天过海——仿生设计萌到家
设计秀
有种设计叫而专
基于iOS的室内定位系统设计与实现
设计之味