1、实验二 离散控制系统分析方法一、实验目的 利用MATLAB对各种离散控制系统进行时域分析。二、实验指导1控制系统的稳定性分析由前面章节学习的内容可知,对线性系统而言,如果一个连续系统的所有极点都位于s平面的左半平面,则该系统是一个稳定系统。对离散系统而言,如果一个系统的全部极点都位于z平面的单位圆内部,则该系统是一个稳定系统。一个连续的稳定系统,如果所有的零点都位于s平面的左半平面,即所有零点的实部小于零,则该系统是一个最小相位系统。一个离散的稳定系统,如果所有零点都位于z平面的单位圆内,则称该系统是一个最小相位系统。由于Matlab提供了函数可以直接求出控制系统的零极点,所以使用Matlab
2、判断一个系统是否为最小相位系统的工作就变得十分简单。2控制系统的时域分析时域分析是直接在时间域对系统进行分析。它是在一定输入作用下,求得输出量的时域表达式,从而分析系统的稳定性、动态性能和稳态误差。这是一种既直观又准确的方法。Matlab提供了大量对控制系统的时域特征进行分析的函数,适用于用传递函数表示的模型。其中常用的函数列入表1,供学生参考。表1 常用时域分析函数函数说 明step连续系统的阶跃响应impulse连续系统的脉冲响应covar连续系统对白噪声的方差响应initial连续系统的零输入响应lsim连续系统对任意输入的响应dstep离散系统的阶跃响应dimpulse离散系统的脉冲响
3、应dcovar离散系统对白噪声的方差响应dinitial离散系统的零输入响应dlsim离散系统对任意输入的响应filter数字滤波器例1已知闭环系统的传递函数试绘出其单位阶跃响应及单位斜波输入响应。解:为求其单位阶跃响应及单位斜波输入响应,编制程序如下: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)
4、;plot(u,y1)xlabel(Time-Sec);ylabel(y(t);gtext(单位速度响应)grid二、 实验内容1、MATLAB在离散系统的分析应用对于下图所示的计算机控制系统结构图1,已知系统采样周期为T=0.1s,被控对象的传递函数为,数字控制器,试求该系统的闭环脉冲传递函数和单位阶跃响应。 图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); sy
5、s3=series(sys2,sys1)执行语句后,屏幕上显示系统的开环脉冲传递函数为:sys3 = 0.03362 z3 + 0.05605 z2 - 0.01699 z - 0.002717 - z4 - 0.5232 z3 - 0.9201 z2 + 0.4922 z - 0.04879 Sample time: 0.1 seconds2).求其闭环脉冲传递函数,可以输入下列matlab语句来实现: sys4=tf(1); sys5=feedback(sys3,sys4,-1)执行语句后,会显示系统的开环脉冲传递函数为:sys5 = 0.03362 z3 + 0.05605 z2 - 0
6、.01699 z - 0.002717 - z4 - 0.4896 z3 - 0.8641 z2 + 0.4752 z - 0.05151 Sample time: 0.1 seconds3).最后可用下列命令绘制该离散系统的单位阶跃响应,其结果如图所示: step(sys5)离散系统的单位阶跃响应曲线为:4).还可以绘制该离散系统的单位脉冲响应,其结果如图所示: impulse(sys5)实验结果:2、 SIMULINK在离散系统的分析应用所给的离散系统的Simulink仿真模型如图2所示,在建立的仿真模型中,设置数字控制器和零阶保持器的采样时间为0.1s。运行仿真模型就可以获得系统的单位阶跃响应,该离散系统的单位阶跃响应曲线,如图3。图2 系统的单位阶跃响应Simulink仿真模型图3 离散系统的单位阶跃响应曲线图4 系统的单位脉冲响应Simulink仿真模型设置脉冲输入参数如下:图5 离散系统的单位脉冲响应曲线实验结果:问题分析:在实验的过程中,由于对matlab软件熟练度不足和对软件某些认识上的不足,使得程序在运行过程中出现了许多差错,而对专业知识理解的不到位,使得软件实践和理论知识之间产生了隔阂。最后在老师和同学的帮助下,最终完成了实验,得到了满意的结果和正确的答案。希望自己将来在matlab的学习与应用中取得进步,感谢老师的教导和帮助!