基于Matlab的IIR数字滤波器设计(论文)之欧阳法创编

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要
在现代通信系统中,由于信号中经常混有各种复杂成分,所以很多信号分析都是基于滤波器而进行的,而数字滤波器是通过数值运算实现滤波,具有处理精度高、稳定、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊滤波功能。

数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。

实现IIR滤波器的阶次较低,所用的存储单元较少,效率高,精度高,而且能够保留一些模拟滤波器的优良特性,因此应用很广。

Matlab软件以矩阵运算为基础,把计算、可视化及程序设计有机融合到交互式工作环境中,并且为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。

尤其是Matlab中的信号处理工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。

本文首先介绍了数字滤波器的概念,分类以及设计要求。

接着利
用MATLAB函数语言编程,用信号处理图形界面FDATool来设计滤波器以及Sptool界面设计的方法,并用FDATool模拟IIR数字滤波器处理信号。

重点设计Chebyshev I型和Chebyshev II型数字低通滤波器,并介绍最优化设计。

【关键字】IIR滤波器FDAToolSptoolSimulink
ABSTRACT
In modern communication systems,Because often mixed with various signal complex components,So many signal analysis is based on filters, and the digital filter is realized through numerical computation, digital filters filter with high precision, stability and flexibility, don't exist, can realize the impedance matching simulating the special filter cannot achieve filter function. Digital filter according to its impulse response function and characteristics of the time can be divided into two kinds, namely the infinite impulse response (IIR) digital filter and finite impulse response (FIR digital filters). The order of realizing IIR filter is used, low and high efficiency less storage unit, high precision, and can keep some simulation characteristics of filter, so it
is widely used. Matlab software based on matrix computation, the calculation, visualization and program design of organic integration to interactiveenvironment for digital filter, and the research and application of provides an intuitive, efficient and convenient tool. Especially in the Matlab signal processing to all areas of research toolbox personnel can easily for scientific research and engineering application. This paper introduces the concept of digital filter, classification and design requirements. Then using MATLAB language programming, with functions of signal processing FDATool graphical interface design of interface design and Sptool filter, and FDATool analog signal processing IIR digital filter. Key design Chebyshev type I and II digital Chebyshev lowpass filter, and introduces optimization design.
【Keywords】 IIR Filter FDATool Sptool Simulink
目录
前言1
第一章数字滤波器2
第一节数字滤波器的概念2
第二节数字滤波器的分类2
第三节数字滤波器的设计要求4
第二章 IIR数字滤波器设计方法5
第一节 IIR数字滤波器的设计步骤5
第二节用脉冲相应不变法设计IIR数字滤波器6
一、设计原理6
二、脉冲响应不变法优缺点8
第三节双线性变换法设计IIR数字滤波器9
一、设计原理9
二、双线性变换法优缺点11
第三章 IIR滤波器的MATLAB设计13
第一节 IIR数字滤波器的典型设计法14
第二节 IIR数字滤波器的直接设计法18
第三节 FDATool介绍和界面设计23
第四节 FDATOOL设计IIR数字滤波器24
第五节 SIMULINK 仿真IIR滤波器26
总结29
致谢30
参考文献31
结束语32
前言
随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。

目前数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。

在数字信号处理中起着重要的作用并已获得广泛应用的是数字滤波器(DF,Digital Filter),根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应IIR (Infinite Impulse Response)滤波器和有限冲激响应FIR(Finite Impulse Response)滤波器。

与FIR滤波器相比,IIR的实现采用的是递归结构,极点须在单位圆内,在相同设计指标下,实现IIR 滤波器的阶次较低,即所用的存储单元少,从而经济效率高。

MATLAB是英文MATrix LABoratory(矩阵实验室)的缩写。

它是美国的MathWorks公司推出的一套用于科学计算和图形处理可视化、高性能语言与软件环境。

MATLAB的信号处理工具箱是专门应用于信号处理领域的专用工具箱,它的两个基本组成就是滤波器的设计与实现部分以及谱分析部分。

工具箱提供了丰富而简便的设计,使原来繁琐的程序设计简化成函数的调用。

