nbhkdz.com冰点文库

基于MATLAB的IIR数字滤波器的设计及应用

时间:2014-06-06


基于 MATLAB 的 IIR 数字滤波器的设计及应用

完成日期: 指导教师签字: 答辩小组成员签字:





由于信号处理的基础就是滤波,信号处理的基本运算也就是滤波运算,滤波 器的设计也就提升为数字信号处理的最基本问题之一。 这里主要是对 IIR 数字滤 波器的设计进行研究,应用 Ellipse 滤波器、Butterworth 滤波器、Chebyshev 滤波 器分别对低通、带通及带阻滤波器形式进行仿真。在该系统中,只需要将数字滤 波器的技术性能指标根据指定的或是需要的设计方法 (如双线性变换法或脉冲响 应不变法等) ,转换为模拟滤波器的技术性能指标,根据指定的模拟滤波器设计 出相应的数字滤波器。 本文对 MATLAB 软件进行了介绍,并对数字滤波器在其环境下如何实现进 行了介绍;并描述了数字滤波器的基本概念,其包括系统的描述、系统的传递函 数、基本结构运算单元;本文重点描述了 IIR 数字滤波器的设计过程及几种设计 方法,并对 IIR 滤波器的仿真做了一些介绍。 关键词:IIR 数字滤波器; 设计方法; 仿真

I

Abstract
Due to the signal processing is the basis of filtering, signal processing the basic operation of filtering arithmetic, the design of the filter is promoted as one of the most fundamental problem in digital signal processing. Here is mainly to the design of IIR digital filter is studied, using the Ellipse filter, Butterworth filter, Chebyshev filter respectively to form low pass, band pass and band-stop filter. In the system, just need to technical performance index of the digital filter based on the specified or required design methods (such as bilinear transformation method or impulse response is not political reform, etc.), the technical performance indicators are converted to analog filter, based on the specified analog filter design corresponding digital filter. Are introduced in this paper, the MATLAB software, and digital filter in the environment how to implement are introduced; And describes the basic concept of digital filter, which includes a description of the system, system's transfer function, the structure of the basic computing unit; This paper describes the design of IIR digital filter process, and several design methods, and the simulation of IIR filter did some introduction. Key words: IIR digital filter; The design method; The simulation

II





1 绪论 ................................................... 1
1.1 数字滤波器技术的发展状况 ........................................ 1 1.2 MATLAB 软件简介 ................................................. 1

2 IIR 数字滤波器的简介................................... 3
2.1 IIR 数字滤波器的基本概念 ........................................ 3 2.2 IIR 数字滤波器的基本结构........................................ 3

3 IIR 数字滤波器的设计方法 ............................... 6
3.1 间接设计法...................................................... 6 3.2 直接设计法...................................................... 6 3.2.1 计算机辅助设计法 .............................................. 6 3.2.2 IIR 数字滤波器的应用举例 ...................................... 6

4 IIR 数字滤波器的设计及 MATLAB 实现 ....................... 8
4.1 IIR 数字滤波器的设计 ............................................ 8 4.1.1 巴特沃兹滤波器................................................ 8 4.1.2 切比雪夫滤波器................................................ 9 4.1.3 椭圆滤波器................................................... 12 4.2 MATLAB 实现 .................................................... 13 4.2.1 双线性变换法及 MATLAB 实现 .................................... 14 4.2.2 脉冲响应不变法及 MATLAB 实现 .................................. 14 4.2.3 Simulink 设计仿真 ............................................ 16

总结 .................................................... 20 致谢 .................................................... 22 附录 .................................................... 23

III

IIR 数字滤波器的设计与应用

1 绪论
1.1 数字滤波器技术的发展状况
人们对有限冲激响应(FIR)和无限冲激响应( IIR)关系的认识转化是数字滤 波器的一个重要发展。在数字滤波器发展前期,技术还不是太成熟,一般认为 IIR 滤 波器比 FIR 滤波器的运算更快效率更高,因而都普遍的使用和发展前者,早期的数 字滤波器尽管在语音、声纳和医学的信号处理中曾经发挥过作用,但由于当时人们 的生产水平及技术有限导致计算机主机的价格好对较高,是数字滤波器的发展严重 阻碍,所以说虽然人们已经认识到了数字滤波器的实用性,但是由于价格高的问题, 数字滤波器在一定时期内发展不是那么的快速。随着科学技术的快速蓬勃发展,人 们对数字信号处理的应用也广泛起来,其开始与集成电路技术、电荷转移器件等新 技术、微处理器技术、高速数字算术单元等结合了起来,且结合技术也在一步步成 熟加深,使用计算机辅助设计方法来达到对相应模拟滤波器的逼近。通常人们都是 先设计模拟滤波器函数然后在对其进行变换来完成对数字滤波器的设计,但是这样 的设计对任意频率响应和冲击响应达不到严格的要求,如果采用计算机软件辅助进 行设计就能达到对频域和时域的逼近效果。对此各种各样的数字处理系统,也都能 用硬件一一对应来加以表现出来。所以,数字滤波器的设计及应用也更加广泛的扩 大使用范围。 电子计算机和大规模集成电路的生产和应用对信号处理的理论和技术的发展做 出重要贡献,它替换了原来的模拟信号处理中的线性滤波和模拟计算机以及线性网 络,充分说明了计算技术和数字技术相结合良好性。微处理器和微型计算机技术发 展一日千里,使电子系统更完善更简便。数字滤波,包括数字信号处理技术以快速的 速度进行深度和先进的方向开发,这种快速的发展还要进行很长时间,以后的发明 创新绝对比以前的发展更兴奋和震惊,这必会引起一些领域的飞速发展。 所谓数字滤波器,是指输入、输出均为数字信号,通过数值运算处理改变输入信 号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。按照数字滤 波器技术指标要求设计一个过渡模拟低通滤波器 Ha(s) ,再按照一定的转换关系将 Ha(s)转换成数字低通滤波器的系统函数 H(z) 。数字信号实际上是用数字序列表 示的信号,语音信号经采样和量化后,得到的数字信号是一个一维离散时间序列; 而图像信号经采样和量化后,得到的数字信号是一个二维离散空间序列。数字信号 处理,就是用数值计算的方法对数字序列进行各种处理,把信号变换成符合需要的 某种形式。

