第三章
离散时间系统的变换域分析
2
本章目录
? 系统函数
? 序列线性时不变系统的频率响应
? 无限脉冲响应系统和有限脉冲响应系统
? Matlab实现
3
3.1 引言
? 系统的特性包括,
? 线性、时不变性、因果性、稳定性
? 离散时间系统的分析,
? 时域、变换域
? 离散时间系统分析主要内容
? 系统的变换域分析
? 系统函数
? 频率响应
4
3.2 系统函数
? 系统函数 定义
? 系统的零极点对系统特性的影响
? 系统的因果性和稳定性
5
3.2.1 系统函数的定义
? 系统函数的定义
( ) ( ) * ( ) ( ) ( ) ( )
()()
()
Zy n x n h n Y z X z H z
YzHz
Xz
? ???? ?
??
g变换
? 系统函数 H(z),表示系统的零状态响应与输入
序列 z变换的比值
? 线性时不变系统
6
研究 N阶差分方程的系统
? 因果输入序列,零初始状态,差分方程取 z变换
0
00
0
()
( ) ( ) ( ) ( 3,2 )
()
M
r
rNM
kr r
kr N
kkr
k
k
bz
Yz
Y z a z X z b z H z
Xz
az
?
?? ?
???
?
? ? ? ?
?
??
?
? 可见,H(z)与 h(n)是一对 z变换
? LTI系统输入和输出满足
??
??
??? M
r
r
N
k
k rnxbknya
00
)()(
( ) Z [ ( ) ] ( ) n
n
H z h n h n z
?? ?
? ? ?
?? ?
7
三种表征离散时间系统的方法
? 单位脉冲响应 h(n), 时域
( ) ( ) * ( )y n x n h n?
? 系统函数 H(z), Z域
? 差分方 程, 时域
??
??
??? M
r
r
N
k
k rnxbknya
00
)()(
( ) Z [ ( ) ] ( ) n
n
H z h n h n z
?? ?
? ? ?
?? ?
8
例 利用系统函数变换域求解
例 3.1 因果离散时间系统的差分方程 y(n)-3y(n-1)+2y(n-
2)= x(n)+2x(n-1),求单位脉冲响应 h(n)。
解, 设初始状态为零,对差分方程进行 z变换
1 2 1( ) 3 ( ) 2 ( ) ( ) 2 ( )Y z z Y z z Y z X z z X z? ? ?? ? ? ?
展开为部分分式
12
1 2 2
( ) 1 2 2()
( ) 1 3 2 3 2
Y z z z zHz
X z z z z z
?
??
??? ? ?
? ? ? ?
? ? 3412zzHz zz?????
( ) ( 3 4 2 ) ( )nh n u n? ? ? ?
h(n)为因果序列。对 H(z)取逆 z变换,得
9
3.2.2 系统的零极点对系统特性的影响
? 对式 (3.2)分子、分母多项式进行因式分解
? H(z)在 z= cr处有零点,在 z= dk处有极点
? N> M时,在 z= 0处有一个 (N-M)阶零点
? 零点和极点分别由差分方程的系数 br和 ak决定
? 除常数 A外,系统函数完全由全部零极点唯一确定
1
1
1
1
( 1 )
( ) ( 3,4)
( 1 )
M
r
r
N
k
k
cz
H z A
dz
?
?
?
?
?
?
?
?
?
? 零、极点是描述系统的方法,因为已知系统的零、极
点分布,就可以大致了解系统的性能
10
单阶极点对系统的影响
? 若有 一个实极点 d=α,则分母多项式中有因子 (z-α),所
对应的单位脉冲响应序列形式为
? 若有 一对共轭极点,则 D(z)有因子,
所对应的单位脉冲响应序列形式为,其
中 K,θ为常数,与零点的分布有关。
()nKa u n
jea ?? 222 co sz az a???
c o s ( ) ( )nK a n u n???
11
系统函数的极点与对应的单位脉冲响应
? 当极点位于 单位圆
内 时,|α|< 1,当
n→∞ 时,单位脉冲响
应序列 h(n)趋于零,
为收敛序列;
? 当极点位于 单位圆
上 时,|α|= 1,单位脉
冲响应序列 h(n)的幅
度不随变化,为稳定
序列;
? 当极点位于 单位圆外 时,|α|> 1,当 n→∞ 时,单位脉冲响应序
列 h(n)的幅度随 n增大而增大,为发散序列。
12
多阶极点对系统的影响
? 若有 一个 r 阶实极点 d=α,则分母多项式中有因子 (z-α),
所对应的单位脉冲响应序列形式为
? 当极点位于单位圆内时,|α|< 1,当 n→∞ 时,单位脉冲响应
序列 h(n)趋于零,为收敛序列;
? 当极点位于单位圆上时,|α|= 1,由于有因子 ni,单位脉冲
响应序列的幅度随的增大而增大,为发散序列 ;
? 当极点位于单位圆外时,|α|> 1,当 n→∞ 时,单位脉冲响应
序列 h(n)的幅度随 n增大而增大,为发散序列。
? 若有 一对共轭极点,则所对应的单位脉冲响应序列
形式为,其中 i= 0,1,2,…, r-1。
()iniK n a u n
jea ??
c o s ( ) ( )iniK n a n u n???
13
零极点对系统影响的结论
? 离散时间系统的单位脉冲响应序列 h(n)可由 H(z)的零、
极点确定。零点只影响 h(n)的幅度与相位,极点的分布
影响 h(n)的形状。
? H(z)在单位圆内的极点所对应的 h(n)都是衰减的,当
n→∞ 时,序列的值趋于零,h(n)是收敛序列,因此极点
全部在单位圆内的系统是稳定系统。
? H(z)在单位圆上的一阶极点所对应的 h(n)的幅度不随变
化,其对应的系统是临界稳定系统。
? H(z)在单位圆上的二阶及二阶以上的极点,或在单位
圆外的极点所对应的 h(n)随的增大而增大,当 n→∞ 时,
序列值趋于无限大,h(n)是发散序列,这样的系统是非
稳定系统。
14
3.2.3 系统的因果性和稳定性
? 从系统的单位脉冲响应序列 h(n)出发,讨论判断系
统因果性和稳定性的充分必要条件。
? 如何根据 H(z)判断系统的因果性和稳定性?
? 一个因果稳定系统的系统函数 H(z)的收敛域必须在某个圆
的外部,该圆经过 H(z)的离原点最远的极点,而且收敛域
必须包含单位圆。 即
Rx-< |z|≤+∞,0< Rx-< 1 (3.6)
? 如果系统函数 H(z)的所有极点都在单位圆内,则系统是稳
定的。
? 如果系统稳定,则系统的所有极点都在单位圆内。
15
例:分析系统的因果性和稳定性
例 3.3 已知一个线性时不变系统的
系统函数,试确定系统的收敛域,
并分析系统的因果性和稳定性。
解,对 H(z)的分母进行因式分解得
1
12
11
2()
311
48
z
Hz
zz
?
??
?
?
??
1
11
111 ( )
22()
1 1 1 1(1 ) (1 ) ( ) ( )
4 2 4 2
z z z
Hz
z z z z
?
??
??
? ? ? ?
极点为 -0.25,-0.5;零点为 0,0.5,
如图 3.3所示。
两个极点把平面划分为三个区域,所
以 H(z)的收敛域有三种可能的情况,
下面分别进行讨论。
16
讨论图 3.3中 H(z)的收敛域
? 如果收敛域是极点 -0.5所在的圆的外部区域,收敛域
包含 ∞ 点,有,因此系统是因果的。系统函数
的收敛域为 0.5< |z|≤+∞,而且包含单位圆,所以对应系
统是稳定的。
? 如果收敛域是极点 -0.25所在的圆的内部区域,
有,因此系统是逆因果的,收敛域为 0≤|z|<
0.25。收敛域不包含单位圆,所以对应系统不是稳定的。
? 如果收敛域是极点 -0.25和 -0.5所在的两个圆之间的环
域,即 0.25≤|z|< 0.5,收敛域不包含 ∞点,单位圆也没有
位于收敛域内,所以对应系统是非因果且不稳定的。
lim ( ) 1z Hz?? ?
0lim ( ) 0z Hz? ?
17
3.3 线性时不变系统的频率响应
? 频率响应的定义
? 频率响应的几何确定法
? 全通系统
? 最小相位系统
18
3.3.1 频率响应的定义
? 设输入序列是频率为 ω的复指数序列,由线性卷积公
式,得到系统的响应
j ( ) j j( ) ( ) ( ) ( ) e e (e ) ( 3, 7)n k n
k
y n h n x n h k H? ? ??? ?
? ? ?
? ? ? ? ??
? 频率响应的定义
j - j(e ) ( )e ( 3, 8 )k
k
H h k????
? ? ?
? ?
? 当离散线性时不变系统的输入是频率为 ω的复指数序列时,
输出为同频率的复指数序列乘以加权函数 H(ω)。
? H(ω)反映复指数序列通过系统后幅度和相位随频率 ω的变化
? H(ω)是一个与系统的特性有关的量,称为单位脉冲响应为
h(n)的系统的频率响应。
19
H(ω)与 H(z)
? 频率响应 H(ω)在数值上等于 H(z)在 z平面单位
圆上的取值。
? 如果已知系统函数 H(z),则可求得其频率响
应,即
j
-j
j 1
e
-j
1
( 1 e )
( e ) ( ) | ( 3,9)
( 1 e )
M
r
r
Nz
k
k
c
H H z A
d
?
?
?
?
?
?
?
?
??
?
?
?
20
H(ω)的表示
? 复函数 H(ω) 是以 2π为周期的连续周期函数,用实部和
虚部表示为
? H(ω) 用幅度与相位表示为
j j jRI( e ) ( e ) j ( e )H H H? ? ???
jj j ja r g [ ( e ) ]( e ) | ( e ) | e HHH ????
j 2 j 2 j
RI
j
j I
j
R
| ( e ) | ( e ) ( e )
( e )
a r g [ ( e ) ] = a r g
( e )
H H H
H
H
H
? ? ?
?
?
?
??
? H(ω)的幅度响应和相位响应
21
正弦输入序列的系统频率响应
? 可见,当离散线性时不变系统输入正弦序列时,输出
为同频率的正弦序列,其幅度受频率响应幅度 |H(ω)|
的加权,而相位为输入相位与系统相位响应之和。
00j - jj - j0( ) c o s( ) e e e e
22
nnAAx n A n ??????? ? ? ?
00jj j1 ( ) ( e ) e e2 nAy n H ?? ??? 00
- j - j-j2 ( ) ( e ) e e2 nAy n H?? ?? ?
0 0 0 0
0
j j - j - jj - j
j
0
( ) [ ( e ) e e ( e ) e e ]
2
[ ( e ) | c o s ( )
nnAy n H H
A H n
? ? ? ???
? ? ? ?
? ? ? ?
? ? ? ?
22
3.3.2 频率响应的几何确定法
? 根据式 (3.9)得知,系统的频率响应完全由 H(z)的零、
极点确定。由式 (3.9) 得系统的频率响应
j
j j ( ) 1
j
1
( e )
( e ) e ( 3,14 )
( e )
M
r
NM r
N
k
k
c
HA
d
?
??
?
? ?
?
?
?
?
?
?
je k
kkBB
??
rjerrAA ??
? 零点矢量,
? 极点矢量,
? 矢量的模即矢量长度;矢量的幅角对应矢量与正实
轴的夹角。
23
几何确定法
? 式 (3.14)可表示
rj ( )
j j ( ) j j ( )1
j ( )
1
e
( e ) e | ( e ) | e ( 3.1 5 )
e k
M
r
NM r
N
k
k
A
H A H
B
??
? ? ? ? ?
??
? ?
?
? ? ?
?
?
11
( ) ( )
( ) ( ) ( 3, 1 7)
MN
rk
rk
NM? ? ?
? ? ? ?
??
? ? ?
???
j 1
1
| ( e ) | ( 3,1 6 )
M
r
r
N
k
k
A
HA
B
? ?
?
?
?
?
? 幅度响应 等于各零点
矢量长度之积除以各
极点矢量长度之积,
再乘以常数 A
? 相位响应 等于各零
点矢量的幅角之和
减去各极点矢量的
幅角之和,再加上
线性分量 ω(N-M)。
24
几何确定图示
25
零点位置对频率响应的影响
? 零点位置, 主要影响幅度响应的谷点值及形状。
当 E点旋转到某个零点 cr 附近时,如果零点矢量长
度 Ar 最短,则幅度响应在该点可能出现谷点;零点
cr 越靠近单位圆,Ar 越短,则谷点越接近零;如果
零点 cr 在单位圆上,Ar = 0,则谷点为零。
? 极点位置, 主要影响幅度响应的峰值及尖锐程度。
当 E点旋转到某个极点 dk附近时,如果极点矢量长度
Bk最短,则幅度响应在该点可能出现峰值;极点 dk
越靠近单位圆,Bk越短,则幅度响应在峰值附近越
尖锐;如果极点 dk在单位圆上,Bk= 0,则幅度响应
的峰值趋于无穷大,此时系统不稳定。
26
小结
? 单位圆附近的零点位置对幅度响应 凹谷的位置
和深度 有明显的影响,零点可在单位圆外。
? 在单位圆内且靠近单位圆附近的极点对幅度响
应的 凸峰的位置和深度 则有明显的影响,极点
在单位圆外,则不稳定。
? 利用直观的几何确定法,适当地 控制零、极点
的分布,就能改变系统频率响应的特性,达到
预期的要求,因此它是一种非常有用的分析系
统的方法。
27
例:梳状滤波器
例 3.6 已知一个系统函数,试定性画出系统
的幅度响应曲线 。
解,
( ) 1 NH z z ???
1( ) 1 NN
N
zH z z
z?
?? ? ?
? 一个 N阶极点 z = 0,不影响幅度响应
? N个一阶零点等间隔分布在单位圆上,
由分子多项式的根决定。
? 当 ω从 0变化到 2π
时,每遇到一个零点
幅度为零;
? 两个零点之间幅度
由零逐渐增大,在零
点中间幅度最大,形
成峰值,再逐渐减少
至零。
? 幅度谷点频率为
ωk= 2π k/N
28
3.3.3 全通系统
? 定义, 系统幅度响应 |H(ω)|在所有频率 ω下均为常数,
1
1() 1ap
zaHz
az
??
?
??
? (3, 1 8 )
- j j
j - j
- j - j
e 1 e( e ) e
1 e 1 eap
aaH
aa
? ? ? ?
??
??
????
?? (3, 1 9 )
? 频率响应
12
0 1 2
12
12
0
()
1
N
Ni
N N Ni
iN
ap N N
i N
i
i
az
z a z a z a
Hz
a z a z a zaz
??
? ? ? ? ?
?
? ? ?
?
?
? ? ? ?
??
? ? ? ?
?
?
L
L
(3.21 )
111
1 1 1
11
( ) ( )()
1 ( 1 ) ( 1 )
kr MM kk
r
ap
ii r k k
z e z ezdHz
d z e z e z
? ? ??
? ? ? ?
??
????
? ? ??? (3, 2 0 )
? 零点与极点有共轭倒数关系,一般形式
29
例:二阶全通系统
例 3.7 设二阶全通系统的系统函数,求系
统的频率响应函数,并画出相应曲线。
解,
2
2
24()
11
24
zzHz
zz
???
??
2
2
24( ) 4
4 2 1
zzHz
zz
????
??
jj33
1,2 1,2
1 3 11 j 3 2 e,j e
4 4 2cd
????? ? ? ? ? ?
j
2 2 j j
j
2 2 j je
jj
jj
2 4 e 2 e 4
( e ) 4 4
4 2 1 4 e 2 e 1
e 2 4 e ( 5 c o s 2 ) j3 s in
44
4 e 2 e ( 5 c o s 2 ) j3 s in
z
zz
H
zz
?
??
?
??
??
??
??
??
?
?
?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
j 3 sin| ( e ) | 4,( ) 2 a r c ta n 5 c os 2H ? ??? ?? ? ? ?
30
3.5 Matlab实现
? 系统函数的 Matlab计算
? 利用系统函数求解系统输出的 Matlab
实现
? 利用 Matlab计算系统频率响应
31
3.5.1 系统函数的 Matlab计算
? 函数 tf2zp和 zp2tf,用于系统函数不同形式间转换 。
1
01
1
01
()( ) ( 3, 2 9 )
()
M
M
N
N
b b z b zBzHz
A z a a z a z
??? ? ???
? ? ?
L
L
? 函数 tf2zp,确定有理 z变换式的零极点和增益
>>[z,p,k]= tf2zp(b,a);
? 输入参数, b=[b0,b1,…, bM]为分子多项式的系数,a=
[a0,a1,…,aN]为分母多项式的系数,都按 z的降幂排列 ;
? 输出参数, z是 z变换的零点,p是极点,k是增益 。
? 函数 zp2tf,由 z变换的零极点和增益确定 z变换式的系数
>>[b,a]= zp2tf(z,p,k);
32
例:计算 Z变换
例 3.10 线性时不变系统的差分方程为 y(n)- y(n-1)+
0.5y(n-2)= 2x(n)+ 1.5x(n-1),求其 z变换, 并分析系统的
稳定性 。
解, 由差分方程得到系统函数 1
12
2 1,5()
1 0,5
zHz
zz
?
??
??
??
?>>b= [2,1.5,0];a= [1,-1,0.5]; % 系统函数多项式的系数
?[z,p,k]= tf2zp(b,a); % 求零点、极点和增益
?disp('零点,');disp(z'); disp('极点,');disp(p');disp('增益,');disp(k');
?zplane(z,p); % 画零、极点图
?axis([-1.25,1.25,-1.25,1.25]); % 标示坐标
程序运行结果为
?零点, 0 -0.7500
?极点, 0.5000 - 0.5000i 0.5000 + 0.5000i
?增益, 2
33
例:计算 Z变换
? 第 二 行 调 用 函 数 [z,p,k]=
tf2zp(b,a),确定系统函数的
零点, 极点和增益 。
? 第六行使用函数 zplane画出
零点, 极点及单位圆 。
? 由图 3.10系统的零, 极点分
布可知, 全部极点都位于单位
圆内, 所以系统是稳定的 。
34
3.5.2 利用系统函数解系统输出的 Matlab实现
例 3.11 已知系统函数为, 求输入序
列 x(n)= [2,-1,0.25] 时系统的输出 。
解, 输入序列表示为 x(n)= 2δ(n)-δ(n-1)+0.25δ(n-2)
,0 3()
0,
nnxn ?? ?
?
≤≤
其它
H(z)的系数 b= -2,a= [1,-0.75,-0.25,0.1875],
x= [2,-1,0.25],可以用函数 conv来计算多项式乘法,
以确定 Y(z)的系数 B和 A= a,然后利用函数 residuez求留
数和极点等。
1 12
1 2 3
2 ( )( ) ( ) ( ) ( 2 0, 2 5 )
1 0, 7 5 0, 2 5 0, 1 8 7 5 ( )
z B zY z H z X z z z
z z z A z
? ??
? ? ?
?? ? ? ? ?
? ? ?
12( ) 2 0,2 5X z z z??? ? ?
35
求输出序列表示式的 Matlab程序段
?>>x= [2,-1,0.25];
?nfx= length(x)-1; % 计算输入序列的终止时间
?b= -2;a= [1,-0.75,-0.25,0.1875]; % 系统函数多项式的系数
?B= conv(b,x);A= a; % 确定 Y(z)的系数
?[r,p,c]= residuez(B,A); % 求留数、极点和系数项
?disp('留数,');disp(r'); % 显示输出参数
?disp('极点,');disp(p');
?disp('系数项,');disp(c');
程序运行结果为
?留数, -4.0000 2.0000 -2.0000
?极点, 0.7500 0.5000 -0.5000
?系数项,
36
系统输出的 Matlab实现
写出 Y(z)的部分分式
系统的输出序列
( ) 4 0, 7 5 ( ) 2 0, 5 ( ) 2 ( 0, 5 ) ( )n n ny n u n u n u n? ? ? ? ? ? ? ?
1 1 1
4 2 2()
1 0,7 5 1 0,5 1 0,5Yz z z z? ? ?
??? ? ?
? ? ?
37
3.5.3 利用 Matlab计算系统频率响应
- j - j
j 01
- j - j
01
ee()( e )
( ) e e
M
M
N
N
b b bBzH
A z a a a
??
? ? ? ???
? ? ?
L
L
? 函数 freqz:计算序列傅里叶变换在给定离散频率点上
的取样值,调用方式,
? (1) [H,w]= freqz(b,a,N)
? (2) H= freqz(b,a,w)
? (3) H= freqz (b,a,F,Fs)
? (4) [H,w] = freqz(b,a,N,'whole')
? (5) [H,F]= freqz(b,a,N,Fs) 和 [H,F]= freqz(b,a,N,'whole',
Fs)
38
例:系统幅度和相位响应曲线
例 3.10 已知系统的差分方程为 y(n)- y(n-1)+ 0.75y(n-2)=
x(n),试画出系统的幅度响应和相位响应曲线 。
解, H(ω)的有理多项式系数 b= [1],a= [1,-1,0.75]
?>> b= [1];a= [1,-1,0.75];N= 512; % 系统函数多项式的系数
?[H,w]= freqz(b,a,N,'whole'); % 计算频率响应
?magH= abs(H(1:N)); phaH= angle(H(1:N)); % 计算幅度相位
?w= w(1:N);subplot(2,1,1); % 画幅度响应曲线(连续)
?plot(w/pi,magH); grid; % 画网格
?ylabel('Magnitude');title('Magnitude Response');
?subplot(2,1,2); % 画相位响应曲线
?plot(w/pi,phaH); grid;
?xlabel('frequency Unit,pi ');ylabel('Phase');
?title('Phase Response');
39
用函数 plot绘制连续曲线