实验二z变换及其应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

相关文档
最新文档