1.2 MATLAB 软件简介
因为大家对数字滤波器的概念定义的不是那么的具体,在一个就是对数字的计 算又比较麻烦,所以用计算机软件来进行辅助是必不可少的,更是对数字滤波器研 究的一个重要发展方向。其实有许多各种各样且类似的辅助软件,而 MATLAB 就是
1

IIR 数字滤波器的设计与应用

其中的一种且代表性比较高。MATLAB 语言及其工具将以个优秀软件包的易用性与 可靠性,通用性和专业性,以及一般目的的应用和高深的专业应用近乎完美的集成 在一起,并凭借其功能强大,技术先进和应用之深广,使其逐渐成为国际性的计算 标准,为世界各地超过 20 万名科学家和工程师所采用。 基于 MATLAB 的数字滤波器设计方法可以很快的设计出由软件组成的常规数字 滤波器,设计简捷,很大的减轻了计算的工作量,且他能随时更改设计参数来完成 不同的设计要求,以确保滤波器设计的优越性。利用 MATLAB 设计数字滤的方法产 行生的数字滤波器系数能被许多设计软件调用,通用性强。合理利用 MATLAB 提供 的强大工具支持和仿真工具,将为数字滤波的设计带来极大的便利。

2

IIR 数字滤波器的设计与应用

2

IIR 数字滤波器的简介
由于滤波器的广泛应用,所以有很多种,从它的功能上大体可分为高通、低通、

2.1 IIR 数字滤波器的基本概念
带阻和带通滤波器四类。如果滤波器的输人和输出都是离散时间信号,则该滤波器 的冲击响应也必然是离散的,这种滤波器称之为数字滤波器。数字滤波器是对时间 离散信号进行过滤的数字信号系统。数字滤波器输出、输入都是数字信号,所以它 也是具有一定传输选择特性的数字信号处理装置,其实它就是一个由精度较高且有 上限的算法来完成的时不变离散系统。 IIR 数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。所以 IIR 滤波器 的设计可以采取在模拟滤波器设计的基础上进一步变换的方法,设计方法主要有脉 冲响应不变法和双线性变换法。FIR 数字滤波器具有有限长的单位脉冲序列。无限冲 激响应 IIR(Infinite Impulse Response)滤波器和有限冲激响应 FIR(Finite Impulse Response) 滤波器是由单位冲激响应函数的时域性来划分的。 数字信号处理部件有很 多而 IIR 滤波器就是其中一种并被广泛应用,由于 DSP 信号处理的良好性,将其与 MATLAB 结合来完成对 IIR 滤波器的设计。

2.2 IIR 数字滤波器的基本结构
数字滤波器可以用系统函数表示为:

H ?z ? ?

? bk z k
?0

M

?k

1?

k ?1

? ak z

N

?
?k

Y ?z ? X ?z ?

(2-1)

这样的系统函数可以表示系数线性差分程:

y ?n ? ?

k ?0

? ak y ?n ? k ? ?

N

k ?0

? bk x ?n ? k ?

M

(2-2)

可见数字滤波器的功能就是把输入序列 x(n)通过一定的运算变换成输出序列 y(n)。不同的运算处理方法决定了滤波器实现结构的不同。IIR 滤波器的单位抽样响 应 h(n)是无限长的,其差分方程如(2-2)式所示,是递归式的,即结构上存在着输出 信号到输入信号的反馈, 其系统函数具有(2-1)式的形式, 因此在 z 平面的有限区间(0< ︱z︱<∞)有极点存在。 前面已经说明,对于一个给定的线形时不变系统的系统函数,有着各种不同的 等效差分方程或网络结构。因为乘法计算太浪费时间,并且一个延迟单元都必须对 应一个存储寄存器,所以通常都是实用乘法器简便和网络结构支路少,以达到运算 速度快和存储器实用少的效果。但是,当有限寄存器长度受到限制的时候,通常并
3

IIR 数字滤波器的设计与应用

非会采用乘法器和延迟单元这样的最简结构。 IIR 滤波器实现的基本结构有: (1)IIR 滤波器的直接型结构; 优点:
?

延迟线减少一半,变为 N 个,可节省寄存器或存储单元; 一般在应用过程中使用这两种结构实现高端系统的时候较少 ,都是把一些低 阶系统组合高阶来完成。

缺点:
?

(2)IIR 滤波器的级联型结构; 特点:
? ? ?

系统实现简单,只需一个二阶节系统通过改变输入系数即可完成; 极点位置可单独调整; 运算速度快(可并行进行)。 对零点的调整不可以直接进行,因为并非所有的二阶节零点都是整个系统函 数的零点,当对零点传输要求很精确时,最好的选择类型就是级联型。

