实验二 z变换及其应用 联系客服

发布时间 : 星期二 文章实验二 z变换及其应用更新完毕开始阅读42fb5b540066f5335a81219b

title('用部分分式法求反变换h(n)'); h2=impz(b, a, N);

subplot(1, 2, 2), stem(n, h2); title('用impz求反变换h(n)');

例5: 用部分分式法求解下列系统函数的z反变换,并用图形与impz求得的结果相比较。

0.1321?0.3963z?2?0.3963z?4?0.1321z?6H(z)?

1?0.34319z?2?0.60439z?4?0.20407z?6解 由上式可知,该函数表示一个6阶系统。其程序如下: a=[1, 0, 0.34319, 0, 0.60439, 0, 0.20407]; b=[0.1321, 0, -0.3963, 0, 0.3963, 0, -0.1321]; [r, p, c]=residuez(b, a)

此时在MATLAB命令窗将显示: r= -0.1320-0.0001i

-0.1320+0.0001i -0.1320+0.0001i -0.1320-0.0001i 0.6537+0.0000i 0.6537-0.0000i p= -0.6221+0.6240i -0.6221-0.6240i 0.6221+0.6240i 0.6221-0.6240i 0 + 0.5818i 0 - 0.5818i c = -0.6473

由于该系统函数分子项与分母项阶数相同,符合M≥N,因此具有冲激项。可以由r、p、c的值写出z反变换的结果。

如果要求解z反变换的数值结果,并用图形表示,同时与impz求解的冲激响应结果进行比较,可以在上述程序加:

N=40; n=0:N-1;

h=r(1)*p(1).^n+r(2)*p(2).^n+r(3)*p(3).^n+r(4)*p(4).^n+… r(5)*p(5).^n+r(6)*p(6).^n+c(1).*[n==0]; subplot(1, 2, 1), stem(n, real(h), 'k'); title('用部分分式法求反变换h(n)'); h2=impz(b, a, N);

subplot(1, 2, 2), stem(n, h2, 'k'); title('用impz求反变换h(n)'); 4)从变换域求系统的响应

系统的响应既可以用时域分析的方法求解,也可以用变换域分析法求解。当已知系统函数H(z),又已知系统输入序列的z变换X(z),则系统响应序列的z变换可以由Y(z)=H(z)X(z)求出。

zz2例6: 已知一个离散系统的函数H(z)?2,输入序列X(z)?,求系统在变换

z?1z?1.5z?0.5域的响应Y(z)及时间域的响应y(n)。

解: 本例仅采用先从变换域求解Y(z),再用反变换求y(n)的方法,以巩固本实验所学习的内容。 MATLAB程序如下: syms z X=z/(z-1);

H=z^2/(z^2-1.5*z+0.5); Y=X*H y=iztrans(Y)

程序运行后,将显示以下结果: Y= z^3/(z-1)/(z^2-3/2*z+1/2) y= 2*n+2^(-n)

如果要观察时域输出序列y(n),可以在上面的程序后编写以下程序段: n=0: 20; y=2*n+2.^(-n); stem(n, y);

3.4实验内容

1)输入并运行例题程序,理解每一条程序的意义。

2)求以下各序列的z变换:

x1(n)?nanx3(n)?23)求下列函数的z反变换:

nx2(n)?sin(?0n)x4?e?ansin(n?0)

X1(z)?X3(z)?zz?azz?ej?0X2(z)?z(z?a)21?z1?z?1?3

X4(z)?4)用部分分式法求解下列系统函数的z反变换,写出x(n)的表示式,并用图形与impz求得的结果相比较,取前10个点作图。

10?20z?1X(z)?

1?8z?1?19z?2?12z?35z?2X(z)? ?1?21?z?6zX(z)?

1 ?12?1(1?0.9z)(1?0.9z)3. 5实验报告

(1) 列写出通过调试后的实验任务程序,打印或描绘实验程序产生的曲线图形。 (2) 思考题:

① MATLAB中提供的ztrans和iztrans变换方法,使用中有何问题需要注意? ② 回答预习思考题。