预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

控制工程学院课程实验报告:现代控制理论课程实验报告实验题目:状态反馈控制系统的设计与实现班级自动化(工控)姓名曾晓波学号2009021178日期2013—1-6实验目的及内容实验目的:(1)掌握极点配置定理及状态反馈控制系统的设计方法;(2)比较输出反馈与状态反馈的优缺点;(3)训练Matlab程序设计能力。实验内容:(1)针对一个二阶系统,分别设计输出反馈和状态反馈控制器;(2)分别测出两种情况下系统的阶跃响应;(3)对实验结果进行对比分析。实验设备装有MATLAB的PC机一台实验原理一个控制系统的性能是否满足要求,要通过解的特征来评价,也就是说当传递函数是有理函数时,它的全部信息几乎都集中表现为它的极点、零点及传递函数。因此若被控系统完全能控,则可以通过状态反馈任意配置极点,使被控系统达到期望的时域性能指标。闭环系统性能与闭环极点(特征值)密切相关,在状态空间的分析和综合中,除了利用输出反馈以外,主要利用状态反馈来配置极点,它能提供更多的校正信息.利用状态反馈任意配置闭环极点的充要条件是:受控系统可控。设SIMO(SingleInput—MultiOutput)受控系统的动态方程为状态向量通过状态反馈矩阵,负反馈至系统参考输入,于是有这样便构成了状态反馈系统,其结构图如图1—1所示图1-1SIMO状态反馈系统结构图状态反馈系统动态方程为闭环系统特征多项式为(1—2)设闭环系统的期望极点为,,…,,则系统的期望特征多项式为(1-3)欲使闭环系统的极点取期望值,只需令式(1-2)和式(1—3)相等,即(1—4)利用式(1—4)左右两边对应的同次项系数相等,可以求出状态反馈矩阵对线性定常连续系统å(A,B,C),若取系统的输出变量来构成反馈,则所得到的闭环控制系统称为输出反馈控制系统。输出反馈控制系统的结构图如图所示。开环系统状态空间模型和输出反馈律分别为H为r*m维的实矩阵,称为输出反馈矩阵.则可得如下输出反馈闭环控制系统的状态空间模型:输出反馈闭环系统可简记为H(A-BHC,B,C),其传递函数阵为:GH(s)=C(sI—A+BHC)-1B实验步骤实验通过MATLAB软件实现。双击MATLAB图标或单击开始菜单,依次指向“程序”、“MATLAB”,单击MATLAB,进入MATLAB命令窗口.单击MATLAB工具条上的Simulink图标,运行后出现Simulink模块库浏览器,并单击其工具条左边的图标,弹出新建模型窗口。2.在模块库浏览器窗口中的Simulink下的输入源模块(Sources)、数学运算模块(Math)、连续系统模块(Continuous)、接收模块(Sinks)库中,分别选择阶跃信号(Step)、求和(Sum)、常量增益(Gain)、积分环节(Integrator)、示波器(Scope)模块,建立如图1—2所示的实验被控系统为Ⅰ型二阶闭环系统结构图。图1—2MATLAB系统结构图3.用鼠标左键双击阶跃信号和各比例环节的模型,设置好参数;选择Simulation菜单中parameters选项,设置好仿真参数;选择Simulation菜单中的start选项,开始仿真;观察并记录下系统的输出.4.通过状态反馈,将控制系统的闭环极点设置为p1=—1+j、p2=—1—j,重复3步骤。此时K=[—8—3]5.通过输出反馈,将控制系统的闭环极点设置为p1=-1+j、p2=-1—j,重复3步骤。此时H=[—0。3000-0.3000]6。由得出的结果,画出结构图,仿真出阶跃响应图。附录程序:主函数%%本程序用于求解形如Y(s)/U(s)=num/den闭环传递函数%%%%极点配置问题,包括状态反馈阵<K〉和输出反馈阵<H>%%%%如:Y(s)/U(s)=10/s^2+5s+20clc%清屏num=[10];%闭环传递函数分子多项式den=[1520];%闭环传递函数分母多项式P=[—1+j-1-j];%希望配置的闭环极点[A,B,C,D]=tf2ss(num,den);%求状态空间表达式[strK]=pdctrb(A,B,P)%求状态反馈阵<K>[strH]=pdobsv(A,C,P)%求输出反馈阵<H〉功能函数%%程序功能:系统可控性判断以及求解状态反馈阵%%输入量:系数矩阵A%%输入矩阵B%%配置极点P%%输出量:可控性判断结果%%状态反馈矩阵K%%---—-—------———-———---—---————--——---%%function[strK]=pdctrb(A,B,P)%定义函数pdctrbS=ctrb(A,B);%求可控性判别矩阵SR=rank(S);%求可控性判别矩阵S的秩L=length(A);%求系数矩阵A的维数ifR==L%判断rank(S)是否等于A的维数str='系统是状态完全可控的!';%