--
实验三 控制系统的分析方法
一、实验目的
利用MATLAB对各种离散控制系统进行时域分析。
二、实验指导
1.控制系统的稳定性分析
由前面章节学习的内容可知,对线性系统而言,如果一个连续系统的所有极点都位于s平面的左半平面,则该系统是一个稳定系统。对离散系统而言,如果一个系统的全部极点都位于z平面的单位圆内部,则该系统是一个稳定系统。一个连续的稳定系统,如果所有的零点都位于s平面的左半平面,即所有零点的实部小于零,则该系统是一个最小相位系统。一个离散的稳定系统,如果所有零点都位于z平面的单位圆内,则称该系统是一个最小相位系统。由于Matlab提供了函数可以直接求出控制系统的零极点,所以使用Matlab判断一个系统是否为最小相位系统的工作就变得十分简单。 2.控制系统的时域分析
时域分析是直接在时间域对系统进行分析。它是在一定输入作用下,求得输出量的时域表达式,从而分析系统的稳定性、动态性能和稳态误差。这是一种既直观又准确的方法。
Matlab提供了大量对控制系统的时域特征进行分析的函数,适用于用传递函数表示的模型。其中常用的函数列入表10.9,供读者参考。
表10.9 常用时域分析函数 函数 说 明 step 连续系统的阶跃响应 impulse 连续系统的脉冲响应 covar 连续系统对白噪声的方差响应 initial 连续系统的零输入响应 lsim 连续系统对任意输入的响应 dstep 离散系统的阶跃响应 dimpulse 离散系统的脉冲响应 dcovar 离散系统对白噪声的方差响应 dinitial 离散系统的零输入响应 dlsim 离散系统对任意输入的响应 filter 数字滤波器
三、实验内容
1. 已知系统的闭环传递函数为:
5z5?4z4?z3?0.6z2?3z?0.5H(z)?试判断该闭环系统的稳定性。 5z(1)
--
--
>> num=[5,4,1,0.6,3,0.5]; den=[1,0,0,0,0,0]; sysd= tf (num,den,1); [z p k]=tf2zp(num,den); abs(z)
ans =
0.9655 0.9655 0.7902 0.7902 0.1718 所以,该系统稳定
2、已知闭环系统的传递函数
2?3z?1?4z?2 H(z)??1?2?31?3z?3z?z试绘出其单位阶跃响应及脉冲响应曲线。
num=[2,3,4,0]; den=[1,3,3,1]; Hz= tf(num,den,1);
subplot(2,1,1) step(Hz);
title('单位阶跃响应');grid on; subplot(2,1,2) impulse(Hz);
title('单位脉冲响应');grid on;
3(2s?1)
G(s)?s?2)(s模?1)型为 3.已知一单位负反馈系统,其开环零极点s(增益
试用零阶保持器法离散该系统闭环负反馈模型,,画出系统的单位阶跃响应和斜坡响应曲线,并求出系统在单位阶跃及斜坡信号作用下系统的稳态误差。采样周期为0.1秒,单位阶跃时域响应范围为0~300秒,斜坡信号时域响应范围为0~50秒。
要求:运用Matlab编写命令语句或应用程序,并实现。
z=[-0.5]; p=[0 -2 1]; k=6;
Gs= zpk(z,p,k)
--
--
Ts=0.1;
G=feedback(Gs,1); Gz=c2d(G,Ts,'zoh') Gz=tf(Gz);
subplot(2,2,1) step(Gz);
title('单位阶跃响应');grid on; subplot(2,2,2) u=0:0.1:50;
[ys,x]=dlsim(Gz.num,Gz.den,u); plot(u,ys);
title('单位斜坡响应');grid on;
subplot(2,2,3) [y,t,x]=step(Gz); E=1-y;plot(t,E);
title('单位阶跃响应误差曲线');grid on;
subplot(2,2,4)
yu=stepfun(u,0); n=length(u); for i=1:n
yu(i)=u(i)*yu(i); ye(i)=yu(i)-ys(i); end
plot(u,ye);
--