只要以正确的指标参数调用相应的滤波器设计程序或工具箱函数,便可以得到正确的设计结果,使用非常方便。

第一章数字滤波器
第一节数字滤波器的概念
滤波器是指用来对输入信号进行滤波的硬件和软件。

数字滤波器是对数字信号实现滤波的线性时不变系统。

数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号
按预定的形式变化。

数字滤波实质上是一种运算过程,实现对信号的运算处理。

数字滤波器和模拟滤波器相比,因为信号的形式和实现滤波的方法不同,数字滤波器具有比模拟滤波器精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配等优点。

输入数字信号(数字序列)通过特定的运算转变为输出的数字序列,因此,数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计算机。

描述离散系统输出与输入关系的卷积和差分方程只是给数字信号滤波器提供运算规则,使其按照这个规则完成对输入数据的处理。

时域离散系统的频域特性:
)()()(ωωωj j j e H e X e Y =(式1-1)
其中)(ωj e Y 、
)(ωj e X 分别是数字滤波器的输出序列和输入序列的频域特性(或称为频谱特性),
)(ωj e H 是数字滤波器的单位取样响应的频谱,又称为数字滤波器的频域响应。

输入序列的频谱)(ωj e X 经过滤波后)()(ωωj j e H e X ,因此,只要按照输入信号频谱
的特点和处理信号的目的,适当选择
)(ωj e H ,使得滤波后的)()(ωωj j e H e X 满足设计的要求,这就是数字滤波器的滤波原理。

第二节数字滤波器的分类
按照不同的分类方法,数字滤波器有许多种类,但总起来可以分成两大类:经典滤波器和现代滤波器。

经典滤波器的特点是其输入信号中有用的频率成分和希望滤除的频率成分占有不同的频带,通过一个合适的选频滤波器滤除干扰,得到纯净信号,达到滤波的目的。

但是,如果信号和干扰的频谱相互重叠,则经典滤波器不能有效地滤除干扰,最大限度地恢复信号,这时就需要现代滤波器,例如维纳滤波器、卡尔曼滤波器、自适应滤波器等最佳滤波器。

现代滤波器是根据随机信号的一些统计特性,在某
种最佳准则下,最大限度地抑制干扰,同时最大限度地回复信号,从而达到最佳滤波的目的。

经典数字滤波器从滤波特性上分类,可以分为:低通滤波器、高通滤波器、带通滤波器、带阻滤波器。

滤波器。

应,需要用递归模型来实现,
+i )k N
k i M r r r Z a Z
b z H -==-∑∑+=10
1)( (式1-3)
设计IIR 滤波器的任务就是寻求一个物理上可实现的系统函数H(z),使其频率响应H(z)满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止频率、通带衰减系数和阻带衰减系数。

第三节数字滤波器的设计要求
滤波器的指标常常在频域给出。

数字滤波器的频响特性函数)(jw e H 一般为复函数,所以通常表示为:
)()(|)()(w j jw e z jw e e H z H e H jw Φ===(式1-4)
其中,|
)(jw e H |称为幅频特性函数,Φ(w)称为相频特性函数。

幅频特性表示信号通过该滤波器后各频率成分的衰减情况,而相频特性反映各频率通过滤波器后在时间上的延时情况。

一般
IIR 数字滤波器,通常只用幅频响应函数|
)(jw e H |来描述设计指标,相频特性一般不作要求。

IIR 滤波器指标参数如下图所示。

图中,ωp 和ωs 分别为通带边界频率和阻带边界频率;δ1和δ2分别为通带波纹和阻带波纹;允许的衰减一般用dB 数表示,通带内所允许的最大衰减(dB )和阻带内允许的最小衰减(dB )分别为αp 和αs 表示:
111111lg 2011lg 20δδδδ-+=+--=p a (式1-5)
2lg 20δ-=s a (式1-6)
一般要求:

p ωω≤≤0时,p jw a e H ≤-)(lg 20; 当πωω≤≤时,)(lg 20jw e H a s -≤。

图1-2低通滤波器的技术要求
第二章IIR 数字滤波器设计方法 IIR 数字滤波器是一种离散时间系统,其系统函数为
)()(1)(10
z x z r z a z b Z H N
k k k M k k k
=-=∑∑=-=- (式2-1)
假设M ≤N ,当M >N 时,系统函数可以看作一个IIR 的子系统和一个(M-N)的FIR 子系统的级联。

IIR 数字滤波器的设计实际上是求解滤波器的系数k a 和k b ,它是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。

如果在S 平面上去逼近,就得到模拟滤波器;如果在z 平面上去逼近,就得到数字滤波器。

第一节IIR 数字滤波器的设计步骤
IIR 数字滤波器的设计一般有两种方法:一个是借助模拟滤波器的设计方法进行。

其设计步骤是,先设计模拟滤波器,再按照某种方法转换成数字滤波器。

这种方法比较容易一些,因为模拟滤波器的设计方法已经非常成熟,不仅有完整的设计公式,还有完善的图表供查阅;另外一种直接在频率或者时域内进行,由于需要解联立方程,设计时需要计算机做辅助设计。

其设计步骤是:先设计过渡模拟滤波器得到系统函数)(s H a ,然后将)(s H a 按某种方法转换成数字滤波器的系统函数)(z H 。

这是因为模拟滤波器的设计方法已经很成熟,不仅有完整设计公式,还有完善的图表和曲线供查阅;另外,还有一些典型的优良滤波器类型可供我们使用。

为了保证转换后的)(z H 稳定且满足技术指标要求,对转换关系提出两点要求:
(1)因果稳定的模拟滤波器转换成数字滤波器,仍是因果稳定的。

(2)数字滤波器的频率相应模仿模拟滤波器的频响特性,s 平面的虚轴映射为z 平面的单位圆,相应的频率之间呈线性关系。

利用模拟滤波器成熟的理论设计IIR 数字滤波器的过程是:
(1)确定数字低通滤波器的技术指标:通带边界频率
p ω、通带最大衰减p α、阻带截止频率s ω、阻带最小衰减s α。

(2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。

(3)按照模拟低通滤波器的技术指标设计过渡模拟低通滤波器。

(4)用所选的转换方法,将模拟滤波器
)(s H a 转换成数字低通
滤波器系统函数)(z H 。

IIR 数字滤波器的设计流程图如下: 图2-1IIR 数字滤波器的设计步骤流程图
成熟的模拟滤波器设计方法主要有脉冲响应不变法和双线性变换法。

第二节用脉冲相应不变法设计IIR 数字滤波

一、设计原理
利用模拟滤波器来设计数字滤波器,也就是使数字滤波器能模仿模拟滤波器的特性,这种模仿可以从不同的角度出发。

脉冲响应不变法是从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响
应序列h (n )模仿模拟滤波器的冲激响应h a (t ),即将h a (t )进行等间隔采样,使h (n )正好等于h a (t )的采样值,满足h (n )=h a (nT )式中,T 是采样周期。

如果令H a (s )是h a(t )的拉普拉斯变换,H (z )为h (n )的Z 变
换,利用采样序列的Z 变换与模拟信号的拉普拉斯变换的关系得 ∑∑∞-∞=∞-∞=-⎪⎭⎫ ⎝⎛-=Ω-=k a k s a g z k T j s X T jk s X T z X xT π21)(1|)((式2-2)
则可看出,脉冲响应不变法将模拟滤波器的S 平面变换成数字滤波器的Z 平面,这个从s 到z 的变换z =e sT 是从S 平面变换到Z
平面的标准变换关系式。

图2-2脉冲响应不变法的映射关系 由(2-2)式,数字滤波器的频率响应和模拟滤波器的频率响应间的关系为
∑∞
-∞=⎪⎭⎫ ⎝⎛-=k a j T k j H T e H πωω21)((式2-3) 这就是说,数字滤波器的频率响应是模拟滤波器频率响应的周期延拓。

正如采样定理所讨论的,只有当模拟滤波器的频率响应是限带的,且带限于折叠频率以内时,即 j Ω
3π / T π / T
-3π / T
-π / T o o σ-11jIm[z ]
Re[z ]Z 平面
0)(=Ωj H a 2s T Ω=≥Ωπ(式2-4)
才能使数字滤波器的频率响应在折叠频率以内重现模拟滤波器的频率响应,而不产生混叠失真,即
⎪⎭⎫ ⎝⎛=T j H T e H a e j ωω1)(πω<(式2-5)
但是,任何一个实际的模拟滤波器频率响应都不是严格限带的,变换后就会产生周期延拓分量的频谱交叠,即产生频率响应的混叠失真。

这时数字滤波器的频响就不同于原模拟滤波器的频响,而带有一定的失真。

当模拟滤波器的频率响应在折叠频率以上处衰减越大、越快时,变换后频率响应混叠失真就越小。

这时,采用脉冲响应不变法设计的数字滤波器才能得到良好的效果。

图2-3
为f s ,若使f s s 混叠效应。

从以上讨论可以看出,脉冲响应不变法使得数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位冲激响应,也就是时域逼近良好,而且模拟频率Ω和数字频率ω之间呈线性关系ω=ΩT 。

因而,一个线性相位的模拟滤波器(例如贝塞尔滤波器)通过脉冲响应不变法得到的仍然是一个线性相位的数字滤波器。

脉冲响应不变法的最大缺点是有频率响应的混叠效应。

所以,脉冲响应不变法只适用于限带的模拟滤波器(例如,衰减特性很好的低通或带通滤波器),而且高频衰减越快,混叠效应越小。

至于高通和带阻滤波器,由于它们在高频部分不衰减,因此将完全混淆在低频响应中。

如果要对高通和带阻滤波器采用脉冲响应不变法,就必须先对高通和带阻滤波器加一保护滤波器,滤掉高于折叠频率以上的频率,然后再使用脉冲响应不变法转换为数字滤波器。

当然这样会进一步增加设计复杂性和滤波器的阶数。

第三节双线性变换法设计IIR 数字滤波器
一、设计原理
脉冲响应不变法的主要缺点是产生频率响应的混叠失真。

这是因为从S 平面到Z平面是多值的映射关系所造成的。

为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T ~π/T 之间,再用z =e sT 转换到Z 平面上。

也就是说,第一步先将整个S 平面压缩映射到S 1平面的-π/T ~π/T
一条横带里;第二步再通过标准变换关系z =e s 1T 将此横带变换到整个Z 平面上去。

这样就使S 平面与Z 平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图2-3所示。

/T 式中,T 仍是采样间隔。

当Ω1由-π/T 经过0变化到π/T 时,Ω由-∞经过0变化到+∞,也即映射了整个j Ω轴。

将式(2-6)写成
Z 平面S 1平面S 平面
2
/2/2
/2/111.2T j T j T j T j e e e e T j Ω-ΩΩΩ+-=Ω(式2-7) 将此关系解析延拓到整个S 平面和S1平面,令j Ω=s ,j Ω1=s 1,
则得 T s T s T s T s T s T s i i i i i e e T T s T e e e e T s ----+-=⎪⎭⎫ ⎝⎛=+-=11.22tanh 2.2112/2/2/2/ (式2-
8)
再将S1平面通过以下标准变换关系映射到Z 平面
T s e z 1=(式2-9)
从而得到S 平面和Z 平面的单值映射关系为:
11
112--+-=z z T s (式2-10)
s T s T s T s T z -+=-+
=222121(式2-11) 式(2-10)与式(2-11)是S 平面与Z 平面之间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换
式(2-6)与式(2-10)的双线性变换符合映射变换应满足的两点要求。

首先,把z =e j ω,可得
Ω=⎪⎭⎫ ⎝⎛=+-=--j T j e e T s j j 2tan 2112ωωω(式2-12)
即S 平面的虚轴映射到Z 平面的单位圆。

其次,将s =σ+j Ω代入式(2-12),得
Ω--Ω
++=j T j T
z σσ22 (式2-13)
因此
222222Ω+⎪⎭⎫ ⎝⎛-Ω+⎪⎭
⎫ ⎝⎛+=
σσT T z (式2-14) 由此看出,当σ<0时,|z |<1;当σ>0时,|z |>1。

也就是说,S 平面的左半平面映射到Z 平面的单位圆内,S 平面的右半平面映射到Z 平面的单位圆外,S 平面的虚轴映射到Z 平面的单位圆上。

因此,稳定的模拟滤波器经双线性变换后所得的数字滤波器也一定是稳定的。

二、双线性变换法优缺点
双线性变换法与脉冲响应不变法相比,其主要的优点是避免了频率响应的混叠现象。

这是因为S 平面与Z 平面是单值的一一对应关系。

S 平面整个j Ω轴单值地对应于Z 平面单位圆一周,即频率轴是单值变换关系。

这个关系如式(2-10)所示,重写如下:
⎪⎭⎫ ⎝⎛=Ω2tan 2ωT (式2-15)
上式表明,S 平面上Ω与Z 平面的ω成非线性的正切关系,如图2-4所示。

由图2-4看出,在零频率附近,模拟角频率Ω与数字频率ω之间的变换关系接近于线性关系;但当Ω进一步增加时,ω增长得越来越慢,最后当Ω→∞时,ω终止在折叠频率ω=π处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。


但是双线性变换的这个特点是靠频率的严重非线性关系而得到的,如式(2-12)及图2-4所示。

由于这种频率之间的非线性变换关系,就产生了新的问题。

首先,一个线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤波器,不再保持原有的线性相位了;其次,这种非线性关系要求模拟滤波器的幅频响应必须是分段常数型的,即某一频率段的幅频响应近似等于某一常数(这正是一般典型的低通、高通、带通、带阻型滤波器的响应特性),不然变换所产生的数字滤波器幅频响应相对于原模拟滤波器的幅频响应会有畸变,如图2-5所示。

要的数字频率上。

第三章 IIR滤波器的MATLAB设

MATLAB是矩阵实验室(Matrix Laboratory)之意。

除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多.在新的版本中也加入了对C,FORTRAN,c++ ,JAVA的支持.可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一
些经典的程序,用户可以直接进行下载就可以用,非常的方便。

模拟滤波器的理论和设计方法已发展得相当成熟,且有一些典型的模拟滤波器供我们选择,如巴特沃斯(Butterworth )滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer )滤波器、贝塞尔(Bessel )滤波器等,这些典型的滤波器各有特点。

用MATLAB进行数字滤波器的设计的步骤如下:
(1)将设计指标归一化处理。

如果采用双线性变换法,还需进行预畸变。

(2)根据归一化频率,确定最小阶数N和频率参数Wn。

可供选用的阶数择函数有:buttord,cheblord,cheb2ord,
ellipord等。

(3)运用最小阶数N设计模拟低通滤波器原型。

模拟低通滤波器的创建函数有:buttap,cheblap,cheb2ap,ellipap和
besselap,这些函数输出的是零极点式形式,还要用zp2tf
函数转换成分子分母多项式形式。

如果想根据最小阶数直
接设计模拟低通滤波器原型,可用
butter,chebyl,cheby2,ellip,bessel等函数,只是注意要
将函数中的Wn设为1。

(4)根据第2步的频率参数Wn,模拟低通滤波原型转换模拟低通、高通、带通、带阻滤波器,可用函数分别是:
lp21p,lp2hp,lp2bp,lp2bs。

(5)运用脉冲响应不变法或双线性变法把模滤波器转数字滤波器,调用的函数是impinvar和bilinear。

脉冲响应不变法
适用于采样频率大于4倍截止频率的锐截止低通带通滤波
器,而双线性变换法适合于相位特性要求不高的各型滤波
器。

(6)根据输出的分子分母系数,调用函数buttord计算N和wc,有系数向量可以写出数字滤波器系统函数Z,再用
freqz 函数验证设计结果。

第一节IIR 数字滤波器的典型设计法
设计巴特沃斯数字低通滤波器和椭圆数字低通滤波器,要求通带边界频fp=2.1kHZ ,通带最大衰减Rp=0.5dB ;阻带边界频率fs=8kHZ ,阻带最小衰减Rs=30dB,采样频率为Fs=20kHZ 。

低通巴特沃斯滤波器设计步骤如下:
(1) 确定阶数N 。

233.1121101101.01.0=--=p s R R sp k
8.322==
p s sp f f ππλ ,35.38.3lg 233.112lg ==N 取N=4
(2) 求极点
π530j e p =,π541j e p =,πj e p =2,π563j e p =,π574j e p = 归一化低通原型系统函数为
∏=-=40)(1
)(k k a p
p p G
由N=4直接查表得到:
极点:9239.03827.0j ±-3827.09239.0j ±-
归一化低通滤波器系统函数为
011223341
)(b p b p b p b p p G a ++++=
式中,=0b 0.0000,=1b 0.0999,=2b 0.1914,=3b 0.0252
(3) 将)(p G a 去归一化最终得到
401312223345
)(c c c a b s b s b s b s s H Ω+Ω+Ω+Ω+Ω=
通过计算可以总结出过程太麻烦,而且容易出错,结果不直观。

下面用M 程序设计来实现
用脉冲响应不变法设计的巴特沃斯数字低通滤波器的M 程序如下:
fp=2100;
fs=8000;
Fs=20000;
Rp=0.5;
Rs=30;
T=1/Fs; %设计指标
W1p=fp/Fs*2;W1s=fs/Fs*2;%求归一化频率
[N,Wn]=buttord(W1p,W1s,Rp,Rs,'s');
%确定butterworth 的最小介数N 和频率参数Wn
[z,p,k]=buttap(N); %设计模拟低通原型的零极点增益参数
[bp,ap]=zp2tf(z,p,k); %将零极点增益转换成分子分母参数
[bs,as]=lp2lp(bp,ap,Wn*pi*Fs);%将低通原型转换为模拟低通
[bz,az]=impinvar(bs,as,Fs); %用脉冲响应不变法进行模数变换
sys=tf(bz,az,T); %给出传输函数H(Z)
[H,W]=freqz(bz,az,512,Fs); %生成频率响应参数 subplot(2,1,1);
plot(W,20*log10(abs(H))); %绘制幅频响应
grid on; %加坐标网格
xlabel('频率/Hz');
ylabel('振幅/dB');
subplot(2,1,2);
plot(W,abs(H)); grid on;
xlabel('频率/Hz');
ylabel('振幅/H');
运行后的波形如下:
图3-1 典型滤波器在Matlab上运行波形运行结果:
N =4
bz = 0.0000 0.0999 0.1914 0.0252
az=1.0000 -1.4336 1.0984 -0.4115 0.0627
可以得出:只需编程,结果非常直观。

双线性变换法设计步骤如下:
(1)首先写出该滤波器的系统函数RC a a s a s H 1,)(=+=
(2)利用双线性变换法转换,数字滤波器的系统函数)(1z H 为
121111211)1(|)()(11--+-=++==--z a z a s H z H z
z T s a
22,221+-=+=aT aT a aT aT a 用双线性变换法设计椭圆数字低通滤波器的M 程序如下: fs=20000;
wp=2*pi*2100/fs;
ws=2*pi*8000/fs;
Rp=0.5;
Rs=30;
Ts=1/fs;
Wp=2/Ts*tan(wp/2);Ws=2/Ts*tan(ws/2); %按频率转换公式进行转换
[N,Wn]=ellipord(Wp,Ws,Rp,Rs,'s'); %计算模拟滤波器的最小阶数
[z,p,k]=ellipap(N,Rp,Rs);%设计模拟原型滤波器
[Bap,Aap]=zp2tf(z,p,k); %零点极点增益形式转换为传递函数形式
[b,a]=lp2lp(Bap,Aap,Wn); %低通转换为低通滤波器的频率转化
[bz,az]=bilinear(b,a,fs); %运用双线性变换法得到数字滤波器传递函数
[H,f]=freqz(bz,az,512,fs);
subplot(2,1,1);
plot(f,20*log10(abs(H)));
title('N=2 频率响应');
grid on;
xlabel('频率/Hz');
ylabel('振幅/dB');
subplot(2,1,2);
plot(f,abs(H)); grid on;
xlabel('频率/Hz');
ylabel('振幅/H');
图3-2 双线性变换法设计的椭圆数字低通滤波器运行波形运行结果:
N=2
bz= 0.1213 0.1662 0.1213
az= 1.0000 -0.9889 0.4218
第二节IIR数字滤波器的直接设计法
除了典型设计以外,MATLAB信号处理工具箱提供了几个直接设计IIR数字滤波器的函数,直接调用就可以设计滤波器,这为设计通用滤波器提供了方便。

主要有以下几种方法:
1.零极点累试法
这种方法也称为零极点累试法。

在确定零极点位置时要注意:
(1)极点必须位于z平面单位圆内,保证数字滤波器因果稳定;
(2)复数零极点必须共轭成对,保证系统函数有理式的系数是实的。

2.在频域利用幅度平方误差最小法直接设计IIR数字滤波器
3.在时域直接设计IIR数字滤波器
设计Butterworth滤波器用函数butter(),可以设计低通、高通、带通和带阻的数字和模拟滤波器,其特性是通带内的幅度响应最大限度的平滑,但损失了截止频率处的下降斜度。

设计Chebyshev I型滤波器用函数chebyl()。

可以设计低通、高通、带通和带阻的数字和模拟Chebyshev I型滤波器,其通带内为等波纹,阻带内为单调。

Chebyshev I型滤波器的下降斜度比II型大,但其代价目是通带内波纹较大。

设计Chebyshev II型滤波器用函数cheby2()。

可以设计低通、高通、带通和带阻的数字和模拟Chebyshev II型滤波器,其通带内为单调,阻带内等波纹。

Chebyshev II型滤波器的下降斜度比I型小,但其阻带内波纹较大。

设计椭圆滤波器用函数ellip(),与chebyl, cheby2类似,可以设计低通、高通、带通和带阻的数字和模拟滤波器。

与Butterworth和chebyshev滤波器相比,ellip函数可以得到下降
斜度更大的滤波器,得通带和阻带均为等波纹。

一般情况下,椭圆滤波器能以最低的阶实现指定的性能指标。

在使用各类滤波器函数时应当注意以下重点:
(1)、阶数和固有频率的选择:[N,Wn]=buttord(Wp,Ws,Rp,Rs)可得到符合要求性质的滤波器的最小阶数N以及数字Butterworth 滤波器的固有频率Wn(即3dB )。

设计的要求是在通带内的衰减不超过Rp,在阻带内的衰减不小于Rs,通带和阻带有截止频率分别是Wp, Ws,它们是归一化的频率,范围是[0, 1],对应π弧度。

(2)、有关滤波器设计当中的频率归一化问题:信号处理工具箱中经常使用的频率是Nyquist频率,它被定义为采样频率的一半,在滤波器的阶数选择和设计中的截止频率均使用Nyquist频率进行归一化处理。

例如对于一个采样频率为1000 Hz的系统,400Hz的归一化即为400/500=0.8。

归一化频率的范围在[0, 1]之间。

如果要将归一化频率转换为角频率,则将归一化频率乘以π;如果要将归一化频率转换为Hz,则将归一化频率乘以采样频率的一半。

(3)、设计一个N阶的低通Butterworth滤波器使用函数[B,A]=butter(N, Wn),返回滤波器系数矩阵[B,A]。

其中固有频率Wn必须是归一化频率。

它的最大值是采样频率的一半。

Fs缺省时默认为2Hz。

如果Wn=[Wl,W2]是一个两元素的向量,则函数将设计出一个2N阶的带通滤波器,通带为[W1,W2]。

设计Chebyshev I型和Chebyshev II型数字低通滤波器,要求通带边界频率fp=2.1kHZ,通带最大衰减Rp=0.5dB;阻带边界频率fs=8kHZ,阻带最小衰减Rs=30dB,采样频率为Fs=20kHZ。

Chebyshev I型的M程序如下:
Fs=20000; %抽样频率20KHz
Flp=2100;
Fls=8000;。

相关文档
最新文档