您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 计算机仿真技术及CAD基于MATLAB工具箱的控制系统分析与设计
1本章内容(1)LTI对象的三种表示方法及其相互转换;(2)采用多个分离变量进行描述的系统模型与LTI对象模型之间的相互转换;(3)线性时不变系统观测器(LTIViewer)的使用方法及其在线性和非线性系统分析中的应用;(4)单变量线性系统设计器(SISODesignTool)的使用方法及其在线性系统分析和设计中的应用;(5)利用Simulink的SignalConstraint模块(或NCDOutport模块)对系统输出信号具有约束的作用,实现对具有不确定参数的非线性系统进行控制器的优化设计。第9章基于MATLAB工具箱的控制系统分析与设计29.1控制系统工具箱的简介系统建模系统分析系统设计31系统建模能够建立系统的状态空间、传递函数、零极点增益模型,并可实现任意两者之间的转换:可通过串联、并联、反馈连接及更一般的框图建模来建立系统的模型:可通过多种方式实现连续时间系统的离散化,离散时间系统的连续化及重采样。42系统分析控制系统工具箱不仅支持对SISO系统的分析,也可对MIMO系统进行分析。对系统的时域响应,可支持系统的单位阶跃响应、单位脉冲响应、零输入响应以及更广泛的对任意信号进行仿真;对系统的频率响应,可支持系统的Bode图、Nichols图和Nyquist图进行计算和绘制。另外,在控制系统工具箱中,提供一个可视化的LTI观测器(LTIViewer),它大大方便了用户对系统的各种绘制和分析。53系统设计控制系统工具箱可以进行各种系统的补偿设计,如LQG线性二次型设计、线性系统的根轨迹设计和频率法设计、线性系统的极点配置,以及线性系统观测器设计等。在控制系统工具箱中,也提供了一个功能非常强大的单输入单输出线性系统设计器(SISODesignTool),它为用户设计单输入单输出线性控制系统提供了非常友好的图形界面。69.2线性时不变系统的对象模型为了避免对一个系统采用多个分离变量进行描述,在新版本的控制系统工具箱中,将线性时不变系统的各种描述,都封装成了一个模型,这里称为LTI对象。7LTI对象有如下的三种方式:tf对象:封装了由传递函数模型描述的线性时不变系统的所有数据。zpk对象:封装了由零极点模型描述的线性时不变系统的所有数据。ss对象:封装了由状态空间模型描述的线性时不变系统的所有数据。81.LTI系统tf对象的建立sys=tf(num,den)生成连续系统的LTI传递函数模型sys=tf(num,den,TS)生成离散系统的LTI传递函数模型92.LTI系统zpk对象的建立sys=zpk(z,p,k)生成连续系统的LTI零极点模型sys=zpk(z,p,k,TS)生成离散系统的LTI零极点模型10sys=ss(A,B,C,D)生成连续系统的LTI传递函数模型sys=ss(A,B,C,D,Ts)生成离散系统的LTI传递函数模型3.LTI系统ss对象的建立114.获取传递函数模型数据MATLAB函数tfdata()的调用格式为[num,den]=tfdata(sys)[num,den]=tfdata(sys,’v’)[num,den,Ts,Td]=tfdata(sys)125.获取零极点模型数据MATLAB函数zpkdata()的调用格式为[z,p,k]=zpkdata(sys)[z,p,k]=zpkdata(sys,’v’)[z,p,k,Ts,Td]=zpkdata(sys)13MATLAB函数ssdata()的调用格式为[A,B,C,D]=ssdata(sys)[A,B,C,D,Ts,Td]=ssdata(sys)6.获取标准状态空间模型数据149.3线性时不变系统浏览器LTIViewer在使用线性时不变系统浏览器LTIViewer对系统进行分析时首先要把系统模型转换成LTI对象(线性时不变系统对象)的三种形式(ss对象、tf对象和zpk对象)之一,因LTI对象是控制系统工具箱中最为基本的数据类型。151.启动LTI浏览器在MATLAB命令窗口中,可以用以下两种方法启动LTIViewer:(1)在MATLAB的命令窗口中直接键入ltiview命令;(2)在MATLAB窗口的左下角“Start”菜单中,单击“ToolboxsControlsystem”命令子菜单中的“LTIViewer”选项。在第一种方式启动下,系统给出了单位阶跃响应曲线的显示窗口,此时由于尚未输入系统模型,故无响应曲线显示,如图9-1(a)所示。在第二种方式启动下,它采用了默认系统模型,且同时显示系统的单位阶跃响应曲线(Step)和单位脉冲响应(Impulse)曲线,如图9-1(b)所示。16图9-1172.输入系统模型在启动LTIViewer之后,需要利用LTIViewer窗口中File菜单下的Import命令,输入用户所要进行分析的线性系统的LTI模型。该线性系统的LTI模型可来自MATLAB工作空间或磁盘文件中。但如果对象模型来源为Simulink系统模型框图,则必须对此进行线件化处理以获得系统的LTI对象描述。这是因为在LTIViewer中所分析的线性系统的所有对象必为LTI对象(ss对象、tf对象和zpk对象)。18例9-8绘制例6-15中非线性系统进行线性化处理后所得线性化状态空间模型的单位阶跃响应曲线。解(1)首先根据以上线性化状态空间模型的系数矩阵(A,b,c,d)的值,在MATLAB窗口中利用以下命令获得该系统的ss对象ex9_8的描述。A=-0.199;b=0.001;c=1;d=0;ex9_8=ss(A,b,c,d);xyuxx001.0199.019(2)然后按第一种方式启动LTIViewer,并利用LTIViewer窗口中的菜单FileImport命令,打开如图9-2所示的系统模型输入对话框。20(3)最后在图9-2所示的对话框中,选中所要进行分析的线性系统的LTI模型ex9_8,单击【OK】按钮,便可以完成线性系统的模型输入。此时便可得到如图9-3所示的单位阶跃响应曲线。213.绘制系统的不同响应曲线在已有系统响应曲线的LTIViewer窗口中,利用单击鼠标右键,选择如图9-4所示的弹出菜单PoltType选项下的子菜单,可以来改变此窗口中系统响应曲线的类型。图9-422由图9-4所示的菜单可知,使用LTIViewer,除可以绘制系统的单位阶跃响应曲线(Step)外,还可以绘制系统的单位脉冲响应曲线(Impulse)、波特图(Bode)、零输入响应(InitialCondition)、波特图幅值图(BodeMagnitude)、奈奎斯特图(Nyquist)、尼科尔斯图(Nichols)、奇异值分析(SingularValue)以及零极点图(Pole/Zero)等。234改变系统响应曲线绘制布局图9-5响应曲线布局设置2425使用LTIViewer不仅可以方便地绘制系统的各种响应曲线,还可以从系统响应曲线中获得系统响应信息,从而使用户可以对系统性能进行快速的分析。首先,通过单击系统响应曲线上任意一点,可以获得动态系统在此时刻的所有信息,包括运行系统的名称、系统的输入输出以及其他与此响应类型相匹配的系统性能参数。例如,对于系统的单位脉冲响应,单击响应曲线中的任意一点,可以获得系统响应曲线上此点所对应的系统运行时间(Time)、幅值(Amplitude)等信息,如图9-7所示。5.系统时域与频域性能分析26图9-7276.LTIViewer图形界面的高级控制对LTIViewer图形窗口的控制有两种方式。(1)对整个浏览器窗口LTIViewer进行控制:单击LTIViewer窗口的Edit菜单下的ViewerPreferences命令对浏览器进行设置(此设置的作用范围为LTIViewer窗口以及所向系统响应曲线绘制区域),如图9-8所示。28图9-829(2)对某一系统响应曲线绘制窗口进行操作:在系统响应曲线绘制窗口中单击鼠标右键,选择弹出菜单中的Propertise对指定响应曲线的显示进行设置,如图9-9所示。Propertise对话框中共有5个选项卡:30图9-9317.使用LTIViewer进行非线性系统的线性分析除了使用第6章的命令行方式对非线性系统进行线性化处理分析之外,还可以利用Simulink系统模型窗口中的菜单命令ToolsControlDesignLinearAnalysis,对非线性系统进行线性分析。在利用Simulink对系统进行线性分析时,会同时调出线性时不变系统浏览器LTIViewer。LTIViewer图形界面可以使用户对非线性系统的性能有一个非常直观的认识与理解。用户可以从相应的系统输出图形中来定性判断系统输出是否满足设计要求。328.线性化模型的输出使用LTIViewer对非线性系统进行分析之后。用户可以使用LTIViewer窗口中File菜单下的Export命令将此线性化线性模型输出到MATLAB工作空间或磁盘文件(*.mat文件,即MATLAB数据文件),此时输出的线性化模型为LTI对象。339.4单变量系统设计工具SISODesignTool单输入单输出系统设计工具(SISODesignTool)是控制系统工具箱所提供的一个非常强大的单输入单输出线性系统设计器,它为用户设计单输入单输出线性控制系统提供了非常友好的图形界面。在SISO设计器中,用户可以同时使用根轨迹图与波特图,通过修改线性系统相关环节的零点、极点以及增益等进行SISO线性系统设计。34由于在MATLAB7.x版和MATLAB6.x版中,单输入单输出系统设计工具(SISODesignTool)的功能设置和使用方法是有区别的,为了便于教学和使用,下面将按两种版本分别进行讨论,读者可根据自己的需要选择阅读。359.4.1MATLAB7.5版的SISODesignTool1.启动SISO设计器在MATLAB命令窗口中,可以用以下两种方法启动SISODesignTool:(1)在MATLAB的命令窗口中直接键入sisotool或rltool命令;(2)在MATLAB窗口的左下角“Start”菜单中,单击“ToolboxsControlsystem”命令子菜单中的“SISODesignTool”选项。在以上两种方式启动下,便可打开如图9-10所示的SISODesignforSISODesignTask窗口和如图9-11所示的ControlandEstimationToolsManager窗口。36图9-10SISODesignforSISODesignTask37图9-11ControlandEstimationToolsManager382.控制系统结构图利用图9-11窗口的系统结构图(Architeture)页面中的ControlArchiteture选项,可以改变系统的结构、标号和反馈极性等,如图9-12所示。图9-12系统结构图设置窗口由图9-12可见,在窗口左半的SelectControlArchiteture选择框中,系统为用户提供了6种结构的形式供选择。通过选择该窗口右下角的设置,可以方便改变系统的反馈极性。393.输入系统模型当选定系统的结构后,需要为所设计的线性系统输入模型数据。利用SISODesignforSISODesignTask窗口中File菜单下的Import命令,将打开如图9-13所示的输入系统数据(SystemData)窗口。图9-1340在图9-13窗口的SystemModel对话框中显示了当前系统的四个环节(控制对象G、传感器H、控制器C和预滤波器F)及参数值(均为1)。系统各环节的参数值,用户可利用两种方法灵活改变。一是首先用鼠标双击相关环节Data框中的当前值,然后利用键盘直接输入环节模型参数即可;二是首先选定相关环节,然后利用该窗口中的【Browse】按钮便可打开一个如图9-14所示的模型输入(ModelI
本文标题:计算机仿真技术及CAD基于MATLAB工具箱的控制系统分析与设计
链接地址:https://www.777doc.com/doc-3176804 .html