状态空间与simulink仿真
Simulink建模与仿真(精华版)

3.2.2、仿真运行原理 、
Simulink仿真包括两个阶段;初始化阶段和模型执行阶段 仿真包括两个阶段; 仿真包括两个阶段 (1) 模块初始化 在初始化阶段主要完成以下工作: 在初始化阶段主要完成以下工作: 模型参数传给Matlab进行估值,得到的数值结果将作为模型 进行估值, ① 模型参数传给 进行估值 的实际参数; 的实际参数; 展开模型的各个层次, ② 展开模型的各个层次,每一个非条件执行的子系统被它所包 含的模块所代替; 含的模块所代替;
上 页
下 页
3
Simulink的特点 的特点: 的特点
(1)丰富的可扩充的预定义模块库 ; 丰富的可扩充的预定义模块库 (2)交互式的图形编辑器来组合和管理直观的模块图 ; 交互式的图形编辑器来组合和管理直观的模块图 (3)以设计功能的层次性来分割模型,实现对复杂设计的管理; 以设计功能的层次性来分割模型, 以设计功能的层次性来分割模型 实现对复杂设计的管理; (4)通过 通过Model Explorer 导航、创建、配置、搜索模型中的任 导航、创建、配置、 通过 意信号、参数、属性, 意信号、参数、属性,生成模型代码 ; (5)提供 提供API(Application Programming Interface,应用程序编程接口 应用程序编程接口) 提供 应用程序编程接口 用于与其他仿真程序的连接或与手写代码集成 ; (6)使用 使用Embedded MATLAB™ 模块在 模块在Simulink和嵌入式系统 使用 和嵌入式系统 执行中调用MATLAB算法 ; 执行中调用 算法 (7)使用定步长或变步长运行仿真,根据仿真模式 使用定步长或变步长运行仿真, 使用定步长或变步长运行仿真 根据仿真模式(Normal, Accelerator,Rapid Accelerator)来决定以解释性的方式运行 来决定以解释性的方式运行 或以编译C代码的形式来运行模型 或以编译 代码的形式来运行模型 ; (8)图形化的调试器和剖析器来检查仿真结果,诊断设计的性 图形化的调试器和剖析器来检查仿真结果, 图形化的调试器和剖析器来检查仿真结果 能和异常行为 ; (9)可访问 可访问MATLAB从而对结果进行分析与可视化,定制建模环境, 从而对结果进行分析与可视化, 可访问 从而对结果进行分析与可视化 定制建模环境, 定义信号参数和测试数据; 定义信号参数和测试数据; (10)模型分析和诊断工具来保证模型的一致性,确定模型中的错误。 模型分析和诊断工具来保证模型的一致性, 模型分析和诊断工具来保证模型的一致性 确定模型中的错误。
SIMULINK仿真

后面的每一列对应每一个输入端口,矩阵的第一行表示某 一时刻各输入端口的输入状态。另外,也可以把矩阵分开 来表示,即MATLAB默认的表示方法[t,u],其中t是一维 时间列向量,表示仿真时间,u是和t长度相等的n维列向 量(n表示输入端口的数量),表示状态值。例如,在命 令窗口中定义t和u:
条件执行子系统分为
1.使能子系统
使能子系统表示子系统在由控制信号控制时,控制信号由 负变正时子系统开始执行,直到控制信号再次变为负时结 束。控制信号可以是标量也可以是向量。
建立使能子系统的方法是:打开Simulink模块库中的Ports & Subsystems模块库,将Enable模块复制到子系统模型 中,则系统的图标发生了变化。
阵、结构和包含时间的结构3种选择。“Limit data points to last”用来限定保存到工作空间中 的数据的最大长度。 输出选项(Output options)有: ① Refine output(细化输出) ② Produce additional output(产生附加输出) ③ Produce specified output only(仅在指定 的时刻产生输出)
4.1 初识Simulink—— 一个简单的仿 真实例
在MATLAB的命令窗口输入Simulink,或单击MATLAB主 窗口工具栏上的“Simulink”命令按钮即可启动Simulink。 Simulink启动后会显示如图4.1所示的Simulink模块库浏览 器(Simulink Library Browser)窗口。
U (s)
Kp
Ki s
Kd s
simulink仿真说明