缺点:
?

(3)IIR 滤波器的并联型结构。 优点:
? ? ?

通过一个二阶节系数变换就能实现整个系统,对其实现进行简单化; 极点、零点可单独控制和调整; 可流水线操作。 二阶电平不容易控制,电平大或者小时都不行,过大时容易流出,过小时会使 信噪比降低。

缺点:
?

a、直接型

b、并联型

4

IIR 数字滤波器的设计与应用

c、级联型 图 2-2 IIR 滤波器的基本结构

5

IIR 数字滤波器的设计与应用

3 IIR 数字滤波器的设计方法
3.1 间接设计法
先根据技术指标要求设计一个满足要求的模拟滤波器;然后采用某种映射方法 将其变换为满足要求的数字滤波器。
数 字 滤波器 技 术 指 标 模 拟 滤波器 技 术 指 标 相应的 模 拟 滤波器 设 计 数 字 滤 波 器

指 标 参 数 变 换

模 拟 滤波器 离散化

图3-1

数字滤波器的设计步骤

3.2 直接设计法
直接设计法: ——在时域或频域直接设计数字滤波器; 运算量非常大,一般都会通过计算机辅助进行设计,而且计算不出封闭形式的 频率响应函数表达式。 3.2.1 计算机辅助设计法 因为计算太麻烦,手工的计算基本上只能拿来进行简单的选频滤波器设计。计算 机辅助设计方法是一种新领域[1]。它的主要研究内容分别是元件建模、集电路理论、 优化技术、矩阵运算、高级计算机语言、网络图论、数值分析等多交叉学科,它能把 计算机的精确度高、计算速度快、容量大、逻辑判断准确和数据处理能力强与人的 思维创造能力充分结合起来 , 由于它的优良性能对数字滤波器的设计过程有很大的 帮助。 MATLAB 的信号处理工具箱在当前是一种比较好科技应用软件,它拥有全套的 模拟、数字滤波器的运算函数和设计命令,在设计时快捷、简便、精确。设计时可分 为两种方法一种是按上述传统设计步骤快速地进行较麻烦高阶选频滤波器的分析、 计算外,另一种就是应用 MATLAB 设计工具从模拟原型直接变换成满足原定频域指 标要求的数字滤波器。 3.2.2 IIR 数字滤波器的应用举例 假定信号的采样频率是600 Hz,输入信号的频率为100 Hz[2]。180 Hz 和250 Hz 的合成正弦波信号 f(t)=sin(200πt)+sin(360πt)+sin(500πt), 通过截止频率是120 Hz 的巴 特沃斯低通滤波器,通过滤波前后频谱的对比,可以发现信号通过滤波器后,两个 高频的信号180 Hz 和250 Hz 的正弦信号被滤掉,达到了滤波的效果。 图3-2和图3-3给出了巴特沃斯低通滤波器滤波前后的频谱图。
6

IIR 数字滤波器的设计与应用

图3-2 合成正弦波信号滤波前频谱

图3-3合成正弦波信号经过低通滤波后频谱

通过两图对比可得出滤波器前信号频率分别为 100Hz,180Hz,250Hz。通过滤 波器以后180Hz 和250Hz 被滤波器过滤掉了。

7

IIR 数字滤波器的设计与应用

4 IIR 数字滤波器的设计及 MATLAB 实现
4.1 IIR 数字滤波器的设计
设计步骤: (1)首先,通过所要求的数字滤波器性能参数对相应的模拟滤波器的参数进 计算。 (2)然后。再通过所得参数设计出相应的模拟滤波器的系统函数 H(S)[3]。 (3)最后,通过系统函数 H(S)。变换得到对该模拟滤波器相应的数字仿真系 统——数字滤波器[4]。 实际上模拟滤波器到数字滤波器的转换,就是从 s 平面到 z 平面的反射函数 将 Ha(s)转换成 H(z)。对这种映射函数的要求是: (1) 模拟滤波器到数字滤波器的转换,因果稳定性不变。 (2) 两者频率响应相似,s 平面的虚轴映射 z 平面的单位圆,相应的频率之间成线性 关系。 4.1.1 巴特沃兹滤波器 特点:具有通带内最大平稳的振幅特性,且随 f↗,幅频特性单调↘[5]。 其幅度平方函数:

A ? 2 ? H ? ?j? ? ?
2

? ?

1 ? j? 1?? ? j? ? c ? ? ? ?
2N

(4-1)

N 为滤波器阶数,如图 4-1-1

图 4-1 巴特沃斯滤波器振幅平方特性

通带: 使信号通过的频带 阻带:抑制噪声通过的频带 过渡带:通带到阻带间过渡的频率范围

8

IIR 数字滤波器的设计与应用

过渡带为零 理想滤波器

阻带 H ?j? ? ? 0

H ?j??的相位是线性的

通带内幅度 H ?j? ? ? cons .

图 4-1 中,N 增加,通带和阻带的近似性越好,过渡带越陡。 通带内,分母 ? ?c ? 1 , ?? ?c ?2N ? 1 , A ?2 →1。

? ?

过渡带和阻带, ? ?c ? 1 , ? ?c 2N ? 1 , Ω 增加, A ?2 快速减小。

? ? ?c , A ? 2 ?

? ?

2 1 A ?c 1 , ? ,幅度衰减,相当于 3db 衰减点。 2 A ?0? 2

