实验二 离散控制系统分析方法
一、实验目的
利用MATLAB对各种离散控制系统进行时域分析。
二、实验指导
1.控制系统的稳定性分析
由前面章节学习的内容可知,对线性系统而言,如果一个连续系统的所有极点都位于s平面的左半平面,则该系统是一个稳定系统。对离散系统而言,如果一个系统的全部极点都位于z平面的单位圆内部,则该系统是一个稳定系统。一个连续的稳定系统,如果所有的零点都位于s平面的左半平面,即所有零点的实部小于零,则该系统是一个最小相位系统。一个离散的稳定系统,如果所有零点都位于z平面的单位圆内,则称该系统是一个最小相位系统。由于Matlab提供了函数可以直接求出控制系统的零极点,所以使用Matlab判断一个系统是否为最小相位系统的工作就变得十分简单。
2.控制系统的时域分析
时域分析是直接在时间域对系统进行分析。它是在一定输入作用下,求得输出量的时域表达式,从而分析系统的稳定性、动态性能和稳态误差。这是一种既直观又准确的方法。
Matlab提供了大量对控制系统的时域特征进行分析的函数,适用于用传递函数表示的模型。其中常用的函数列入表1,供学生参考。
表1 常用时域分析函数 函数 说 明 step 连续系统的阶跃响应 impulse 连续系统的脉冲响应 covar 连续系统对白噪声的方差响应 initial 连续系统的零输入响应 lsim 连续系统对任意输入的响应 dstep 离散系统的阶跃响应 dimpulse 离散系统的脉冲响应 dcovar 离散系统对白噪声的方差响应 dinitial 离散系统的零输入响应 dlsim 离散系统对任意输入的响应 filter 数字滤波器 例1.已知闭环系统的传递函数 H(z)?1.5z2?0.5z
试绘出其单位阶跃响应及单位斜波输入响应。
解:为求其单位阶跃响应及单位斜波输入响应,编制程序如下: 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
2).求其闭环脉冲传递函数,可以输入下列matlab语句来实现: >> sys4=tf([1]);
>> sys5=feedback(sys3,sys4,-1)
执行语句后,会显示系统的开环脉冲传递函数为: sys5 =
0.03362 z^3 + 0.05605 z^2 - 0.01699 z - 0.002717 -------------------------------------------------- z^4 - 0.4896 z^3 - 0.8641 z^2 + 0.4752 z - 0.05151
Sample time: 0.1 seconds
3).最后可用下列命令绘制该离散系统的单位阶跃响应,其结果如图所示: >> step(sys5)
离散系统的单位阶跃响应曲线为:
4).还可以绘制该离散系统的单位脉冲响应,其结果如图所示: >> impulse(sys5)
精选文档