matlab数字信号处理实验指导

实验三 离散时间信号的DTFT

3. 讨论实验程序3中h1和h2的关系是什么?哪个参数控制频移量?

4. 讨论实验程序4中y与x1和x2的关系是什么?h1和h2与x1和x2的关系是什么?h1和hp相等吗?

13

实验四 离散时间信号的Z变换

实验四 离散时间信号的Z变换

一、实验目的

1. 运用MATLAB理解Z变换及其绘制H(z)的零极点图。 2. 运用MATLAB计算逆Z变换。

二、实验原理

(一)、MATLAB在ZT中的应用。

线性时不变离散时间系统的冲激响应h(n)的z变换是其系统函数H(z), 在MATLAB中可以利用性质求解Z变换,例如可以利用线性卷积求的Z变换。若H(z)的收敛域包含单位圆,即系统为稳定系统,即系统在单位圆上z?e

(二)、逆Z变换

Z变换对于分析和表示离散线性时不变系统具有重要作用。但是在MATLAB中不能直接计算Z变换,但是对于一些序列可以进行逆Z变换。

已知序列的Z变换及其收敛域, 求序列称为逆Z变换。 序列的Z变换及共逆Z变换表示如下:

j?处计算的是系统的频率响应。

X(z)? 1x(n)?X(z)zn?1dz,c?(Rx?,Rx?)??2?jc

通常,直接计算逆Z变换的方法有三种:围线积分法、长除法和部分分式展开法。在实际中,直接计算围线积分比较困难,往往不直接计算围线积分。由于序列的Z变换常为有理函数,因此采用部分分式展开法比较切合实际,它是将留数定律和常用序列的Z变换相结合的一种方法。

设x(n)的Z变换X(z)是有理函数,分母多项式是N阶,分子多项式是M阶,将X(z)展成一些简单的常用的部分分式之和,通过常用序列的Z变换求得各部分的逆变换,再相加即得到原序列x(n)。在MATLAB中提供了函数residuez来实现上述过程,调用格式如下:

14

n?????x(n)z?n,Rx??z?Rx?

实验四 离散时间信号的Z变换

[R,P,K]= residuez(B,A)

其中B、A分别是有理函数分子多项式的系数和分母多项式的系数,输出R是留数列向量,P是极点列向量。如果分子多项式的阶数大于分母多项式的阶数,则K返回为常数项的系数。 例4.1 计算 X(z)?的Z反变换。

由于分母多项式为:1?1.5zMATLAB实现: clear b=1; a=[1,-1.5,0.5]; [R,P,K]=residuez(b,a) 输出R = 2 -1 P =

1.0000 0.5000 K = []

因此:得到X(z)的部分分式展开为X(z)?得x(n)?(2?0.5)u(n)。

三、实验内容与步骤

1. 运行下面程序,利用线性卷积求Z变换。 设X1(z)?z?2?3z?12?1n?11,z?1

(1?z?1)(1?0.5z?1)?0.5z?2,则

2?1?,根据常用序列的z变换可?1?11?z1?0.5z,X2(z)?2z?4z?3?5z,求X3(z)?X1(z)?X2(z)

由变换定义可知:x1(n)?{1,2,3},n?{?1,0,1} x2(n)?{2,4,3,5},n?{?2,?1,0,1}

15

实验四 离散时间信号的Z变换

通过求x3(n)?x1(n)?x2(n),再求其z变换得到X3(z)?X1(z)?X2(z)。 MATLAB程序: x1=[]1,2,3]; x2=[2,4,3,5]; n1=-1:1; n2=-2:1; x3=conv(x1,x2) nb3=n1(1)+n2(1);

nc3=n1(length(x1))+n2(length(x2)); n3=[nb3:nc3]

2.已知两个线性时不变的因果系统,系统函数分别为

1?z?NH2(z)??NH(z)?1?z1?aNz?N 1,

分别令N=8,a=0.8,运行下面程序计算并显示示这两个系统的零、极点图及幅频特性。 程序:

b=[1,0,0,0,0,0,0,0,-1]; %H1(z)和H2(z)的分子多项式系数向量 a0=1; %H1(z)分母多项式系数向量

a1=[1,0,0,0,0,0,0,0,-(0.8)^8]; % H2(z)的分母多项式系数向量 [H, w]=freqz(b,a0); [H1, w1]=freqz(b,a1); subplot(2,2,1);zplane(b,a0);

xlabel(‘实部’);ylabel(‘虚部’); title(‘H1 (z)系统的零极点图’); subplot(2,2,2);zplane(b,a1);

16

联系客服:779662525#qq.com(#替换为@)