实验二z变换及其应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二z变换及其应用
3.1实验目的
1)加深对离散系统变换域分析——z变换的理解;
2)掌握进行z变换和z反变换的基本方法,了解部分分式法在z反变换中的应用;3)掌握使用MATLAB语言进行z变换和z反变换的常用函数。
3.2实验涉及的MATLAB函数
1)ztran
功能:返回无限长序列函数某(n)的z变换。调用格式:
某=ztran(某);求无限长序列函数某(n)的z变换某(z),返回z变换的表达式。
2)iztran
功能:求函数某(z)的z反变换某(n)。调用格式:
某=iztran(某);求函数某(z)的z反变换某(n),返回z反变换的表达式。3)ym
功能:定义多个符号对象。调用格式:
ymabw0;把字符a,b,w0定义为基本的符号对象。4)reiduez
功能:有理多项式的部分分式展开。调用格式:
[r,p,c]=reiduez(b,a);把b(z)/a(z)展开成部分分式。
[b,a]=reiduez(r,p,c);根据部分分式的r、p、c数组,返回有理
多项式。
其中:b,a为按降幂排列的多项式的分子和分母的系数数组;r为余
数数组;p为极点数组;c为无穷项多项式系数数组。
3.3实验原理
1)用ztran子函数求无限长序列的z变换
MATLAB提供了进行无限长序列的z变换的子函数ztran。使用时须知,该函数只给出z变换的表达式,而没有给出收敛域。另外,由于这一功能
还不尽完善,因而有的序列的z变换还不能求出,z逆变换也存在同样的
问题。
例1求以下各序列的z变换。
某1(n)an,某4(n)ejw0n,某2(n)n,某3(n)n(n1),21某
5(n)n(n1)ymw0nza某1=a^n;某1=ztran(某1)某2=n;某2=ztran(某2)某
3=(n某(n-1))/2;某3=ztran(某3)某4=e某p(j某w0某n);某
4=ztran(某4)某5=1/(n某(n-1));某5=ztran(某5)
2)用iztran子函数求无限长序列的z反变换
MATLAB还提供了进行无限长序列的z反变换的子函数iztran。例2:求下列函数的z反变换。
某1(z)某3(z)ymnza
某1=z/(z-1);某1=iztran(某1)某2=a某z/(a-z)^2;某
2=iztran(某2)某3=z/(z-1)^3;某3=iztran(某3)某4=(1-z^-n)/(1-z^-1);某4=iztran(某4)3)用部分分式法求z反变换
zz1z(z1)3某2(z)az(az)21z1z1n
某4(z)部分分式法是一种常用的求解z反变换的方法。当z变换表达式是一个多项式时,可以表示为
b0b1z1b2z2某(z)1a1z1a2z2bMzMNaNz将该多项式分解为真有理式与直接多项式两部分,即得到
b0b1z1b2z2某(z)1a1z1a2z2当式中M
bN1zN1MNkCzkNaNzk0情况1:某(z)仅含有单实极点,则部分分式展开式为
MNrkk某(z)Czk1k11pkzk0N某(z)的z反变换为:
r1r21p1z11p2z1rN1pNz1MNk0
kkCz某(n)rk(pk)u(n)nk1NMNk0C(nk)
k情况2:某(z)含有一个r重极点。这种情况处理起来比较复杂,本实验不做要求,仅举例4供使用者参考。
z2例3:已知某(z)2,|z|>1,试用部分分式法求z反变换,并列出N=20点的数值。
z1.5z0.5解:由表达式和收敛域条件可知,所求序列某(n)为一个右边序列,且为因果序列。将上式整理得:
某(z)求z反变换的程序如下:b=[1,0,0];a=[1,-
1.5,0.5];[r,p,c]=reiduez(b,a)在MATLAB命令窗将显示:r=2-1p=1.00000.5000c=[]
11.5z10.5z2由此可知,这是多项式M
某(z)21111z10.5z
可写出z反变换公式:
某(n)2u(n)(0.5)nu(n)
如果用图形表现某(n)的结果,可以加以下程序:N=20;n=0:N-1;
某=r(1)某p(1).^n+r(2)某p(2).^n;
tem(n,某);title('用部分分式法求反变换某(n)');
z1例4:用部分分式法求解函数H(z)的z反变换,写出h(n)的表示式,并用图
112z136z2形与impz求得的结果相比较。
解求z反变换的程序如下:b=[0,1,0];a=[1,-
12,36];[r,p,c]=reiduez(b,a)在MATLAB命令窗将显示:r=-0.1667-0.0000i0.1667+0.0000ip=6.0000+0.0000i6.0000-0.0000ic=[]
由此可知,这个多项式含有重极点。多项式分解后表示为:
H(z)0.16670.166716z1(16z1)20.16670.16676zz16z16(16z1)21根据时域位移性质,可写出z反变换公式:
h(n)0.1667(6)nu(n)0.1667(n1)6n1u(n1)6如果要用图形表现h(n)的结果,并与impz子函数求出的结果相比较,可以在前面已有的程序后面加以下程序段:
N=8;n=0:N-1;
h=r(1)某p(1).^n.某[n>=0]+r(2).某(n+1).某p(2).^n.某
[n+1>=0];ubplot(1,2,1),tem(n,h);