? ?

? ?

振幅平方函数的极点

H ? ?? S ?H ? ?s ? ?

1 ? S 1?? ? j? ? c ? ? ? ?
2N

(4-2)

可见,Butter worth 滤波器的振幅平方函数有 2N 个极点,它们均匀对称地分布 在 S ? ?c 的圆周上。 要想系统坚固, S 平面左边的三极点(SP3, SP4, SP5)组成系统函数, 它们分别为:
j n
2 3 ?j 2 n 3

S p 3 ? ?ce
系统函数为:

, S p 4 ? ??c , S p 5 ? ?ce

(4-3)

H ? ?s ? ?

3 ?c ?S ? s p 3 ??S ? S p 4 ??S ? S p 5 ?

(4-4)

令 ?c ? 1 ,得归一化的三阶 BF:

H ? ?s ? ?
如果要还原的话,则有

1

S ? 2S ? 2S ? 1
3 2

(4-5)

H ? ?s ? ?
4.1.2 切比雪夫滤波器

?s

?c ?

3

? 2?s

?c ?

1

2

? 2?s

?c ? ? 1

(4-6)

巴特沃斯滤波器在通带振幅特性是单调递减,但是确定阶次以后,在截止频率附 近,幅度下降很多,或者说,为了使通常内的衰减足够小,需要的阶次 w 很高,为了

9

IIR 数字滤波器的设计与应用

解决这一缺点,采用切比雪夫多项式逼近所希望的 H ?j? ? 。
2

特点:其误差值在一定的频段上是等幅变化[6]。
2

切比雪夫滤波器的 H ?j? ? 在通带范围内是等幅起伏的,所以同样的通带衰减,其 振幅平方函数为

阶数较巴特沃兹滤波器要小。

A ? 2 ? H ? ?j?? ?
2

? ?

1 ? ? 1 ? ? 2V N2 ? ?? ? c ? ? ? ?

(4-7)

式中

? —有效通带截止频率

? —与通带波纹有关的参量, ? 大,波纹大,0 < ? <1。
Vn(x)—N 阶切比雪夫多项式,定义为
?1 ? ?cos( N cos x) VN ( x) ? ? ?1 ? ?cosh( N cosh x)

x ?1 x ?1

(4-8)

x ? 1时, VN ( x) ? 1 x ? 1, x ?, VN ( x) ?

(4-9)

通带内

2 1 ? , ? 1 , H ? ?j?? ,变化范围 1 ? ?c 1 ? ?2

? ? ?c ,随 ? ?c ↗, H ? ?j?? →0(迅速趋于零)
2

当 ? ? 0 时,

H ? ?j?? ? ? 0 ?
2

1 ? ? cos?N arccos ?0??
2

1

?

1 ? π? 1 ? ? 2 cos 2 ? ?N 2 ? ? ? ?

(4-10)

N 为偶数, H ? ?j? ? ? ? 0 ?
2

1 ? π? , cos 2 ? ?N 2 ? ? ? 1 (min) , 2 1?? ? ?
? π? ? 1 , cos 2 ? ?N 2 ? ? ? 0 (max), ? ?

(4-11)

N 为奇数, H a ( j?)

2 ?? 0

(4-12)

10

IIR 数字滤波器的设计与应用

图 4-2 切比雪夫滤波器的振幅平方特性

有关参数的确定: a. 通带截止频率 ,预先给定 b. 由通带波纹表为 ?c

? ? 201g

H ? ?j? ? min

H ? ?j? ? max

? 201g

1 1 1 ? ?2

(4-13)

给定通带波纹值分贝数 ? (dB) 后,可求 ? 。

? ? ? r 时, H ? ?j?? ?
2

1

A2

(4-14)

c. 阶数 N—由阻带的边界条件确定。( ?r ,A 事先给定)

? ? ? r 时, H ? ?j?? ?
2

1

A2

(4-15)

1 ? ?r 1 ? ? 2V N2 ? ?? ? c ? ? ? ?

?

1

A2

(4-16)

x ? 1时,

V N ?x ? ? cosh ?Na cosh x ?
?r cosh A 2 ? 1 / ? N ? ?rosh ?? r / ?c ?

(4-17)



?

?

(4-18)

11

IIR 数字滤波器的设计与应用

4.1.3 椭圆滤波器 特点: 幅值响应在通带和阻带内都是等波纹的[7]。 对于给定的阶数和给定的波纹要求, 椭圆滤波器能获得较其它滤波器为窄的过渡带宽,就这点而言,椭圆滤波器是最优 的,其振幅平方函数为

A(?2 ) ? H a(j?) ?

2

1 1 ? ? 2R N2(?,L )

式中,RN(Ω,L)为椭圆函数,L 是一个参量。

由图可见,在归一化通带内(-1≤Ω≤1), R 52 ??,L ?在(0,1)间振荡,而超过 ΩL 后, 在 L2, ∞间振荡。L 越大,ΩL 也变大。 下图为典型的椭圆滤波器振幅平方函数:

图 4-3 N=5 时

的特性曲线

图 4-4 椭圆滤波器的振幅平方函数

图中 ε 和 A 的定义与切比雪夫滤波器相同。 当 Ωc、Ωs、ε 和 A 确定后,阶次 N 的确定方法为 : 确定参数 k ? ?c / ?s 确定参量 k 1 ?

ε A2 ? 1

N=

K(k )K 1 ? k 12 K(k 1 )K 1 - k 2

