数字信号处理实验报告
实验名称:离散系统的Z域分析 学号: 评语: 成绩:
一、实验目的
1、掌握离散序列z变换的计算方法。
2、掌握离散系统系统函数零极点的计算方法和零极点图的绘制方法,并能根据零极点图分析系统的因果性和稳定性。
3、掌握利用MATLAB进行z反变换的计算方法。
姓名:
二、实验原理与计算方法
1、z变换
离散序列x(n)的z变换定义为:X(Z)nx(n)zn。
在MATLAB中可以利用符号表达式计算一个因果序列的z变换。其命令格式为: syms n;
f=(1/2)^n+(1/3)^n; ztrans(f)
2、离散系统的系统函数及因果稳定的系统应满足的条件
一个线性移不变离散系统可以用它的单位抽样响应h(n)来表示其输入与输出关系,即y(n)= x(n)*
h(n)
对该式两边取z变换,得: Y(z)= X(z)· H(z)
Y(z)则: H(z)
X(z)将H(z)定义为系统函数,它是单位抽样响应h(n)的z变换,即
H(z)Z[h(n)]
nh(n)zn
对于线性移不变系统,若n<0时,h(n)=0,则系统为因果系统;若
n|h(n)|,则系统稳定。
|h(n)|,
由于h(n)为因果序列,所以H(z)的收敛域为收敛圆外部区域,因此H(z)的收敛域为收敛圆外部区域时,系统为因果系统。因为H(z)nh(n)zn,若z=1时H(z)收敛,即H(z)|z1n则系统稳定,即H(z)的收敛域包括单位圆时,系统稳定。 因此因果稳定系统应满足的条件为:|z|,1,即系统函数H(z)的所有极点全部落在z平面的单位圆之内。
3、MATLAB中系统函数零极点的求法及零极点图的绘制方法
MATLAB中系统函数的零点和极点可以用多项式求根函数roots ()来实现,调用该函数的命令格式为:p=roots(A)。其中A为待求根多项式的系数构成的行向量,返回向量p是包含该多项式所有根位置的列向量。
31如:求多项式A(z)z2z的根的MATLAB命令为:
481
路漫漫其修远兮,吾将上下而求索 -
A=[1 3/4 1/8]; p=roots(A) 运行结果为: p=
-0.5000 -0.2500 也可以用[z,p,k]=tf2zp(B,A)函数求得。其中z为由系统的零点构成的向量,p为由系统的极点构成的向量,k表示系统的增益;B、A分别为系统函数中分子分母多项式的系数向量。
离散系统的系统函数可能有两种形式,一种是分子和分母多项式均按z的正次幂降幂排列,如
z32z,另一种是分子分母多项式均按z的负次幂升幂排列,如H1(z)4z3z32z22z11z1,在构造多项式系数向量时,分子和分母多项式系数向量的维数一定要H2(z)111z1z224相同,缺项用0补齐。对于H1(z)其分子多项式的系数向量应为:B=[0 1 0 2 0];分母多项式的系数向量应为:A=[1 3 2 2 1]。对于H2(z)其分子多项式的系数向量应为:B=[1 1 0];分母多项式的系数向量应为:A=[1 1/2 1/4]。
绘制系统函数的零极点图可由MATLAB中的zplane函数实现。该函数的调用方法为:zplane(B,A)或者zplane(z,p,k),其中B,A,z,p,k的含义与tf2zp函数相同。若调用zplane(B,A)绘图,则首先将系统函数中分子分母多项式变换成按z的正次幂降幂排列的系数向量,再求零极点。 4、z反变换的计算方法
zz反变换可由部分分式展开法求得。由于指数序列anu(n)的z变换为,因此求反变换时,
zaX(z)通常对进行展开:
zAkA1A2X(z) zzz1zz2zzk其中Ai(zzi)
X(z)X(z)称为有理函数的留数。 (i1,2,k)zzizz分两种情况进行讨论:
(1)X(z)的所有极点均为单实极点
AzA1zA2z此时X(z)k,则X(z)的z反变换为:
zz1zz2zzkx(n)A0Ai(zi)n
i1k(2)X(z)有共轭极点
设X(z)有一对共轭极点p1,2ej,则X(z)的计算方法与单极点相同,即r1(zp1)因此,只要求出
Azr1zr2zAz其中留数1k,
zp1zp2zz1zzkX(z)zzp1|r1|ej,r2=r1 *
X(z)部分分式展开的系数(留数),就可以直接求出X(z)的z反变换x(n)。在zX(z)MATLAB中可利用函数residue()求解。令B和A分别是的分子和分母多项式构成的系数向量,
zX(z)则函数[r,p,k]=residue (B,A)将产生三个向量r、p、k,其中r为包含部分分式展开系数ri(i=1,2,…,N)
zX(z)X(z)的列向量,p为包含所有极点的行向量,k为包含部分分式展开的多项式项的系数
zzcj(j=1,2,…,M-N)的列向量,若M≤N,则k为空阵。
2
路漫漫其修远兮,吾将上下而求索 -
用residue()函数求出的反变换x(n)。
X(z)部分分式展开的系数后,便可根据其极点位置分布情况直接求出X(z)zz2如:已知X(z)2,求其z反变换x(n)。
z3z2X(z)z首先利用residue()函数求出的部分分式展开的系数和极点,相应的2zz3z2MATLAB命令为: B=[0 1 0]; A=[1 3 2];
[r,p,k]=residue (B,A) 运行结果为: r = 2 -1 p = -2 -1 k =
[ ]
21由以上结果可得:X(z);即X(z)只有两个单极点,其z反变换为:z2z1x(n)2(2)n(1)nu(n)。
z2z 已知X(z)3,求其z反变换x(n)。 2z2z2z1X(z)z1 利用residue()函数求出的部分分式展开的系数和极点,可得: 32zz2z2z1B=[0 0 1 1]; A=[1 -2 2 -1];
[r,p,k]=residue (B,A) r =
2.0000 -1.0000 + 0.0000i -1.0000 - 0.0000i p =
1.0000 0.5000 + 0.8660i 0.5000 - 0.8660i k =
[ ]
X(z)可见,包含一对共轭极点,用abs()和angle()函数即可求出共轭极点的模和相位,相应命令为:
zp1=abs(p') p1 =
1.0000 1.0000 1.0000 a1=angle(p')/pi a1 =
0 -0.3333 0.3333
即共轭极点为:p1,2ej3,则X(z)zzej3zzej32z,其z反变换为:z13
路漫漫其修远兮,吾将上下而求索 -
x(n)2cosn2u(n)
3三、实验内容
(1)求下列序列的z变换:
2-nu(n);-(1/2)n u(n);(1/2)n+(1/3)n u(n)
实验代码:
syms n; f1=(2)^(-n); f2=-(1./2)^(n);
f3=(1./2)^(n)+(1./3)^(n); ztrans(f1) ztrans(f2) ztrans(f3)
实验截图:
(2)已知两个离散因果系统的系统函数分别为:
123z2z2zzz;H2(z) H1(z)32121z2z4z11zz2分别求出各系统的零极点,绘制零极点图,分析系统的稳定性;求出各系统单位抽样响应。 实验代码:
A1=[1 2 -4 1]; B1=[0 1 1 0];
[Z1 P1 K1]=tf2zp(B1,A1) [r1,p1,k1]=residue(B1,A1) pl=abs(p1') al=angle(p1')/pi zplane(B1,A1)
title('H1(z)系统零极点图')
实验截图: 4
路漫漫其修远兮,吾将上下而求索 -
实验代码:
A2=[1 1 1/2 0]; B2=[0 2 -1 1]; [z,p,k]=tf2zp(B2,A2); [r,p,k]=residue(B2,A2); p1=abs(p'); a1=angle(p')/pi; zplane(B2,A2);
title('H2(z)系统零极点图')
实验截图:
5
路漫漫其修远兮,吾将上下而求索 -
6
因篇幅问题不能全部显示,请点此查看更多更全内容