Simulink是Simulation和link仿真链接。
是一个附加组件,为用户提供了一个建模与仿真的工作平台,由于许多功能是基于MATLAB平台的。
必须在MATLAB环境中运行,也把他称为一个MATLAB的工具箱。
以前MATLAB仿真编程是在文本窗口中进行的。
输入函数是命令和MATLAB 函数,在simulink 中与用户的交互接口是基于windows的模型化图形输入,用户可以通过单击拖动鼠标的方式绘制和组织系统,并完成对系统的仿真。
因此对于我们来说只需知道这些功能模块的输入输出、功能以及图形界面的使用方法。
就可以用鼠标和键盘进行仿真。
三种方法进入Simulink1、在MATLAB菜单栏中单击FILE,在下拉菜单的NEW选项中单击MODEL.2、在MATLAB工具栏中单击彩色图标,然后在打开的模型库浏览器窗口中单击‘新建文件‘3、在MATLAB命令窗口中输入Simulink,然后在打开的模型库浏览器窗口中单击‘新建文件‘。
一、模块的提取左键拖曳右键add to二、模块的移动放大和缩小移动:左键拖曳选中后用方向键脱离线移动按住shift 然后拖曳缩放 : 点击模块四个角拖曳三、复制粘贴和删除和windows一样删除选择clear四、模块的旋转:右键点击然后选择Flip block 顺时针转180度 rotate block顺时针90度。
五、模块名的修改移动:单击该模块名出现一个小框可以像文本一样修改移动还可以右键单击然后Hide name六、模块参数设置:双击七、模块连接:光标的箭头对准模块的输出端变成+后按下左键拖曳到另一个输入端松开左键。
八、连线的弯折开始画线时,在需要弯折的地方松开鼠标停顿一下,然后继续按下鼠标左键改变方向即可。
移动光标指向要移动的线段,然后拖动鼠标即可删除选中要删除的部分,然后delete直流电动机的直接启动新建一个simulink 仿真平台打开simulink然后点击新建打开simpowersystems的加号在electrical source中选择D C Voltage Source拖曳到仿真平台Elements里面选BreakerConnectors 里面选择Ground output把电源正端接到断路器的1端,电源负端接地。
simulink仿真设置

一、算法设置1.变步长(Variable—Step)求解器可以选择的变步长求解器有:ode45,ode23,ode113,odel5s,ode23s和discret.缺省情况下,具有状态的系统用的是ode45;没有状态的系统用的是discrete。
1)ode45基于显式Runge—Kutta(4,5)公式,Dormand—Prince对.它是—个单步求解器(solver)。
也就是说它在计算y(tn)时,仅仅利用前一步的计算结果y(tn-1).对于大多数问题.在第一次仿真时、可用ode45试一下。
2)ode23是基于显式Runge—Kutta(2,3).Bogackt和Shampine对.对于宽误差容限和存在轻微刚性的系统、它比ode45更有效一些.ode23也是单步求解器。
3)odell3是变阶Adams-Bashforth—Moulton PECE求解器.在误差容限比较严时,它比ode45更有效.odell3是一个多步求解器,即为了计算当前的结果y(tn),不仅要知道前一步结果y(tn-1),还要知道前几步的结果y(tn-2),y(tn-3),…;4)odel5s是基于数值微分公式(NDFs)的变阶求解器.它与后向微分公式BDFs(也叫Gear 方法)有联系.但比它更有效.ode15s是一个多步求解器,如果认为一个问题是刚性的,或者在用ode45s时仿真失败或不够有效时,可以试试odel5s。
odel5s是基于一到五阶的NDF公式的求解器.尽管公式的阶数越高结果越精确,但稳定性会差一些.如果模型是刚性的,并且要求有比较好的稳定性,应将最大的阶数减小到2.选择odel5s求解器时,对话框中会显示这一参数.可以用ode23求解器代替。
del5s,ode23是定步长、低阶求解器。
5)ode23s是基于一个2阶改进的Rosenbrock公式.因为它是一个单步求解器,所以对于宽误差容限,它比odel5s更有效.对于一些用odel5s不是很有效的刚性问题,可以用它解决。
Simulink动态仿真仿真