12

IIR 数字滤波器的设计与应用

式中 K (k ) ?

? (1 ? t
0

1

dt
2 1/2

) (1 ? k 2t 2 )1 / 2

为第一类完全椭圆积分。

4.2 MATLAB 实现
Matlab 工具箱中有设计 IIR 数字滤波器函数的调用,使用时从工具箱中查找就 可以了,快捷、实用。分别用巴特沃斯法、切比雪夫、椭圆法设计数字滤波器的函 数如下: Butterrth 滤波器:

[N ,W n ] ? buttord (W p ,W s ,R p ,R s )
[b ,a] ? butter (N ,W n ) [b,a] ? b u t t e (N r ,W n ,'f t y p' e ) [h,f ] ? freqz(b,a,n,Fs )
Chebysheve I 滤波器:

[N ,W n ] ? cheb 1ord (W p ,W s ,R p ,R s )

[b,a] ? cheby 1 (N ,R p ,W n )
[b,a] ? cheby 1 (N ,R p ,W n ,'ftype ')
[h,f ] ? freqz(b,a,n,Fs )
Chebysheve II 滤波器:

[N ,W n ] ? cheb 2ord(W p ,W s ,R p ,R s ) [b,a] ? cheby 2 (N ,R s ,W n )
[b,a] ? cheby 2 (N ,R s ,W n ,'ftype ') [h,f ] ? freqz(b,a,n,Fs )
椭圆滤波器:

[N ,W n ] ? ellipord (W p ,W s ,R p ,R s )

[b,a] ? e l l i (p N ,R p ,R s ,W n )
[b,a] ? e l l i (p N ,R p ,R s ,W n ,'f t y p' e )
[h,f ] ? freqz(b,a,n,Fs )
其中:Wp 表示通带截止频率;Ws 表示阻带截止频率;Rp 表示通带纹波系数; Rs 表示阻带纹波系数。N 表示滤波器最小阶数;Wn 表示截止频率[8]。数字滤波器系 统传递函数的分母和分子多项式系数向量为 a 和 b 且其阶次是 N+1;采样频率用 Fs 表示;区间[O Fs]频率范围内选取的频率点数为 n;用 f 记录频率点数。当 n 为2的幂 次方,可以提高运 type=bandpass 时,为带通滤波器;ftype=stop 时,为带阻滤波器。 ftype=high 时,为高通滤波器;

13

IIR 数字滤波器的设计与应用

4.2.1 双线性变换法及 MATLAB 实现 其实双线性变换时一种非线性变换 ,我们可以通过预畸从而对这种非线性引起 的幅频特性进行校正。 以低通数字滤波器为例,将设计步骤归纳如下: (1) 确定数字滤波器的性能指标:通带临界频率 fp 、阻带临界频率 fs ;通带内的 最大衰减 Ap;阻带内的最小衰减 As; (2)确定相应的数字角频率,ωp=2πfp;ωs=2πfs; (3)计算经过预畸的相应模拟低通原型的频率, (4)求低通原型的传递函数 Ha(s)和阶数 N 可以通过 Ωp、Ωs 来完成; (5)用上面的双线性变换公式代入 Ha(s),求出所设计的传递函数 H(z); (6)分析滤波器特性,检查其指标是否满足要求。 4.2.2 脉冲响应不变法及 MATLAB 实现 通过对 Ha(s)函数的周期进行伸长,然后在通过 z=est 的映射关系反映到 Z 平面 上的方法进行模拟滤波器到数字滤波器的转换。 脉冲响应不变法的一个重要特点是频率坐标的变换是线性的,ω=ΩΤ,ω 与 Ω 是线性关系。因此如果模拟滤波的频响带限于折叠频率以内的话,通过变换后滤波 器的频响可不失真地反映原响应与频率的关系。

H e j?T ? H ? ?j??

? ?

? ?π T

(4-19)

例如线性相位的贝塞尔低通滤波器,通过脉冲响应不变法得到的仍是线性相位的低 通数字滤波器。 设计举例: 设计一个低通的数字滤波器,在其通带内频率小于 0.2?rad 时,允许幅度误差在 1dB 以内,在频率 0.3?rad ~ ?rad 之间的阻带衰减大于15dB。用脉冲响应不变法设 计数字滤波器, T ? 1,模拟滤波器采用切比雪夫Ⅰ型滤波器原型。 调用程序如下: %切比雪夫 1 型模拟滤波器的设计 [n,Wn]=cheb1ord(OmegaP,OmegaS,1,15,'s'); %求出满足设计指标的最小阶数 n 和 Wn [b,a]=cheby1(n,1,Wn,'low','s'); %Chebyshev 模拟低通滤波器的生成 freqs(b,a); %设计模拟的频率响应 [bz,az]=impinvar(b,a,T); %用脉冲响应不变法映射为数字的 [H,W]=freqz(bz,az,512,T); %设计数字的频率响应 运行结果如下所示(如图4-5所示)。

14

IIR 数字滤波器的设计与应用

幅 频 特 性 (dB) 50 20

相频特性

-50

pha(/pi)

0
dB

0

-20

-100

0

0.2

0.4 0.6 w(/pi) 单位冲击响应

0.8

-40

0

0.2

0.4 0.6 w(/pi) 单位阶越响应

0.8

0.3 0.2
h(n)

2 1.5
h(n)

0.1 0 -0.1

1 0.5 0

0

50 n

100

150

