欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    第5章MATLAB在自动控制原理的应用.ppt

    • 资源ID:2566797       资源大小:545.51KB        全文页数:30页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第5章MATLAB在自动控制原理的应用.ppt

    第5章 MATLAB在自动控制原理的应用,5.1 控制系统模型 5.2 控制系统的时域分析 5.3 控制系统的根轨迹 5.4 控制系统的频域分析 5.5 系统的状态空间分析函数 5.6 极点配置和观测器设置 5.7 最优控制系统设计,5.1 控制系统模型,5.1.1 控制系统的描述与LTI对象 1控制系统的模型及转换 线性控制系统是一般线性系统的子系统。在MATLAB中,对自动控制系统的描述采用三种模型:状态空间模型(ss)、传递函数模型(tf)以及零极点增益模型(zpk)。模型转换函数:ss2tf,ss2zp,tf2ss,tf2zp,zp2ss和zp2tf。,2LTI对象 为了对系统的调用和计算带来方便。根据软件工程中面向对象的思想,MATLAB通过建立专用的数据结构类型,把线性时不变系统(LTI)的各种模型封装成为统一的LTI对象。 MATLAB控制系统工具箱中规定的LTI对象包含了三种子对象:ss对象、tf对象和zpk对象。每个对象都具有其属性和方法,通过对象方法可以存取或者设置对象的属性值。,在MATLAB的Control System Toolbox(控制系统工具箱)中提供了许多仿真函数与模块,用于对控制系统的仿真和分析。,属性说明:(1)当系统为离散系统时,给出了系统的采样周期Ts。Ts0或缺省时表示系统为连续时间系统;Ts=-1表示系统是离散系统,但它的采样周期未定。 (2) 输入时延Td仅对连续时间系统有效,其值为由每个输入通道的输入时延组成的时延数组,缺省表示无输入时延。 (3)输入变量名InputName和输出变量名OutputName允许用户定义系统输入输出的名称,其值为一字符串单元数组,分别与输入输出有相同的维数,可缺省。 (4)Notes和用户数据Userdata用以存储模型的其它信息,常用于给出描述模型的文本信息,也可以包含用户需要的任意其它数据,可缺省。,5.1.2 LTI模型的建立及转换函数,在MATLAB的控制系统工具箱中,各种LTI对象模型的生成和模型间的转换都可以 通过一个相应函数来实现。,表5.3 生成LTI模型的函数,例5-4 生成离散系统的零极点模型。MATLAB源程序为: z= ,-0.5; p=0.3,0.1+2i,0.2-2i; k=2,3; s6=zpk(z,p,k,-1) 运行结果为:,Zero/pole/gain from input 1 to output: 从第1输入端口至输出的零极点增益 2 - (z-0.3) Zero/pole/gain from input 2 to output: 从第2输入端口至输出的零极点增益 3 (z+0.5) - (z-(0.1+2i) (z-(0.2-2i) Sampling time: unspecified 表明该系统为双输入单输出的离散系统。,5.1.3 LTI对象属性的设置与转换,1LTI对象属性的获取与设置,表5.4 对象属性的获取和修改函数,2LTI模型的转换函数,表5.5 模型检测函数,5.1.4 典型系统的生成,1随机生成N阶稳定的连续状态空间模型函数rss( ) 格式:sys = rss(N,P,M) 功能:随机生成N阶稳定的连续状态空间模型,该系统具有M个输入,P个输出。缺省是P=M=1,即sys=rss(N)。,2. 随机生成N阶稳定的连续线性模型系数函数rmodel( ) 格式:num,den=rmodel(N,P) 功能:生成一个N阶连续的传递函数模型系统,该系统具有P个输出。,3离散时间N阶稳定随机系统生成函数drss( )和drmodel( ) drss和drmodel函数的用法与rss和rmodel函数的用法相仿,不同点仅仅在于它生成的是离散系统。,4二阶系统生成函数ord2 格式:A,B,C,D = ord2(Wn, Z) 功能:生成固有频率为Wn,阻尼系数为Z的连续二阶的状态空间模型系统。,5系统时间延迟的Pade近似函数pade( ) 格式:sysx = pade(sys,N) 功能:对连续系统sys产生N阶Pade近似的延时后,生成新的系统sysx。,5.1.5 LTI模型的简单组合与复杂模型组合,1LTI模型的简单组合 (1)若假定两环节均为单输入单输出的系统SA和SB。 ·两个环节级联:sysseries(SA,SB) ·两个环节并联:sys=parallel(SA,SB) ·A环节前向,B环节反馈:S=feedback(SA,SB) (2)当在多输入多输出系统中,必须增加输入变量和输出变量的编号: ·级联:sys=series(SA,SB,outputA, inputB) ·并联:sys=parallel(SA,SB,InputA,InputB,OutputA,OutputB) ·反馈: sys=feedback(SA,SB,feedout,feedin,sign),例5-14 计算图5.1所示的系统的传递函数。MATLAB源程序为: s1=tf(2,5,1,1,2,3) %系统s1的传递函数模型 s2=zpk(-2,-10,5) %系统s2的零极点增益模型 sys=feedback(s1,s2) % s1环节前向,s2环节反馈5(s+2)/(s+10) 程序运行结果为: Transfer function: 系统s1的传递函数模型 2 s2 + 5 s + 1 - s2 + 2 s + 3 Zero/pole/gain: 系统s2的零极点增益模型 5 (s+2) - (s+10) Zero/pole/gain: 系统s1、s2的反馈零极点增益模型 0.18182 (s+10) (s+2.281) (s+0.2192) - (s+3.419) (s2 + 1.763s + 1.064),2LTI模型的复杂模型组合,对复杂系统的任意组合,在MATLAB中,则采用集成的软件包,让机器自动去完成复杂的组合,人们只要输入各环节的LTI模型和相应的联接矩阵与输入矩阵,指定输出变量,软件包会自动判别输入的模型表述方式,作出相应的运算并最后给出组合后系统的状态方程。在求解过程中,主要涉及append( )函数和connect( )函数。,通常,由以下五个步骤来完成: 对方框图中的各个环节进行编号,建立它们的对象模型。 利用append函数命令建立无连接的状态空间模型。 sap=append(s1,s2,sm) 按规定写出系统的互联接矩阵q 互联矩阵q中的每一行由组合系统的一个输入编号和构成该输入的其它输出编号组成,其中该行的第一个元素为该输入的编号,接下来的元素则由构成该输入的其它子框的输出编号组成,如果为负反馈,则编号应取负号。 选择组合系统中需保留的对外的输入和输出端的编号并列出。 Inputs=i1,i2, outputs=j1, j2, 用connect命令生成组合后的系统。,5.1.6 连续系统与采样系统之间的转换,若连续系统的状态方程为:,则对应的采样系统状态方程为:,其中,,Ts为采样周期。,、,、,、,反之,采样系统到连续系统的转换关系为上式的逆过程:,、,、,、,1. 转换原理,2. 连续系统与采样系统之间的转换函数,例5-17 系统的传递函数为: 输入延时Td=0.35秒,试用一阶保持法对连续系统进行离散,采样周期Ts=0.1s。 MATLAB程序为: sys=tf(2,5,1,1,2,3,'td',0.5); %生成连续系统的传递函数模型 sysd=c2d(sys,0.1,'foh') %形成采样系统 程序运行结果为: Transfer function: 2.036 z2 - 3.628 z + 1.584 z(-5) * - z2 - 1.792 z + 0.8187 Sampling time: 0.1,5.2 控制系统的时域分析,时域分析是一种直接在时间域中对系统进行分析的方法,具有直观和准确的优点。它是根据控制系统输入与输出之间的时域表达式,分析系统的稳定性、瞬态过程和稳态误差。控制系统最常用的分析方法有两种:一是当输入信号为单位阶跃时,求出系统的响应;二是当输入信号为单位冲激函数时,求出系统的响应。,1. 生成特定的激励信号的函数gensig( ) 格式:u,t = gensig(type,tau) 功能:按指定的类型type和周期tau生成特定类型的激励信号u。其中变元type可取字符为:sin(正弦)、square(方波)、pulse(脉冲)。,2LTI模型的单位冲激响应函数impulse( ) 格式:impulse(sys) 功能:绘制系统sys(sys由函数tf、zpk或ss产生)的单位冲激响应,结果不返回数据, 只返回图形。,例5-19 系统传递函数为: 求脉冲响应。MATLAB程序如下: sys=tf(4,1 1 4); %生成传递函数模型 impulse(sys); %计算并绘制系统的单位冲激响应 title('脉冲响应'); 该程序运行所得结果如图5.5所示。,图5.5系统的脉冲响应,3. 状态空间模型系统的零输入响应函数initial( ) 格式:initial(sys,x0) 功能:绘制状态空间模型sys在初始条件x0下的零输入响应,不返回数据,只绘出 响应曲线。该响应由如下方程表征:,连续时间:,离散时间:,、,、,、,、,4LTI模型任意输入的响应函数lsim( ) 格式:lsim(sys,u,T) 功能:计算和绘制LTI模型sys在任意输入u、持续时间T的作用下的输出y,不返回数据,只返回图形。T为时间数组,它的步长必须与采样周期Ts相同。当u为矩阵时,它的列作为输入,且与T(i)行的时间向量相对应。例如t = 0:0.01:5; u = sin(t); lsim(sys,u,t)完成系统sys对输入u(t)=sin(t)在5秒内的响应仿真。,5LTI模型的阶跃响应函数step( ) 格式:step(sys) 功能:绘制系统sys(sys由函数tf、zpk或ss产生)的阶跃响应,结果不返回数据,只 返回图形。对多输入多输出模型,将自动求每一输入的阶跃响应。,例5-21 求系统: 的方波响应,其中方波周期为6秒,持续时间12秒,采样周期为0.1秒。 MATLAB程序为: u,t=gensig('square',6,12,0.1); %生成方波信号 plot(t,u,'-');hold on; %绘制激励信号 sys=tf(1,1,1,2,5); %生成传递函数模型 lsim(sys,u,t,'k'); %系统对方波激励信号的响应 该程序运行所得结果如图5.7所示。,图5.7 方波响应曲线,5.3 控制系统的根轨迹,在控制系统分析中,为了避开直接求解高阶多项式的根时遇到的困难,在实践中提出了一种图解求根法,即根轨迹法。所谓根轨迹是指当系统的某一个(或几个)参数从到时,闭环特征方程的根在复平面上描绘的一些曲线。应用这些曲线,可以根据某个参数确定相应的特征根。在根轨迹法中,一般取系统的开环放大倍数K作为可变参数,利用它来反映出开环系统零极点与闭环系统极点(特征根)之间的关系。 根轨迹可以分析系统参数和结构已定的系统的时域响应特性,以及参数变化对时域响应特性的影响,而且还可以根据对时域响应特性的要求确定可变参数及调整开环系统零极点的位置,并改变它们的个数,也就是说根轨迹法可用于解决线性系统的分析与综合问题。 MATLAB提供了专门绘制根轨迹的函数命令,如下表所示,使绘制根轨迹变得轻松自如。,表 系统根轨迹绘制及零极点分析函数,例5-25 由连续系统: 试绘制其零极点图和根轨迹图。MATLAB程序为: num=2,5,1; den=1,2,3;sys=tf(num,den); %生成传递函数模型 figure(1); pzmap(sys);title(零极点图); %绘制零极点图 figure(2); rlocus(sys); sgrid; title(根轨迹); %绘制根轨迹图,图5.12 传递函数的零极点图和根轨迹图,5.4 控制系统的频域分析,频域分析法是应用频率特性研究控制系统的一种经典方法。采用这种方法可直观地表达出系统的频率特性,分析方法比较简单,物理概念比较明确,对于诸如防止结构谐振,抑制噪声、改善系统稳定性和暂态性能等问题,都可以从系统的频率特性上明确的看出其物理实质和解决途径。 频率分析法主要包括三种方法: Bode图(幅频/相频特性曲线) Nyquist曲线 Nichols图。,例5-29 试绘制开环系统H(s)的Nyquist曲线,判断闭环系统的稳定性,并求出闭环系统的单位冲激响应。其中 MATLAB程序为: k=50;z=;p=-5,2; sys=zpk(z,p,k); figure(1);nyquist(sys);title('Nyquist曲线图'); figure(2);sb=feedback(sys,1); impulse(sb);title('单位冲激响应');,图5.18 开环系统的Nyquist曲线图及冲激响应,5.5 系统的状态空间分析函数,在自动控制系统分析中,状态空间分析是一种较复杂的分析方法。这是因为它用 矩阵进行运算和求解;其二,它的非唯一性,即对同一个系统,通过相似变换,可以 有无数种A,B,C,D组合来描述。,5.5.1 系统可观性与可控性判别函数 1可控性矩阵函数ctrb 格式:Co=ctrb(sys) 或 Co=ctrb(A,B) 功能:求得系统的可控性矩阵Co,若矩阵Co的秩等于系统的阶次,即rank(Co)n, 则系统可控。 2可观控矩阵函数obsv( ) 格式:Ob=obsv(sys) 或 Ob=obsv(A,C) 功能:求得系统的可观控矩阵Ob,若矩阵Ob的秩rank(Ob)=n,则系统可观。 3Gramian矩阵函数gram( ) 格式:Wc=gram(sys,c) 功能:求可控Gramian矩阵Wc,它的满秩(rank(Wc)=n)与系统的可控等价。,5.5.2 系统相似变换函数,1通用相似变换函数ss2ss( ) 格式:syst=ss2ss(sys,T) 功能:通过非奇异变换矩阵T,把状态变量由x变成z=Tx,变换后的状态空间模型syst为:z=TAT-1z+TBu y=CT-1z+Du,2变为规范形式的函数canon( ) 格式:csys=canon(sys,type) 功能:用来把系统sys变为规范形csys。type用来选择规范的类型,有两种可选规范 形式:modal(约当矩阵形式)和companion(伴随矩阵形式)。 3系统分解为可控和不可控两部分的函数ctrbf( ) 格式:Abar, Bbar, Cbar, T, k=ctrbf(A, B, C) 功能:把系统分解为可控和不可控两部分。 4系统分解为可观和不可观两部分的函数obsvf( ) 格式:Abar, Bbar,Cbar,T,k=obsvf(A,B,C) 功能:把系统分解为可观和不可观两部分。,例5-33 设系统的状态空间方程为: 将其作可控性结构分解。MATLAB源程序如下: A=-2,2,-1;0,-2,0;1,4,3;B=0;0;1;C=1,-1,1;D=0; %系数矩阵赋值 s1=ss(A,B,C,D); %生成LTI模型 Abar,Bbar,Cbar,T,k=ctrbf(A,B,C) %可控性结构分解 rA=rank(A) %求状态方程系数矩阵的秩 rc=sum(k) %求判断可控矩阵的秩,5.6 极点配置和观测器设置,给定控制系统,通过设计反馈增益k使闭环系统具有期望的极点,从而达到适当的阻尼系数和无阻尼自然频率,这就是极点配置问题。但极点配置是基于状态反馈,即u=-kx ,因此状态x必须可测,当状态不可测时,则应设计状态观测器。设计的状态观测器也应具有适当的频率特性,因此也可指定其极点的位置,从而使状态观测器的设计转化为极点配置问题。,表5.7 极点配置和状态估计器,5.7 最优控制系统设计,对于线性时不变(LTI)系统:,线性二次型(LQ)最优控制器的任务是设计u(t) ,使线性二次型最优控制指标(代价函数):,最小。由于线性二次型的性能指标易于分析、计算、处理,可得到要求的代数结果,相角裕量的优点,因而在控制系统的各个领域内都得到了广泛地重视和应用。 然而,线性二次型调节器(LQR)控制的闭环系统的动态响应与加权系数矩阵Q和R之间存在着非常复杂的对应关系,这就给加权矩阵的选择带来许多困难,目前普遍采用的仿真试凑法无疑限制了LQR设计方法在工程上的推广应用。采用试凑法获得的最优控制是“人工”意义下的最优,而不是真正意义上的最优。实际上在这种情况下无法获得最优解,因而采用基于仿真的优化方法求取最满意解是解决这类问题的最佳途径。,表5.8 LQ和LQG最优控制函数,

    注意事项

    本文(第5章MATLAB在自动控制原理的应用.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开