Simulink动态仿真仿真Simulink简介:Simulink是MATLAB的重要组成部分,提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能。
1、启动方法:单击图标或在窗口输入simulink在启动Simulink模块库浏览器后再单击其工具栏中的New model 命令按钮,会弹出名字为untitled的模型编辑窗口。
在MATLAB主菜单中,选择File菜单中New菜单项的Model命令,也可打开模型编辑窗口。
利用模型编辑窗口,可以通过鼠标的拖放操作创建一个模型。
2、Simulink的退出为了退出Simulink,只要关闭所有模型编辑窗口和Simulink模块库浏览器窗口即可。
3、Simulink的基本模块4、掌握模块的编辑:添加,选取,复制删除。
5、掌握模块的连接举例:建立系统仿真x1=x2*tX2=x2*e(-0.5*t)操作步骤1) 在MATLAB主菜单中,选择File菜单中New菜单项的Model命令,打开一个模型编辑窗口。
(2) 将所需模块添加到模型中。
(3) 设置模块参数并连接各个模块组成仿真模型。
设置模块参数后,用连线将各个模块连接起来组成系统仿真模型。
模型建好后,从模型编辑窗口的File 菜单中选择Save 或Save as 命令将它存盘。
举例2:使用simlink 仿真下列曲线,取w=2*pix(wt)=sin(wt)+1/3*sin(3wt)+1/5*sin(5wt)+1/7*sin(7wt)+1/9*sin(9wt) 步骤:(1) 启动Simulink 并打开模型编辑窗口。
(2) 将所需模块添加到模型中。
(3) 设置模块参数并连接各个模块组成仿真模型。
设置模块参数后,用连线将各个模块连接起来组成仿真模型。
(4) 设置系统仿真参数。
(5) 开始系统仿真。
(6) 观察仿真结果。
作业:完成相关习题:1、使用simlink 仿真下列曲线,取w=2*pix(wt)=1/3*sin(5*wt)+ sin(wt)+sin(1/8*wt)2、使用simlink 仿真i=⎰+10)1ln(*dx x x。
simulink仿真

Neural Network Blockset:神经网络工具箱;
Simulink Extras:补充Simulink公共模块库; Stateflow:用来对复杂的事件驱动系统进行建模和仿真; Real-Time Workshop (简称RTW):可以直接将simulink模型框图和 Stateflow的状态图转换成高效优化的程序代码。
将其输入写入工作空间 X-Y示波器模块
16
5、 Sources(信号源模块组) 及其用途
18个基本模块,包 括模型及子系统输入 与信号发生器两种。 其子模块组的名称和 用途见表3-5。
17
表3-5 信号源模块组子模块的名称及用途
模 块 名 称
Chirp Signal Clock Constant Digital Clock From Workspace From File Ground In1 Pulse Generator
工具栏区:含4个按钮: 是新建与打开按钮, 是将模 块放在桌面最上层按钮,Find是用来查找模块库中的模块按
钮。
文字说明区:对所选模块的文字说明; 模块库区:含模块库及其相应的模块组; 状态栏区:即最下方显示Ready区,用来显示浏览器状态。
4
二、基本模块库的分类及其用途
SIMULINK 有13类基本模块库,分别为: Continuous(连续模块组)、 Discontinuities(非连续模块组)、 Discrete(离散模块组)、 Look-Utions(数学运算模块组)、 Model Verification(模型检验模块组)、
模
块
用
途
Band-Limited White Noise 带宽限幅白噪声模块
线性调频信号模块(频率随时间线性增加的 正弦信号),可用于非线性系统谱分析 在每一仿真步输出当前仿真时间(连续时间) 输出与时间无关的实数或复数 仅在指定的采样间隔内输出仿真时间,在 其它时间输出保持前一次值不变(离散时间) 从MATLAB工作空间中读取数据 从一个指定的文件中读取数据并输出 接地模块 输入端口模块(同端口与子系统模块中In1) 产生固定频率脉冲序列
《Simulink与控制系统仿真(第3版)》的课件 线性系统状态空间分析和非线性系统分析

11.2 非线性系统概述
含有非线性元件或环节的系统称为非线性系统。非线性特性包括 许多类型,典型的静态非线性特性包括死区非线性、饱和非线性、 间隙非线性和继电非线性。
采用MATLAB绘制相轨迹图
绘制相轨迹图的实质是求解微分方程的解。求解微分方程数 值解的算法有多种,MATLAB提供了求解微分方程的函数组, 常用的有ode45,它采用的计算方法是变步长的龙格-库塔4/5 阶算法。 ode45()常用的调用格式如下: [t, y]=ode45(odefun, tspan, y0) 在用户自己编写的MATLAB函数中既可以描述线性系统特性, 也可以描述非线性系统特性。
Relay:继电非线性; Saturation:饱和非线性; Saturation Dynamic:动态饱和非 线性;
Wrap To Zero:环零非线性。
11.3 相平面法
应用相平面法分析一阶尤其是二阶非线性控制系统,弄清非线性系统的稳定 性、稳定域等基本属性以及解释极限环等特殊现象,具有非常直观形象的效 果。 由于绘制二维以上的相轨迹十分困难,因此相平面法对于二阶以上的系统几 乎无能为力,这是相平面法的局限。
11.2.3 Simulink中的非线性模块
Backlash:间隙非线性; Coulomb&Viscous Friction:库仑 和黏度摩擦非线性;
Dead Zone:死区非线性; Dead Zone Dynamic:动态死区 非线性;
Hit Crossing:冲击非线性; Quantizer:量化非线性; Rate Limiter:比例限制非线性; Rate Limiter Dynamic:动态比例 限制非线性;
SIMULINK动态结构图仿真

SIMULINK动态结构图仿真实际工程的单闭环控制系统仿真通常是通过SIMULINK动态结构图实现的。
实现的思路是先将动态结构图转换为状态空间模型,然后再仿真。
具体过程是用SIMULINK提供的1inmod()和1inmod2()两个函数,从连续系统中提取线性模型。
两个函数命令执行后,都可以得到一个用[A,B,C,D]表达的状态空间模型。
然后就可以对这个状态空间模型来进行各种仿真。
这种方法之所以被普遍采用,是因为:其一,实际工程的控制系统,是由一个一个环节按特定控制要求连接而成,经抽象及近似处理后即得SIMULINK动态结构图,动态结构图就是可见的原始模型,不需要再费力费时做工作,动态结构图就可以用来进行仿真;其二,除开极少数简单问题外,有了动态结构图再求传递函数,一般都较复杂。
因此,通过SMUHNK动态结构图模型实现仿真是较好的方法。
需要特别注意,系统的SMULINK动态结构图模型的.mdl文件在计算机磁盘空间里存放的路径。
实例:简单闭环控制系统的MA TLAB仿真用转速负反馈构成的直流调速系统,其原理框图如图l所示。
图l 转速负反馈直流调速系统原理框图本系统用直流测速发电机TG作电动机转速n的检测元件,它与被控电动机轴硬性连接,可将电动机转速的变化转换为电压的变化,该电压经分压器分压,即是与转速n成正比的反馈电压U f,用它与给定电压U g比较后,得到偏差电压ΔU=U g—U f,该偏差电压ΔU经放大器放大后,其输出电压就是晶闸管触发器的移相控制电压U k。
晶闸管—直流电机单闭环调速系统(V—M系统)的SIMULINK动态结构图如图2所示。
图中直流电机P nom=10kW,U nom=220V,I nom=55A,n nom=1000r/min,电枢电阻R a=0.5Ω,V—M系统主电路总电阻R=1Ω,额定磁通下的电机电动势转速比C e=0.1925V.min/r,电枢回路电磁时间常数T a=0.017s,系统运动部分飞轮矩相应的机电时间常数Tm=0.075s,系统测速反馈系数Kt=0.01178V/rpm,图2 单闭环调速系统的SIMULINK动态结构图整流触发装置的放大系数K s=44,三相桥平均失控时间T s=0.00167s,比例积分调节器的两个系数T1=0.049s,T2=0.088s。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
考虑以下系统u x X ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=102101110221[]xy 001=对系统设计一个状态反馈控制器使得闭环阶跃响应的超调量小于5%,且在稳态值1%范围的调节时间小于4.6S 。
○1主导二阶极点方法配置极点 分析:超调量小于5%,即%521≤--ξξπe算得69.0≥ξ稳态值1%范围的调节时间小于4.6S ,即6.46.4≤=σs t1≥σ下面首先对系统的能控性进行判断,以编程方式实现a=[-1 -2 -2;0 -1 1;1 0 -1];b=[2;0;1]; %输入a ,b 矩阵q=[b a*b a^2*b]rank(q)计算结果为⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=511010042qq 的秩为3因此该系统为完全能控型系统,在满足系统要求的前提下,理论上能任意配置期望极点下面根据具体的求解思路进行编程求解反馈控制器kg=poly(a); %求原系统的特征方程a2=g(2);a1=g(3);a0=g(4);w=[1 0 0;a2 1 0;a1 a2 1];q1=[a^2*b a*b b];p=q1*w; %求解转换矩阵deta=1;zeta=0.75;wn=deta/zeta; %输入满足条件的ζ和δden=conv([1 4],[1 2*deta wn^2]); %输入期望极点(-4,-1±0.88i ) aa2=den(2);aa1=den(3);aa0=den(4);k=[aa0-a0 aa1-a1 aa2-a2];k1=k*(inv(p)) %输出配置矩阵k得到[]0444.06444.14778.11=k下面对系统进行验证,是否满足条件ahat=a-b*k1;bhat=b;chat=[1 0 0];dhat=0;sys=ss(ahat,bhat,chat,dhat);step(sys,'r');sys1=ss(a,b,c,d);hold on;grid on; step(sys1,'.-');(其中sys1为未加控制器的原系统)由图可知,系统在进行配置之前并未满足系统要求,在增加控制器之后,系统要求得到满足。
○2对称根轨迹(SRL )方法配置极点 将SRL 方程写成标准的根轨迹形式0)()()()(1=--+s D s D s N s N ρ 由此,我们需要先将上面的状态空间形式转换为传递函数形式,编程实现如下: a=[-1 -2 -2;0 -1 1;1 0 -1];b=[2;0;1];c=[1 0 0];d=0;[num,den]=ss2tf(a,b,c,d)num=[ 0 2.0000 2.0000 -2.0000]den=[1.0000 3.0000 5.0000 5.0000]下面再画出根轨迹图,寻找满足条件的ρnum1=conv([2 2 -2],[2 -2 -2]); %此处计算的参数根据num(s)和num (-s) den1=conv([1 3 5 5],[-1 3 -5 5]); %此处计算的参数根据den(s)和den (-s) sys1=tf(num1,den1);rlocus(sys1); %画根轨迹图grid on;根据系统要求69.0≥ξ 和 1≥σ如图所示,配置的极点将满足系统要求,现选取两组进行验证1.ρ=2p1=[-2.09 -1.42+0.845*1i -1.42-0.845*1i];k1=acker(a,b,p1)得k1=[0.7079 0.1931 0.5143]如上题所写程序画出响应图(其中sys1为未加控制器的原系统)2.ρ=3得k1=[0.9271 0.2769 0.6857]作出响应图如下(其中sys1为未加控制器的原系统)将两个不同的ρ值阶跃响应图进行对比(sys2为ρ=3,sys为ρ=2)有比较可知:较小的ρ值的响应速度较慢,较大的ρ值响应速度快。
○3全阶观测器的设计 首先检验系统的是否完全能观a=[-1 -2 -2;0 -1 1;1 0 -1];c=[1 0 0];q=[c;c*a;c*a*a]rank(q)⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=241221001qrank(q)=3说明系统是完全能观的下面就是观测器期望极点选择,一般为了考虑观测器的响应速度要比闭环系统快,又要考虑干扰抑制,一般极点为闭环极点的2---5倍。
根据主导二阶极点方法所配置的极点为s1=-4 s2,3=-1±0.88i选择观测器极点为s1=-12 s2,3=-3±0.88i由此可进一步求出观测器增益矩阵la=[-1 -2 -2;0 -1 1;1 0 -1];c=[1 0 0];pe=[-12;-3+0.88*i;-3-0.88*i];lt=acker(a',c',pe);l=lt'求得l=[15;1.872;-25.2592];可得全维观测器的方程为yu x ly bu x lc bk a x ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--------=++--=2592.25872.115102~0444.16444.17814.2411872.10888.22888.59556.18~)(~下面可依据上式构建simulink 图,据此观察观测器的跟踪能力跟踪效果图如下X1X2X3据此发现观测器跟踪效果较好。
○4降阶控制系统设计 从输出方程可以看出,此系统输出就等于第一个状态,即变换矩阵P 为单位阵,而最小阶观测器的阶次为2。
d d c cb ba a====最小阶观测器的期望特征根选为-3±0.88i⎥⎦⎤⎢⎣⎡=-=1021111a a []⎥⎦⎤⎢⎣⎡--=--=1011222212a a ⎥⎦⎤⎢⎣⎡==10221b b ]00[211==c c y l u b l b y a l a x a l a x q n q n +-+-+-=--)12()1121()1222(~ 据此求观测器增益a22=[-1 1;0 -1];a12=[-2 -2];pe=[-3+1i*2*7^(1/2)/3;-3-1i*2*7^(1/2)/3];lt=acker(a22',a12',pe);l=lt'求得⎥⎦⎤⎢⎣⎡-=5556.35556.1l得到y u y x x q n q n ⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡--=--5556.35556.11112.81112.35556.25556.1~1112.81112.71112.41112.2~引入中间变量 y x ly x q n q n ⎥⎦⎤⎢⎣⎡--=-=--5556.35556.1~~η得最小阶观测器的状态方程为u y ⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡--=1112.81112.32224.15778.91112.81112.71112.41112.2ηη⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡++=y y y x 42~21ηη下面可依据上式构建simulink 图,据此观察观测器的跟踪能力 X2X3由上面可见,观测器跟踪能力较好。
○5带反馈观测系统的设计 由分离定理可知,观测器与反馈可单独设计,互不影响。
反馈[]0444.06444.14778.1=kl=[15;1.872;-25.2592]lcx bv x bk lc a x ++--=~)(~下面可依据上式构建simulink 图,据此观察观测器的跟踪能力其中Gain7为增益调整设计a=[-1 -2 -2;0 -1 1;1 0 -1];b=[2;0;1];k1=[1.4778 1.6444 0.0444];y=a-b*k1;c=[1 0 0];d=0;k=1/dcgain(y,b,c,d)k=-3.5554或使用书本上的参考输入法计算k⎥⎦⎤⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-----=⎥⎦⎤⎢⎣⎡-1000011101011022211u x N N ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=-=5.15.115.2X U N N 5554.3=+=X U KN N N结果相同下面看一下系统输出对阶跃的跟踪曲线一开始出现较大误差,但还是能跟踪上阶跃。
下面再看看系统对白噪声干扰的抑制能力由上图可见,系统的抗干扰能力一般。
○6积分控制器的设计 积分控制相当于增加了额外状态,状态方程变为ω⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡-⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡b r u b x x a c x x i i 001000 由题意可知原系统可等价于r u x x x x i i ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-----=⎥⎦⎤⎢⎣⎡000110201010110022100010 积分控制器的极点配置为s1=-12 s2,3=-3±0.88i s4=-4利用编程求出ka=[0 1 0 0;0 -1 -2 -2;0 0 -1 1;0 1 0 -1];>> b=[0;2;0;1];>> pe=[-12;-3+0.88*i;-3-0.88*i;-4];>> k=acker(a,b,pe)K=[-234.5856 -77.4275 77.3805 173.8550]构建simulink图有分别加入两个阶跃,先加step1,阶跃图有再加入step,响应图有在一起加step和step1,响应如图由此可见,积分控制系统对于干扰有很好的抑制作用,并且具有很好的跟踪效果,动态特性也相对于简单的参考输入设计有了一定的改善。
总结从以上的设计可总结出状态空间的控制器的设计思路。
1.首先对观测器的能观性与能控性进行判断;2.如果完全能观或能控,则进行以下分析;如果不是,可以进行能控与能观分解出来;3.如果使用原系统状态反馈,可以根据系统要求进行极点配置,进而设计出控制器;如果还需要设计观测器,可合理配置观测器极点,进而设计整个系统。
4.如果使用观测器状态反馈,由于分离定理,观测器与反馈可分别设计,所以设计过程基本和上面一样;5.对于以上系统都存在较大的余差,故需设计参考输入,或者采取积分控制器都可以很好的消除稳态余差。