学生姓名: 学号 专业班级:
实验类型:□ 验证 □ 综合 □ 设计 □ 创新 实验日期: 2012、5、24 实验成绩:
MATLAB基础上机训练一八
一、实验项目名称: z变换及离散时间系统的Z域分析
二、实验目的:
(1)掌握利用MATLAB绘制系统零极点图的方法 (2)掌握离散时间系统的零极点分析方法
(3)掌握用MATALB实现离散系统频率特性分析的方法 (4)掌握逆Z变换概念及MATLAB实现方法
三、实验原理
1)离散系统零极点
线性时不变离散系统可用线性常系数差分方程描述,即
ay(ni)bx(nj) (8-1)
iji0j0NM其中y(k)为系统的输出序列,x(k)为输入序列。
将式(8-1)两边进行Z变换的
H(z)Y(z)X(z)bzjMjazii0j0NiB(z) (8-2) A(z)将式(8-2)因式分解后有:
(zq)jMH(z)C(zp)ii1j1N (8-3)
其中C为常数,qj(j1,2,,M)为H(z)的M个零点,pi(i1,2,,N)为H(z)的N个极点。
系统函数H(z)的零极点分布完全决定了系统的特性,若某系统函数的零极点已知,则系统函
数便可确定下来。
因此,系统函数的零极点分布对离散系统特性的分析具有非常重要意义。通过对系统函数零极点的分析,可以分析离散系统以下几个方面的特性:
系统单位样值响应h(n)的时域特性; 离散系统的稳定性; 离散系统的频率特性;
2)离散系统零极点图及零极点分析
1.零极点图的绘制
设离散系统的系统函数为
H(z)B(z) A(z)则系统的零极点可用MATLAB的多项式求根函数roots()来实现,调用格式为:
p=roots(A)
其中A为待根求多项式的系数构成的行矩阵,返回向量p则是包含多项式所有根的列向量。多项式根的MATLAB命令举例如下:
A=[1 3/4 1/8]; P=roots(A) 运行结果为: P =
-0.5000 -0.2500
需注意的是,在求系统函数零极点时,系统函数可能有两种形式:一种是分子、分母多项式均按z的降幂次序排列;另一种是分子、分母多项式均按z的升幂次序排列。这两种方式在构造多项式系数向量时稍有不同。
(1)H(z)按z的降幂次序排列:系数向量一定要由多项式最高次幂开始,一直到常数项,缺项要用0补齐;如
1z32zH(z)4 32z3z2z2z1其分子、分母多项式系数向量分别为A=[1 0 2 0]、B=[1 3 2 2 1]。
(2)H(z)按z的升幂次序排列:分子和分母多项式系数向量的维数一定要相同,不足的要用0补齐,否则z0的零点或极点就可能被漏掉。如
112z1H(z)
11121zz24其分子、分母多项式系数向量分别为A=[1 2 0]、B=[1 1/2 1/4]。
用roots()求得H(z)的零极点后,就可以用plot()函数绘制出系统的零极点图。下面是求系统零
极点,并绘制其零极点图的MATLAB实用函数ljdt(),同时还绘制出了单位圆。
function ljdt(A,B)
% The function to draw the pole-zero diagram for discrete system p=roots(A); %求系统极点 q=roots(B); %求系统零点 p=p'; %将极点列向量转置为行向量 q=q'; %将零点列向量转置为行向量 x=max(abs([p q 1])); %确定纵坐标范围 x=x+0.1; y=x; %确定横坐标范围 clf hold on
axis([-x x -y y]) %确定坐标轴显示范围 w=0:pi/300:2*pi; t=exp(i*w); plot(t) %画单位园 axis('square')
plot([-x x],[0 0]) %画横坐标轴 plot([0 0],[-y y]) %画纵坐标轴 text(0.1,x,'jIm[z]') text(y,1/10,'Re[z]')
plot(real(p),imag(p),'x') %画极点 plot(real(q),imag(q),'o') %画零点 title('pole-zero diagram for discrete system') %标注标题 hold off
2.离散系统零极点分析
(1)离散系统零极点分布与系统稳定性
《信号与系统》课程已讲到离散系统稳定的条件为:
时域条件:离散系统稳定的充要条件为
nh(n),即系统单位样值响应绝对可和;
Z域条件:离散系统稳定的充要条件为系统函数H(z)的所有极点均位于Z平面的单位圆内。
对于三阶以下的低阶系统,可以利用求根公式求出系统函数的极点,从而判断系统的稳定性,但对于高阶系统,手工求解则显得十分困难,这时可以利用MATLAB来实现。实现方法是调用前述的函数ljdt()绘出系统的零极点图,然后根据极点的位置判断系统的稳定性。 (2)零极点分布与系统单位样值时域特性的关系
从《信号与系统》课程中已经得知,离散系统的系统函数H(z)与单位样值响应h(n)是一对Z变换对;因而,H(z)必然包含了h(n)的固有特性。
离散系统的系统函数可以写成
(zq)jMH(z)C(zp)ii1j1N (8-4)
若系统的N个极点均为单极点,可将H(z)进行部分分式展开为:
H(z)i1Nkiz (8-5) zpi由Z逆变换得:
h(n)ki1Ni(pin)un( ) (8-6)
从式(8-5)和(8-6)可以看出离散系统单位样值响应h(n)的时域特性完全由系统函数H(z)的极点位置决定。从《信号与系统》的学习中已经得出如下规律:
H(z)位于Z平面单位圆内的极点决定了h(n)随时间衰减的信号分量; H(z)位于Z平面单位圆上的一阶极点决定了h(n)的稳定信号分量;
H(z)位于Z平面单位圆外的极点或单位圆上高于一阶的极点决定了h(n)的随时间增长的
信号分量;
3)离散系统频率特性分析
1.离散系统的频率响应H(e)
对于某因果稳定离散系统,如果激励序列为正弦序列:
jx(n)Asin(0n)u(n)
则,根据《信号与系统》课程给出的结果有,系统的稳态响应为:
yss(n)AH(ej)sin[n()]u(n)
H(ej)H(z)zejH(ej)ej()定义离散系统的频率响应为
j其中,H(e)——称为离散系统的幅频特性;
()——称为离散系统的相频特性;
H(ej)是以2为周期的周期函数,只要分析H(ej)在范围内的情况,便可分析出系
统的整个频率特性。
2.用MATLAB实现离散系统的频率特性分析方法 (1)直接法
设某因果稳定系统的系统函数H(z),则系统的频响特性为:
H(ej)H(z)zejH(ej)ej()
MATLAB提供了专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式有以下两种: [H,w]=freqz(B,A,N)
B和A分别为离散系统的系统函数分子、分母多项式的系数向量,N为正整数,返回量H则包含了离散系统频响H(e)在0~范围内N个频率等分点的值,向量w则包含0~范围内N个频率等分点。调用中若N默认,默认值为512。 [H,w]=freqz(B,A,N,’whole’)
j0~2H(e)的值。 该调用格式将计算离散系统在范围内N个频率等分点的频率响应
j因此,可以先调用freqz()函数计算系统的频率响应,然后利用abs()和angle()函数及plot()函数,即可绘制出系统在
0~或0~2范围内的频响曲线。
2)几何矢量法
利用几何矢量求解示意图如图8-4所示。
ejqjBjejj
ji ejpiAei有:
jH(e)
Bejj1Ni1Mj(12M)H(ej)ej()
j(12N)Aei则系统的幅频特性和相频特性分别为:
H(ej)Bj1Ni1Mj (8-7)
iAMj1()ji (8-8)
i1N根据式(8-7)和(8-8),利用MATLAB来求解频率响应的过程如下: 根据系统函数H(z)定义分子、分母多项式系数向量B和A;
调用前述的ljdt()函数求出H(z)的零极点,并绘出零极点图; 定义Z平面单位圆上的k个频率分点;
求出H(z)所有的零点和极点到这些等分点的距离; 求出H(z)所有的零点和极点到这些等分点矢量的相角;
j 根据式(8-7)和(8-8)求出系统的H(e)和();
绘制指定范围内系统的幅频曲线和相频曲线;
下面是实现上述过程的实用函数dplxy()。有四个参数:k为用户定义的频率等分点数目;B和A分别为系统函数分子、分母多项式系数向量;r为程序绘制的频率特性曲线的频率范围(0~r)。
function dplxy(k,r,A,B)
%The function to draw the frequency response of discrete system p=roots(A); %求极点 q=roots(B); %求零点 figure(1) ljdt(A,B) %画零极点图 w=0:r*pi/k:r*pi; y=exp(i*w); %定义单位圆上的k个频率等分点 N=length(p); %求极点个数 M=length(q); %求零点个数 yp=ones(N,1)*y; %定义行数为极点个数的单位圆向量 yq=ones(M,1)*y; %定义行数为零点个数的单位圆向量 vp=yp-p*ones(1,k+1); %定义极点到单位圆上各点的向量 vq=yq-q*ones(1,k+1); %定义零点到单位圆上各点的向量 Ai=abs(vp); %求出极点到单位圆上各点的向量的模 Bj=abs(vq); %求出零点到单位圆上各点的向量的模 Ci=angle(vp); %求出极点到单位圆上各点的向量的相角 Dj=angle(vq); %求出零点到单位圆上各点的向量的相角 fai=sum(Dj,1)-sum(Ci,1); %求系统相频响应 H=prod(Bj,1)./prod(Ai,1); %求系统幅频响应 figure(2)
plot(w,H); %绘制幅频特性曲线 title('离散系统幅频特性曲线') xlabel('角频率') ylabel('幅度') figure(3)
plot(w,fai) title('离散系统的相频特性曲线') xlabel('角频率') ylabel('相位')
四、实验说明:
例1:绘制如下系统函数的零极点
3z35z210z(1)H(z)3 2z3z7z510.5z1(2)H(z)
31121zz48例2:系统函数如例1所示,判断两个系统的稳定性
例3:已知如下系统的系统函数H(z),试用MATLAB分析系统单位样值响应h(n)的时域特性。 (1)H(z)(2)H(z)1,单位圆上的一阶实极点; z11z22zcos()18(3)H(z),单位圆上的一阶共轭极点;
z,单位圆上的二阶实极点; 2(z1)1,单位圆内的一阶实极点;
z0.8(4)H(z)(5)H(z)1,单位圆内的二阶实极点;
(z0.5)21,单位圆外的一阶实极点;
z1.2(6)H(z)例4:绘制如下系统的频响曲线
z0.5z
考题:已知离散系统函数
(1)(z^2-2*z-1)/(2*z^2-1) (2) (z^2+2)/(z^3+2*z-4*z+1) 绘制零极点图,并判断系统的稳定性; 若稳定,则绘制其频响特性曲线。 H(z)
五、实验步骤及结果 例1
(1)>> A=[1 -3 7 -5]; >> B=[3 -5 10 0];
>> ljdt(A,B)
(2)>> A=[1 3/4 1/8]; >> B=[1 -0.5 0]; >>ljdt(A,B)
例2
由例1绘出的零极点图可以看出两个系统的稳定性分别为:第(1)个系统不稳定;第(2)个系统稳定。 例3
1)>> a=[1 -1]; >> b=[0 1]; >> impz(b,a,10)
2)>> a=[1 -2*cos(pi/8) 1]; >> b=[0 0 1]; >> impz(b,a,50) 3)>> a=[1 -2 1]; >> b=[0 1 0]; >> impz(b,a,10) 4)>> a=[1 -0.8]; >> b=[0 1]; >> impz(b,a,10) 5)>> a=[1 -1 0.25]; >> b=[0 0 1]; >> impz(b,a,10) 6)>> a=[1 -1.2]; >> b=[0 1]; >> impz(b,a,10)
例5: B=[1 -0.5]; A =[1 0];
[H,w]=freqz(B,A,400,'whole'); Hf=abs(H); Hx=angle(H); clf
figure(1) plot(w,Hf)
title('离散系统幅频特性曲线') figure(2) plot(w,Hx)
title('离散系统相频特性曲线')
考题:(1)
>> A=[2 0 0 -1];
>> B=[2 -2 -1];
>> ljdt(A,B) 由零极点曲线知系统稳定
>> A=[2 0 0 -1]; B=[2 -2 -1];
[H,w]=freqz(B,A,400,'whole'); >> Hf=abs(H); >> Hx=angle(H); >> clf
>> figure(1) >> plot(w,Hf)
>> title('离散系统幅频特性曲线') >> figure(2) >> plot(w,Hx)
>> title('离散系统相频特性曲线')
考题(2)
>> A=[1 2 -4 1]; >> B=[1 0 0 2];
>> ljdt(A,B) 由零极点曲线知不稳定
六、思考讨论题或体会或对改进实验的建议
通过这次实验,基本学会用MATLAB绘制系统零极点图的方法、逆z变换的求法及离散系统频率特性的分析方法;更进一步加深对离散系统的理解及MATLAB的操作,巩固课堂所学的理论知识。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务