0

20 n

40

60



4-5

脉冲响应不变法设计的切比雪夫 I 型数字滤波器

通过给出的设计参数用切比雪夫 I 型进行 Matlab 仿真得出相应的幅频特性、相 频特性、单位冲击响应和单位阶越响应的图像。 用脉冲不变法设计低通数字滤波器,指标参数如下: ?p ? 2 π rad , π rad , ?s ? 2 (如图 4-6 所示) ? p ? 0.5dB , ? s ? 10dB 。 调用程序如下: N=ceil(log(es/ep)/log(omegas/omegap)); omega0=omegap/ep^(1/N); K=floor(N/2); for i=1:K theta(i)=pi*(N-1+2*i)/(2*N); end for i=1:K G(i)=omega0^2/(1-2*omega0*cos(theta(i))+omega0^2); end for i=1:K a1(i)=2*(omega0^2-1)/(1-2*omega0*cos(theta(i))+omega0^2); end
15

IIR 数字滤波器的设计与应用

for i=1:K a2(i)=(1+2*omega0*cos(theta(i))+omega0^2)/(1-2*omega0*cos(theta(i))+omega0^2); end if K<(N/2) G0=omega0/(omega0+1);a0=(omega0-1)/(omega0+1);
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

图 4-6 脉冲响应不变法设计的巴特沃兹型数字滤波器

4.2.3 Simulink 设计仿真 Simulink 仿真步骤: (1) Simulink 的文件操作分为新建文件和打开文件; (2) Simulink 的模型窗口有状态栏、工具栏和菜单; (3) 模型的创建又分为对象的选定、模块的复制、模块的移动、模块的删除和 模块间连线; (4) 常用模块的参数和属性设置; (5) 复杂系统的仿真与分析。 下图为根据 Simulink 设计的滤波器对 3 组 DSP 的滤波

16

IIR 数字滤波器的设计与应用

图 4-7 设计简图

上图为 simulink 的模型创建,3 组 DSP 的频率分别为 1Hz、3Hz 和 5Hz 经过加 法器相加后在通过滤波器的滤波得出结果,然后再通过和滤波前的对比可以看出滤 波前后的效果。Scope1 为 3 组 DSP 相加后的结果,Scope 为滤波后的结果。

17

IIR 数字滤波器的设计与应用

图 4-8 滤波器的设计参数

上图为用 Simulink 设计的 IIR 数字滤波器, 通过参数图可以看出此 IIR 数字滤波 器是用切比雪夫 I 型设计的低通滤波器。其阶数为 10,通带内的截止频率为 0.2,阻 带内的截止频率为 0.5,通带内的最大衰减为 1,阻带内的最小衰减为 100。

18

IIR 数字滤波器的设计与应用

图 4-9 3 组 DSP 相加

图 4-10 经过滤波器后的结果

通过 Scope1 的图像结果和 Scope 的图像结果对比可以看出滤波前的结果经过滤 波器后发生了明显的变化,由此可以看出滤波器过滤出一部分不符合滤波器设计参 数得信号。
19

IIR 数字滤波器的设计与应用

总结
经过这段时间的学习和实践,基本上完成了对 IIR 数字滤波器的设计,所要求 的任务全部达到。 本文主要介绍了 IIR 数字滤波器的设计及应用。 滤波器的设计主要 采用了巴特沃兹、 切比雪夫和椭圆滤波器的设计方法。 然后, 经过 Matlab 和 Simulink 的仿真来完成的。 IIR 数字滤波器一般为线性时不变的因果离散系统, MATLAB 信号处 理工具箱中提供了 IIR 滤波器设计的函数。常用的设计方法有: (1)椭圆滤波器设计[9]。 (2)Butterworth 滤波器设计。 (3)Chebyshev I 型滤波器设计。 (4)Chebyshev II 型滤波器设计[10]。 解决的关键问题: (1)用 MATLAB 设计实现 IIR 数字滤波器,掌握了解 IIR 数字滤波器的应用。 (2)加深理解 IIR 数字滤波器的特性,掌握 IIR 数字滤波器的设计原理与设计方法。 本文还介绍了滤波器的设计步骤: (1)首先。通过所要求的数字滤波器性能参数对相应的模拟滤波器的参数进计算。 (2)然后。再通过所得参数设计出相应的模拟滤波器的系 数字滤波器。 我选择《IIR 数字滤波器的设计与应用》这个课题作为毕业设计其主要目的是通 过此次课程设计进一步学习和巩固数字信号处理及其相关知识,在设计过程中能综 合运用所学知识,进一步熟悉和掌握 MATLAB 的使用方法;对 IIR 数字滤波器的理 论与设计有了较深的了解;为即将进入社会参加工作打下坚实的基础;; 掌握收集资 料、消化资料和综合资料的能力等等。 统函数 H(S)。 (3)最后。通过系统函数 H(S)。变换得到对该模拟滤波器相应的数字仿真系统——

20

IIR 数字滤波器的设计与应用

