实验6 离散时间系统的z域分析
(综合型实验)
一、实验目的
1) 掌握z变换及其反变换的定义,并掌握MATLAB实现方法。 2) 学习和掌握离散时间系统系统函数的定义及z域分析方法。
3) 掌握系统零极点的定义,加深理解系统零极点分布与系统特性的关系。 二、实验原理与方法 1. z变换
序列x(n)的z变换定义为X(z)?n????x(n)z???n (1)
Z反变换定义为x(n)?12?j?rX(z)zn?1dz (2)
MATLAB中可采用符号数学工具箱ztrans函数和iztrans函数计算z变换和z反变换: Z=ztrans(F)求符号表达式F的z变换。 F=iztrans(Z)求符号表达式Z的z 反变换 2. 离散时间系统的系统函数
离散时间系统的系统函数H(z)定义为单位抽样响应h(n)的z变换
H(z)?n????h(n)z???n (3)
此外连续时间系统的系统函数还可由系统输入与输出信号z变换之比得到
H(z)?Y(z)/X(z) (4)
由(4)式描述的离散时间系统的系统时间函数可以表示为
b0?b1z?1?...?bMz?M (5) H(z)??1?Na0?a1z?...?aNz3. 离散时间系统的零极点分析
MATLAB中可采用roots来求系统函数分子多项式和分母多项式的根,从而得到系统的零极点。
此外还可采用MATLAB中zplane函数来求解和绘制离散系统的零极点分布图,zplane函数的调用格式为:
zplane(b,a) b、a为系统函数分子分母多项式的系数向量(行向量) zplane(z,p) z、p为零极点序列(列向量) 系统函数是描述系统的重要物理量,研究系统函数的零极点分布不仅可以了解系统单位抽样响应的变化,还可以了解系统频率特性响应以及判断系统的稳定性; 系统函数的极点位置决定了系统的单位抽样响应的波形,系统函数零点位置只影响冲激响应的幅度和相位,不影响波形。
系统的频率响应取决于系统函数的零极点,根据系统的零极点分布情况,可以通过向量法分析系统的频率响应。
因果的离散时间系统稳定的充要条件是H(z)的全部极点位于单位圆内。
三、实验内容
(1) 已知两个因果离散时间系统的系统函数,采用MATLAB画出零极点分布图,求解系
统的冲激响应h(n)和频率响应H(ej?),并判断系统是否稳定。
z2?2z?11)H(z)?3 2z?0.5z?0.005z?0.3>> b=[1 2 1];
>> a=[1 -0.5 -0.005 0.3]; >> zplane(b,a)
10.80.60.4
>> impz(b,a)
Impulse Response2.521.5Imaginary Part0.20-0.2-0.4-0.6-0.8-1-1-0.50Real Part0.512 Amplitude10.50-0.5-1051015n (samples)202530
>> subplot(212)
>> plot(w/pi,angle(H)/pi); >> xlabel('\\omega(\\pi)'); >> ylabel('Phase(\\pi)'); >> title('theta(\\Omega)'); >> grid on
全部极点都在单位圆内,系统稳定。 >> [H,w]=freqz(b,a); >> subplot(211)
>> plot(w/pi,abs(H)); >> xlabel('\\omega(\\pi)'); >> ylabel('Magnitude'); >> title('|H(e^j^\\Omega)|'); >> grid on
|H(ej?)|8Magnitude642000.10.20.30.40.50.60.70.80.91?(?)theta(?)0Phase(?)-0.5-100.10.20.30.40.50.60.70.80.91?(?)
z3?z2?22)H(z)?4
3z?3z3?z2?3z?1>> b=[1 -1 0 2]; >> a=[3 3 -1 3 -1]; >> zplane(b,a)
10.80.60.4
>> impz(b,a)
x 104Impulse Response10864Imaginary Part Amplitude0.20-0.2-0.4-0.6-0.8-1-1.5-1-0.5Real Part00.5120-2-4-6051015n (samples)2025
有极点在单位圆外,系统不稳定。
>> [H,w]=freqz(b,a); >> subplot(211)
>> plot(w/pi,abs(H)); >> xlabel('\\omega(\\pi)'); >> ylabel('Magnitude'); >> title('|H(e^j^\\Omega)|'); >> grid on
|H(ej?)|1.5>> subplot(212)
>> plot(w/pi,angle(H)/pi); >> xlabel('\\omega(\\pi)'); >> ylabel('Phase(\\pi)'); >> title('theta(\\Omega)'); >> grid on
Magnitude10.5000.10.20.30.40.50.60.70.80.91?(?)theta(?)10.5Phase(?)0-0.5-100.10.20.30.40.50.60.70.80.91?(?)
(2) 用MATLAB绘制以下六种情况系统函数的零极点分布图,并绘制相应单位抽样响应
的时域波形,观察分析系统函数极点位置对单位抽样响应时域特性的影响和规律。
1) z=0,p=0.25
b=[1 0]; a=[1 -0.25]; subplot(211)
zplane(b,a); subplot(212) impz(b,a)
1Imaginary Part0.50-0.5-1-3-2-101Real PartImpulse Response231 Amplitude0.500123n (samples)456
zplane(b,a); subplot(212) impz(b,a)
2) z=0,p=1
b=[1 0]; a=[1 -1]; subplot(211)
1Imaginary Part0.50-0.5-1-3-2-101Real PartImpulse Response231 Amplitude0.50012345n (samples)6789
zplane(b,a); subplot(212) impz(b,a)
3) z=0,p=-1.25
b=[1 0]; a=[1 1.25]; subplot(211)
1Imaginary Part0.50-0.5-1-3x 106-2-10Real PartImpulse Response1231 Amplitude0.50-0.5-10102030n (samples)405060
?64)z?0,p1?0.8eb=[1 0];
j,p2?0.8e?j?6
zplane(b,a); subplot(212) impz(b,a)
a=poly([0.8*exp(j*pi/6) 0.8*exp(-j*pi/6)]); subplot(211)
1Imaginary Part0.50-0.5-1-3-2-101Real PartImpulse Response2321.5 Amplitude10.50-0.50510152025n (samples)303540
5)z?0,p1?eb=[1 0];
j?8,p2?e?j?8
zplane(b,a); subplot(212) impz(b,a)
a=poly([exp(j*pi/8) exp(-j*pi/8)]); subplot(211)
1Imaginary Part0.50-0.5-1-3-2-101Real PartImpulse Response2324 Amplitude20-2-4010203040n (samples)506070
?j3?46)z?0,p1?1.2eb=[1 0];
j3?4,p2?e
zplane(b,a); subplot(212) impz(b,a)
a=poly([1.2*exp(j*3*pi/4) 1.2*exp(-j*3*pi/4)]); subplot(211)