离散系统的Z域分析
一、实验目的
1、掌握离散序列z变换的计算方法。
2、掌握离散系统系统函数零极点的计算方法和零极点图的绘制方法,并能根据零极点图分析系统的因果性和稳定性。
3、掌握利用MATLAB进行z反变换的计算方法。二、实验原理与计算方法
1、z变换
离散序列x(n)的z变换定义为:X(Z)?
n????x(n)z??n。
在MATLAB中可以利用符号表达式计算一个因果序列的z变换。其命令格式为:
symsn;
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)则: H(z)?Y(z)X(z)
?将H(z)定义为系统函数,它是单位抽样响应h(n)的z变换,即
H(z)?Z[h(n)]?
n????h(n)z?n
?
n???对于线性移不变系统,若n<0时,h(n)=0,则系统为因果系统;若?|h(n)|??,则系统稳定。由于h(n)为因果序列,所以H(z)的收敛域为收敛圆
?h(n)z??n外部区域,因此H(z)的收敛域为收敛圆外部区域时,系统为因果系统。因为H(z)?,若z=1时H(z)收敛,即H(z)|z?1?
n???n????|h(n)|??,则系统稳?
定,即H(z)的收敛域包括单位圆时,系统稳定。
因此因果稳定系统应满足的条件为:??|z|??,??1,即系统函数H(z)的所有极点全部落在z平面的单位圆之内。
3、MATLAB中系统函数零极点的求法及零极点图的绘制方法
MATLAB中系统函数的零点和极点可以用多项式求根函数roots()来实现,调用该函数的命令格式为:p=roots(A)。其中A为待求根多项式的系数构成的行向量,返回向量p是包含该多项式所有根位置的列向量。如:求多项式A(z)?z2?3z?1的根的MATLAB命令为:48
A=[13/4 1/8];
p=roots(A)
运行结果为:
p=
-0.5000
-0.2500
也可以用[z,p,k]=tf2zp(B,A)函数求得。其中z为由系统的零点构成的向量,p为由系统的极点构成的向量,k表示系统的增益;B、A分别为系统函数中分子分母多项式的系数向量。
离散系统的系统函数可能有两种形式,一种是分子和分母多项式均按
z的正
z3?2z次幂降幂排列,如H1(z)?4,另一种是分子分母多项式均按
z?3z3?2z2?2z?1
1?z?1z的负次幂升幂排列,如H2(z)?,在构造多项式系数向量时,分
111?z?1?z?2
24
子和分母多项式系数向量的维数一定要相同,缺项用0补齐。对于H1(z)其分子多项式的系数向量应为:B=[01 0 2 0];分母多项式的系数向量应为:
A=[13 2 2 1]。对于H2(z)其分子多项式的系数向量应为:B=[11 0];分母多项式的系数向量应为:A=[11/2 1/4]。
绘制系统函数的零极点图可由MATLAB中的zplane函数实现。该函数
的调用方法为:zplane(B,A)或者zplane(z,p,k),其中B,A,z,p,k的含义与tf2zp函数相同。若调用zplane(B,A)绘图,则首先将系统函数中分子分母多项式变换成按z的正次幂降幂排列的系数向量,再求零极点。
4、z反变换的计算方法
z反变换可由部分分式展开法求得。由于指数序列anu(n)的z变换为
因此求反变换时,通常对X(z)进行展开:z
AkA1A2X(z)????zz?z1z?z2z?zk
其中Ai?(z?zi)X(z)
z?zi(i?1,2,?k)称为有理函数X(z)的留数。zzz,z?a分两种情况进行讨论:
(1)X(z)的所有极点均为单实极点此时X(z)?A1z?A2z??Akz,则X(z)的z反变换为:z?z1z?z2z?zk
x(n)?A0??Ai?(zi)n
i?1k
(2)X(z)有共轭极点
设X(z)有一
X(z)?对共轭极点p1,2??e?j?,则Azr1zr2zAz?1??k,其中留数的计算方法与单极点相同,即z?p1z?p2z?z1z?zk
X(z)*j?,r=rr1?(z?p1)?|r|e21z?p11z
因此,只要求出X(z)部分分式展开的系数(留数),就可以直接求出X(z)z 的z反变换x(n)。在MATLAB中可利用函数residue()求解。令B和A分别是X(z)
z
的分子和分母多项式构成的系数向量,则函数[r,p,k]=residue(B,A)将产生三个向量r、p、k,其中r为包含X(z)部分分式展开系数ri(i=1,2,…,N)的列向量,p为z
包含X(z)所有极点的行向量,k为包含X(z)部分分式展开的多项式项的
系数zz
cj(j=1,2,…,M-N)的列向量,若M≤N,则k为空阵。
用residue()函数求出X(z)部分分式展开的系数后,便可根据其极点位置分z
布情况直接求出X(z)的反变换x(n)。z2如:已知X(z)?2,求其z反变换x(n)。z?3z?2
首先利用residue()函数求出X(z)?2z的部分分式展开的系数和极zz?3z?2
点,相应的MATLAB命令为:
B=[01 0];
A=[13 2];
[r,p,k]=residue(B,A)
运行结果为:
r=
2
-1
p=
-2
-1
k=
[] 由以上结果可得:X(z)?
x(n)?2(?2)n?(?1)nu(n)。??2?1;即X(z)只有两个单极点,其z反变换
为:?z?2z?1
z2?z已知X(z)?3,求其z反变换x(n)。2z?2z?2z?1z?1利用residue()函数求出X(z)?3的部分分式展开的系数和极2zz?2z?2z?1
点,可得:
B=[00 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()函数即可求出共轭极点的模和z
相位,相应命令为:
p1=abs(p')
p1=
1.0000 | 1.0000 | 1.0000 |
a1=angle(p')/pi
a1=
0 | -0.3333 | 0.3333 即共轭极点为:p1,2?e?j? |
3,则X(z)??z
z?e?j?
3??zz?ej?
3?2z,其z反变换为:z?1
?????x(n)???2cos?n??2?u(n)?3???
三、实验内容
(1)求下列序列的z变换:
2-nu(n);-(1/2)nu(n);(1/2)n+(1/3)nu(n)
n=[0];
symsn; ans =
f1=2^(-n);2*z/(2*z-1)
f2=-(1/2)^n;ans =
f3=(1/2)^n+(1/3)^n;-2*z/(2*z-1)
ztrans(f1)ans =
ztrans(f2)2*z/(2*z-1)+3*z/(3*z-1)
ztrans(f3)
(2)已知两个离散因果系统的系统函数分别为:
?1?2?3z2?z2z?z?z;H2(z)?H1(z)?32?1?2z?2z?4z?11?z?z分别求出各系统的零极点,绘制零极点图,分析系统的稳定性;求出各系统单位抽样响应。
%画零极点图%求部分分式展开的系数和极点
B=[01 1 0] B=[0 0 1 1 ]
A=[12 4 1] A=[1 2 -4 1]
[z,p,k]=tf2zp(B,A)[r,p,k]=residue(B,A)
subplot(211);zplane(B,A)B=[0 0 2 -1 1]
B=[02 -1 1] A=[1 1 1/2 0 0]
A=[11 0.5 0] [r,p,k]=residue(B,A)
[z,p,k]=tf2zp(B,A)p1=abs(p')
subplot(212);zplane(B,A)a1=angle(p')/pi
因果稳定系统应满足的条件为:??|z|??,??1,即系统函数H(z)的所有极点全部落在z平面的单位圆之内。由零极点图可知:系统一不是因果稳定系统。系统二是因果稳定系统。
对于系统一:
r=
-0.1484
0.6667
-0.5182
p=
-3.3028
1.0000
0.3028
k=
[]
p1=
3.3028 | 1.0000 | 0.3028 |
a1=
1 | 0 | 0 ?0.14840.6667?0.5182 由以上结果可得:H1(z)?;即 |
H1(z)只有三个单极点,??z?3.3028z?1z?0.3028
其z反变换为:h(n)???0.1484?(?3.3028)?0.6667?0.5182?0.3028?u(n)。nn??
对系统二:
r=
3.0000- 3.0000i
3.0000+ 3.0000i
-6.0000
2.0000
p=
-0.5000+ 0.5000i
-0.5000- 0.5000i
k=
[]可见,H2(z)包含一对共轭极点,用abs()和angle()函数即可求出共轭极点的模和相位,z
p1=
0.7071 | 0.7071 | 0 | 0 a1 = |
-0.7500 | 0.7500 | 0 | 0 即共轭极点为:p1,2?e?j? |
4,则H2(z)?z?3?3i??z?3?3i??4,其z反变换为:??
z?e?j4z?ej4
?????h(n)??3cos?n??4?u(n)?4???
因篇幅问题不能全部显示,请点此查看更多更全内容