参考文献
[1] 陈桂明.应用 MATLAB 语言处理数字信号与数字图像[M],北京:科学出版社,1999:102-105. [2] 陈怀琛.数字信号处理教程-MATLAB 释义与实现, 北京: 电子工业出版社[M], 2005:235-240. [3] 丛玉良、王宏志.数字信号处理及其 MATLAB 实现[M],电子工业出版社,2005.7:75-79. [4] 张艳.基于 MATLAB 软件实现 IIR 数字滤波器.长沙通信职业技术学院学报[J], 2008,7(3):5-7. [5] 张登奇,周婷,李斌.基于 MATLAB 的数字滤波器结构实现与仿真,湖南理工学 院学报[J],2008,21(3):19-22. [6] 周利清,苏菲. 数字信号处理基础[M].北京:北京邮电大学出版社,2005:85-96. [7] 廖字,郭黎.基于 MATLAB 的数字滤波器的设计.HIGH—TECHNOLOGY AND INDUSTRIALIZATION[J],2008, (9) :86. [8] 冒宗琪.Matlab 在信号与系统中的应用.计算机与信息技术[J],2008.(3):31-77. [9] 张亚妮.基于 MATLAB 的数字滤波器设计[J],辽宁工程技术大学学报 2005.24(5). [10] 刘卫国,陈昭民,张颖.Matlab 程序设计与应用[M].北京:高等教育出版社,2002:168-176 [11] 丁磊,潘贞存,丛伟.基于 MATLAB 信号处理工具箱的数字滤波器设计与仿真[J].继电器. 2003, 31 (9). [12] Koch C . Biophysics of Computation . New 1999:102-110. [13] Sanjit K.Mitra Digital Signal Processing -A Computer-Based Approach York : Oxford University Press ,

3e[J]2003,16(4).

21

IIR 数字滤波器的设计与应用





我的毕业论文暂告收尾, 这也意味着我在大学学习生活既将结束。 回首四年时光, 我学会了很多也懂得了很多道理。这也是我一生当中最大的转折点,在这里我从一 个懵懂少年渐渐变得成熟,不管是在学习上还是思想上都是受益良多,在为人处事 及与人交流上也懂得了变通。这除了自身不断努力外,与各位老师、同学和朋友的 关心、支持和鼓励是分不开的。 在毕业论文设计过程中,我遇到了许许多多的困难。在此我要感谢我的指导老 师给我悉心的帮助和对我耐心而细致的指导,我的毕业论文较为复杂烦琐,但是老 师仍然细心地纠正图中的错误。除了敬佩朱爱春老师的专业水平以外,她的治学严 谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作, 我才得以解决毕业设计中遇到的种种问题。同时感谢我院、系领导对我们的教导和 关注;感谢大学四年传授我们专业知识的所有老师。还有谢谢我周围的同窗朋友, 他们给了我无数的关心和鼓励,也让我的大学生活充满了温暖和欢乐。如果没有他 们的帮助,此次毕业论文的完成将变得困难。他们在我设计中给了我许多宝贵的意 见和建议。同时也要感谢自己遇到困难的时候没有一蹶不振,取而代之的是找到了 最好的方法来解决问题。最后,感谢生我养我的父母。谢谢他们给了我无私的爱, 为我求学所付出的巨大牺牲和努力。

22

IIR 数字滤波器的设计与应用

附录
图 4-5 程序如下: %利用模拟切比雪夫滤波器设计数字滤波器 %冲击响应不变法 %数字滤波器指标 wp=0.2*pi;%通带截止频率 ws=0.3*pi;%阻带截止频率 Rp=1;%通带最大衰减 As=15;%阻带最大衰减 T=1; %设定周期为 1s Rip=10^(-Rp/20); Atn=10^(-As/20); OmegaP=wp*T; OmegaS=ws*T; %切比雪夫 1 型模拟滤波器的设计 [n,Wn]=cheb1ord(OmegaP,OmegaS,1,15,'s'); %求出满足设计指标的最小阶数 n 和 Wn [b,a]=cheby1(n,1,Wn,'low','s'); %Chebyshev 模拟低通滤波器的生成 freqs(b,a); %设计模拟的频率响应 [bz,az]=impinvar(b,a,T); %用脉冲响应不变法映射为数字的 [H,W]=freqz(bz,az,512,T); %设计数字的频率响应 ma=20*log10(abs(H)),pha=20*log10(unwrap(angle(H))),hi=impz(bz,az);ni=ste p(bz,az);%幅度,相位,冲击响应 %图形的生成 subplot(2,2,1),plot(W,ma); title('幅频特性(dB)'); xlabel('w(/pi)'); ylabel('dB'); subplot(2,2,2),plot(W,pha); title('相频特性'); xlabel('w(/pi)'); ylabel('pha(/pi)'); subplot(2,2,3),plot(hi); title('单位冲击响应'); xlabel('n');
23

IIR 数字滤波器的设计与应用

ylabel('h(n)'); subplot(2,2,4),plot(ni); title('单位阶越响应'); xlabel('n'); ylabel('h(n)'); bz,az; %加坐标网格;

图 4-6 程序如下:
% IIR 低通滤波(Butterworth)

% IIR Lowpass Use Butterworth % copyright by Etual clear; fs=40;fpass=6;fstop=8; Ap=0.5;As=10; wp=2*pi*fpass/fs;ws=2*pi*fstop/fs; omegap=tan(wp/2);omegas=tan(ws/2); ep=sqrt(10^(Ap/10)-1); es=sqrt(10^(As/10)-1); N=ceil(log(es/ep)/log(omegas/omegap)); omega0=omegap/ep^(1/N); K=floor(N/2); for i=1:K theta(i)=pi*(N-1+2*i)/(2*N); end for i=1:K G(i)=omega0^2/(1-2*omega0*cos(theta(i))+omega0^2); end for i=1:K a1(i)=2*(omega0^2-1)/(1-2*omega0*cos(theta(i))+omega0^2); end for i=1:K a2(i)=(1+2*omega0*cos(theta(i))+omega0^2)/(1-2*omega0*cos(theta(i))+ omega0^2); end
24

