. . . .
实验二 离散控制系统分析方法
一、实验目的
利用MATLAB对各种离散控制系统进行时域分析。
二、实验指导
1.控制系统的稳定性分析
由前面章节学习的容可知,对线性系统而言,如果一个连续系统的所有极点都位于s平面的左半平面,则该系统是一个稳定系统。对离散系统而言,如果一个系统的全部极点都位于z平面的单位圆部,则该系统是一个稳定系统。一个连续的稳定系统,如果所有的零点都位于s平面的左半平面,即所有零点的实部小于零,则该系统是一个最小相位系统。一个离散的稳定系统,如果所有零点都位于z平面的单位圆,则称该系统是一个最小相位系统。由于Matlab提供了函数可以直接求出控制系统的零极点,所以使用Matlab判断一个系统是否为最小相位系统的工作就变得十分简单。
2.控制系统的时域分析
时域分析是直接在时间域对系统进行分析。它是在一定输入作用下,求得输出量的时域表达式,从而分析系统的稳定性、动态性能和稳态误差。这是一种既直观又准确的方法。
Matlab提供了大量对控制系统的时域特征进行分析的函数,适用于用传递函数表示的模型。其中常用的函数列入表1,供学生参考。
表1 常用时域分析函数 函数 step impulse covar initial lsim dstep 说 明 连续系统的阶跃响应 连续系统的脉冲响应 连续系统对白噪声的方差响应 连续系统的零输入响应 连续系统对任意输入的响应 离散系统的阶跃响应 . . . .
. . . .
dimpulse dcovar dinitial dlsim filter 例1.已知闭环系统的传递函数 离散系统的脉冲响应 离散系统对白噪声的方差响应 离散系统的零输入响应 离散系统对任意输入的响应 数字滤波器 1.5z2?0.5z
H(z)?试绘出其单位阶跃响应及单位斜波输入响应。
解:为求其单位阶跃响应及单位斜波输入响应,编制程序如下: num=[1.5];
den=[1 0.5 0];sysd=tf(num,den,0.1) [y,t,x]=step(sysd); subplot(1,2,1) plot(t,y);
xlabel('Time-Sec'); ylabel('y(t)');
gtext('单位阶跃响应') grid;
u=0:0.1:1; subplot(1,2,2)
[y1,x]=dlsim(num,den,u); plot(u,y1)
xlabel('Time-Sec'); ylabel('y(t)');
gtext('单位速度响应') grid
二、 实验容
1、MATLAB在离散系统的分析应用
对于下图所示的计算机控制系统结构图1,已知系统采样周期为T=0.1s,被
. . . .
. . . .
控对象的传递函数为G(s)?2z?0.36,数字控制器D(z)?,试
s(0.1s?1)(0.05s?1)z?0.98求该系统的闭环脉冲传递函数和单位阶跃响应。
图1 计算机控制系统结构图
实验步骤:
1).求解开环脉冲传递函数,运用下面的matlab语句实现: >> T=0.1;
>> sys=tf([2],[0.005 0.15 1 0]); %将传函分母展开 >> sys1=c2d(sys,T,'zoh'); >> sys2=tf([1 -0.36],[1 0.98],0.1); >> sys3=series(sys2,sys1)
执行语句后,屏幕上显示系统的开环脉冲传递函数为: sys3 =
0.03362 z^3 + 0.05605 z^2 - 0.01699 z - 0.002717 --------------------------------------------------
z^4 - 0.5232 z^3 - 0.9201 z^2 + 0.4922 z - 0.04879
Sample time: 0.1 seconds
. . . .