IIR 数字滤波器的设计与应用

if K<(N/2) G0=omega0/(omega0+1);a0=(omega0-1)/(omega0+1); end w=0:pi/300:pi; Hw2=1./(1+(tan(w/2)/omega0).^(2*N)); plot(w/pi,Hw2); grid;

25


基于Matlab的IIR数字滤波器的设计与仿真.pdf

基于Matlab的IIR数字滤波器的设计与仿真 - 目录 摘要... 1 ABS

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

20122301 机自 05 班 机自 05 班 20122301 肖逸 基于 MATLAB 的 IIR 数字滤波器设计一 概述数字滤波器由数字乘法器、 加法器和延时单元组成的一种算法或装置。...

基于Matlab的IIR数字滤波器设计毕业论文.doc

基于Matlab的IIR数字滤波器设计毕业论文 - 摘要 在现代通信系统中,由于

基于Matlab的IIR数字滤波器设计(毕业论文).doc

基于Matlab的IIR数字滤波器设计(毕业论文) - 基于 Matlab 的 IIR 数字滤波器设计(毕业论文) 摘要 在现代通信系统中,由于信号中经常混有各种复杂成分,所以很多信号...

基于MATLAB的IIR数字滤波器的设计及应用.doc

基于MATLAB的IIR数字滤波器的设计及应用 - 青岛工学院 毕业论文(设计) 基于 Matlab 的 IIR 数字滤 波器的设计及应用 学生姓名 指导教师 学专院业 学号 ...

基于matlab的IIR数字滤波器课程设计报告.doc

基于matlab的IIR数字滤波器课程设计报告_计算机软件及应用_IT/计算机_专业资料。数字信号处理 课程设计报告 专院 业:通信工程系:信息工程学院 一、课题名称 基于 ...

基于MATLAB的IIR数字滤波器的设计方法比较及应用_图文.doc

基于MATLAB的IIR数字滤波器的设计方法比较及应用 - 目录 摘要 ...

基于Matlab的IIR数字滤波器设计方法比较及应用.pdf

基于Matlab的IIR数字滤波器设计方法比较及应用 - 滤波是信号处理的基础,滤波运算是信号处理中的基本运算,滤波器的设计也就相应成为数字信号处理的最基本问题之一....

基于MATLAB的IIR数字滤波器的设计及应用_图文.pdf

基于MATLAB的IIR数字滤波器的设计及应用 - 基于 MATLAB 的 IIR 数字滤波器的设计及应用 完成日期: 指导教师签字: 答辩小组成员签字: 摘 要 由于信号处理的基础就...

基于MATLAB的IIR数字滤波器的设计及应用.doc

基于MATLAB的IIR数字滤波器的设计及应用 - 基于 MATLAB 的 IIR 数字滤波器的设计及应用 完成日期: 指导教师签字: 答辩小组成员签字: 摘 要 由于信号处理的基础就...

基于Matlab的IIR数字滤波器设计方法比较及应用.doc

基于Matlab的IIR数字滤波器设计方法比较及应用 - 龙源期刊网 http://www.qikan.com.cn 基于 Matlab 的 IIR 数字滤波器设计方法比 较及应用 作者:庞建...

基于MATLAB的IIR数字滤波器的设计与仿真(论文).doc

基于MATLAB的IIR数字滤波器的设计与仿真(论文) - STAR个人论文,精

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

基于MATLAB的IIR数字滤波器的设计 - 第 14 卷第 3 期 2004

基于MATLAB的FIR和IIR数字滤波器的设计与仿真 推荐.doc

基于MATLAB的FIR和IIR数字滤波器的设计与仿真 推荐 - 安徽工业大学

基于Matlab的IIR数字滤波器设计(论文).doc

基于Matlab的IIR数字滤波器设计(论文) - 摘要 在现代通信系统中,由于

基于MATLAB的IIR和FIR滤波器的设计与实现.doc

基于MATLAB的IIR和FIR滤波器的设计与实现 - 基于 MATLAB 的 IIR 和 FIR 滤波器的设计与实现 陈 XX ( XXX 学院 电信 XX 班) 摘要:数字滤波是数字信号...

基于MATLAB的IIR数字滤波器设计与仿真.pdf

下面以 II 型数 R R 字滤波器的设计为例来具体说明 MATLAB在数字滤波 器设计及系统仿真方面的应用。 1 IIR 数字滤波器的传统设计方法 II 数字滤波器具有无限...

基于Matlab的IIR数字滤波器设计方法比较及应用1_图文.doc

基于Matlab的IIR数字滤波器设计方法比较及应用1_信息与通信_工程科技_专业资料。介绍IIR数字滤波器的设计方法及程序 基于Matlab 的 IIR 数字滤波器设计方法比较及应 ...

基于matlab的iir数字滤波器的设计本科学位论文.doc

基于matlab的iir数字滤波器的设计本科学位论文 - Matlab 程序设计

基于MATLAB的IIR数字滤波器的设计 及DSP实现.doc

信息与电子工程学院 本科学年论文 论文题目:基于 MATLAB 的 IIR 数字滤波器的设计 及 DSP 实现 论文作者姓名: 班级: 奚传博 09 级 1 班 电子信息科学与技术...