线性系统状态空间分析与运动解
- 格式:docx
- 大小:221.81 KB
- 文档页数:9
第九章 线性系统的状态空间分析与综合在第一章至第七章中,我们曾详细讲解了经典线性系统理论以及用其设计控制系统的方法。
可以看到,经典线性理论的数学基础是拉普拉斯变换和z 变换,系统的基本数学模型是线性定常高阶微分方程、线性常系数差分方程、传递函数和脉冲传递函数,主要的分析和综合方法是时域法、根轨迹法和频域法,分析的主要内容是系统运动的稳定性。
经典线性系统理论对于单输入-单输出线性定常系统的分析和综合是比较有效的,但其显著的缺点是只能揭示输入-输出间的外部特性,难以揭示系统内部的结构特性,也难以有效处理多输入-多输出系统。
在50年代蓬勃兴起的航天技术的推动下,在1960年前后开始了从经典控制理论到现代控制理论的过渡,其中一个重要标志就是卡尔曼系统地将状态空间概念引入到控制理论中来。
现代控制理论正是在引入状态和状态空间概念的基础上发展起来的。
在现代控制理论的发展中,线性系统理论首先得到研究和发展,已形成较为完整成熟的理论。
现代控制理论中的许多分支,如最优控制、最优估计与滤波、系统辨识、随机控制、自适应控制等,均以线性系统理论为基础;非线性系统理论、大系统理论等,也都不同程度地受到了线性系统理论的概念、方法和结果的影响和推动。
现代控制理论中的线性系统理论运用状态空间法描述输入-状态-输出诸变量间的因果关系,不但反映了系统的输入—输出外部特性,而且揭示了系统内部的结构特性,是一种既适用于单输入--单输出系统又适用于多输入—多输出系统,既可用于线性定常系统又可用于线性时变系统的有效分析和综合方法。
在线性系统理论中,根据所采用的数学工具及系统描述方法的不同,又出现了一些平行的分支,目前主要有线性系统的状态空间法、线性系统的几何理论、线性系统的代数理论、线性系统的多变量频域方法等。
由于状态空间法是线性系统理论中最重要和影响最广的分支,加之受篇幅限制,所以本章只介绍线性系统的状态空间法。
9-1 线性系统的状态空间描述1. 系统数学描述的两种基本类型这里所谓的系统是指由一些相互制约的部分构成的整体,它可能是一个由反馈闭合的整体,也可能是某一控制装置或受控对象。
线性系统状态空间分析和运动解状态空间分析方法是一种用来描述线性系统的分析方法。
它将系统的动态特性用一组状态变量来表示,并通过矩阵形式的状态方程进行分析和求解。
状态空间方法是目前广泛应用于自动控制系统设计与分析的一种方法,它可以对系统的稳定性、可控性、可观性以及性能等进行定量分析。
在状态空间分析方法中,首先需要将系统的微分方程表示为矩阵形式的状态方程。
状态方程描述了各个状态变量和它们的变化率之间的关系。
假设系统有n个状态变量x1, x2, ..., xn和m个输入变量u1, u2, ..., um,状态方程可以表示为:dx/dt = Ax + Bu其中,dx/dt是状态变量的变化率,A是状态矩阵,描述状态变量之间的耦合关系,B是输入矩阵,描述输入变量对状态变量的影响。
状态空间分析方法的基本思想是将系统转化为状态空间表达式,然后通过对状态方程进行分析和求解来得到系统的特性和响应。
常见的分析方法包括对系统的稳定性、可控性和可观性进行评估。
稳定性是系统的基本性质之一,用来描述系统在受到扰动时是否能够恢复到平衡状态。
在状态空间方法中,通过研究系统的特征根(或特征值)可以判断系统的稳定性。
特征根是状态方程的解的根,系统的稳定性与特征根的实部有关。
如果特征根的实部都小于零,则系统是稳定的;如果特征根存在实部大于零的情况,则系统是不稳定的。
可控性是指系统是否可以通过输入变量来控制系统的状态变量。
在状态空间方法中,通过可控性矩阵来判断系统的可控性。
如果可控性矩阵的秩等于系统的状态变量个数,则系统是可控的;如果可控性矩阵的秩小于系统的状态变量个数,则系统是不可控的。
可观性是指系统的状态变量是否可以通过观测变量来测量得到。
在状态空间方法中,通过可观性矩阵来判断系统的可观性。
如果可观性矩阵的秩等于系统的状态变量个数,则系统是可观的;如果可观性矩阵的秩小于系统的状态变量个数,则系统是不可观的。
除了稳定性、可控性和可观性外,状态空间分析方法还可以用来分析系统的性能指标,如系统的响应时间、稳态误差和系统的最大误差等。
第二章 线性系统的状态空间描述§2-1 状态空间的基本概念1、状态:系统的状态,是指系统的过去、现在和将来的状况。
(如:一个质点作直线运动,它的状态就是它每个时刻的位置和速度)2、状态变量:能完全表征系统运行状态的最小数目的一组变量。
(如果用最少的n 个变量x 1(t), x 2(t),……, x n (t)就能完全描述系统的状态,那么这n 个变量就是一组状态变量。
)3、状态向量:设一个系统有n 个状态变量,即x 1(t),x 2(t),……,x n (t),用这n 个状态变量作为分量构成的向量x(t)称为该系统的状态向量。
记为Tn t x t x t x t x )](,),(),([)(21 =4、状态空间:由n 个状态变量作为坐标轴所构成的n 维空间,称为状态空间。
引入了状态和状态空间的概念之后,就可以建立动力学系统的状态空间描述了。
从结构的角度讲,一个动力学系统可用图2-1所示的方块图来表示。
其中x(t)表征系统的状态变量,u(t)为系统控制量(即输入量),y(t)为系统的输出变量。
与输入—输出描述不同,状态空间描述把系统动态过程的描述考虑为一个更为细致的过程:输入引起系统状态的变化,而状态和输入则决定了输出的变化。
5、状态方程:状态变量的一阶导数与状态变量、输入量的关系,称为系统的状态方程。
例:设单输入线性定常系统(LTI-Linear Time Invariant )的状态变量为x 1(t),x 2(t),……,x n (t),输入为u(t),则一般形式的状态方程为:)()()()()()()()()()()()()()()()()()()()()(2211222221212112121111t u b t x t a t x t a t x a t x t u b t x t a t x t a t x a t x t u b t x t a t x t a t x a t x n n nn n n nn n n n ++++='++++='++++='图2-1 动力学系统结构示意图上式可写成向量—矩阵形式:其中:6、输出方程:在指定系统输出的情况下,该输出与状态变量、输入量之间的函数关系式,称为系统的输出方程。
现代控制理论实验指导书实验一:线性系统状态空间分析1、模型转换图1、模型转换示意图及所用命令传递函数一般形式:)()(1111110nmasasasabsbsbsbsGnnnnmmmm≤++++++++=----MATLAB表示为:G=tf(num,den),其中num,den分别是上式中分子,分母系数矩阵。
零极点形式:∏∏==--=nijmiipszsKsG11)()()(MATLAB表示为:G=zpk(Z,P,K),其中Z,P,K分别表示上式中的零点矩阵,极点矩阵和增益。
传递函数向状态空间转换:[A,B,C,D] = TF2SS(NUM,DEN);状态空间转换向传递函数:[NUM,DEN] = SS2TF(A,B,C,D,iu)---iu表示对系统的第iu个输入量求传递函数;对单输入iu为1;验证教材P438页的例9-6。
求P512的9-6题的状态空间描述。
>> A=[0 1;0 -2];>> B=[1 0;0 1];>> C=[1 0;0 1];>> D=[0 0;0 0];>> [NUM,DEN] = ss2tf(A,B,C,D,1)NUM =0 1 20 0 0DEN =1 2 0>> [NUM,DEN] = ss2tf(A,B,C,D,2)NUM =0 0 10 1 0DEN =1 2 0给出的结果是正确的,是没有约分过的形式P512 9-6>> [A,B,C,D]=tf2ss([1 6 8],[1 4 3])A =-4 -31 0B =1C =2 5D =12、状态方程求解单位阶跃输入作用下的状态响应:G=ss(A,B,C,D);[y,t,x]=step(G);plot(t,x).零输入响应[y,t,x]=initial(G,x0)其中,x0为状态初值。
验证P435的例9-4,P437的例9-5。
9-4A=[0 1;-2 -3];B=[0;0];C=[0 0];D=[0];G=ss(A,B,C,D);[y,t,x]=initial(G,[1;2]);plot(t,x)(设初始状态为[1 ;2])零输入响应00.20.40.60.81 1.2 1.4 1.6 1.82-1-0.50.511.529-5零输入响应A=[0 1;-2 -3];B=[0;1];C=[0 0];D=[0];G=ss(A,B,C,D);[y,t,x]=initial(G,[1;2]);plot(t,x)00.20.40.60.81 1.2 1.4 1.6 1.82-1-0.50.511.52零状态响应,阶跃信号激励下>> A=[0 1;-2 -3];B=[0;1];C=[0 0];D=[0];>> G=ss(A,B,C,D);[y,t,x]=step(G);plot(t,x)00.20.40.60.81 1.2 1.4 1.6 1.8200.050.10.150.20.250.30.350.4总响应>> A=[0 1;-2 -3];B=[0;1];C=[0 0];D=[0];G=ss(A,B,C,D);[y1,t1,x1]=step(G);[y2,t2,x2]=initial(G,[1;2]);>> x=x1+x2;>> plot(t1,x)00.20.40.60.81 1.2 1.4 1.6 1.82-0.500.511.523、系统可控性和可观测性可控性判断:首先求可控性矩阵:co=ctrb(A ,B)。
线性系统的状态空间分析与综合第九章线性系统的状态空间分析与综合⼀、教学⽬的与要求:通过本章内容的学习,使学⽣建⽴起状态变量和状态空间的概念,掌握线性定常系统状态空间模型的建⽴⽅法,状态空间表达式的线性变换,状态完全能控或状态完全能观测的定义,及其多种判据⽅法,状态转移矩阵的求法,传递函数矩阵与状态空间表达式的关系。
⼆、授课主要内容:1.线性系统的状态空间描述2.线性系统的可控性与可观测性3.线性定常系统的状态反馈与状态观测器(详细内容见讲稿)三、重点、难点及对学⽣的要求(掌握、熟悉、了解、⾃学)1.重点掌握线性定常系统状态空间模型的建⽴⽅法与其他数学描述(微分⽅程、传递函数矩阵)之间的关系。
2.掌握采⽤状态空间表述的系统运动分析⽅法,状态转移矩阵的概念和求解。
3.掌握系统基本性质——能控性和能观测性的定义、有关判据及两种性质之间的对偶性。
4.理解状态空间表达式在线性变换下的性质,对于完全能控或能观测系统,构造能控、能观测标准形的线性变换⽅法,对于不完全能控或不完全能观测系统,基于能控性或能观测性的结构分解⽅法。
5.掌握单变量系统的状态反馈极点配置和全维状态观测器设计⽅法,理解分离定理,带状态观测器的状态反馈控制系统的设计。
重点掌握线性系统的状态空间描述和求解,线性系统的可控性与可观测性及状态反馈与状态观测器。
四、主要外语词汇线性系统 linear system状态空间 state space状态⽅程 state equation状态向量 state vector传递函数矩阵 translation function matrix状态转换矩阵 state-transition matrix可观测标准形 observational standard model可控标准形 manipulative standard model李亚普诺夫⽅程Lyaponov equation状态观测器 state observation machine对偶原理 principle of duality五、辅助教学情况(见课件)六、复习思考题1.什么是系统的状态空间模型?状态空间模型中的状态变量、输⼊变量、输出变量各指什么?2.通过机理分析法建⽴系统状态空间模型的主要步骤有哪些?3.何为多变量系统?如何⽤传递矩阵来描述多变量系统的动态特性?在多变量系统中,环节串联、并联、反馈连接时,如何求取总的传递矩阵?4.试简述数学模型各种表达式之间的对应关系。
【实验地点】课外(宿舍) 【实验目的】1、学会利用MATLAB 实现离散系统传递函数模型的生成2、学会利用MATLAB 将连续系统离散化 【实验设备与软件】1、MATLAB/Simulink 数值分析软件2、计算机一台 【实验原理】1、求矩阵特征值和特征向量命令格式[V J]=eig (A ) Cv=eig(A)说明:V 特征向量,J 是Jordan 型,cv 是特征值列向量 2、求运动的方法(1)利用Laplace 逆变换----适合于连续/离散线性系统采用ilaplace/iztrans 对传递函数求逆,这种方法一般是零输入情况下求响应。
(2)用连续(离散)状态转移矩阵表示系统解析解----适合于线性定常系统 对连续定常系统有:假设初始时刻为零,LTI 系统的解析解为dt Bu eex e t x tAtAtAt⎰⎰+=0)()0()(τ。
若u (t )是单位阶跃输入,则上述解可写成dtBu ee x e t x tAtAt At ⎰⎰+=0)()0()(τ。
进一步简化为:Bu A Bu A x e t x At 11))0(()(---+=对离散线性定常系统有:∑---+=11)()0()(k i kki Hu G x G k x(3)状态方程的数值分析方法----适合于连续线性系统和非线性系统采用直接数值积分很容易的处理各种定常/时变和线性/非线性系统。
有很多数值积分方法,其中有一类预测-修正数值积分方法+自适应步长调整的算法比较有效。
在MATLAB/Simulink 中包含的多种有效的、适用于不同类型的ODE 求解算法,典型的是Runge-Ktuta 算法,其通常使用如下的函数格式:[t,x]=ode45(odefun,[ti,tf],x0,options)----采用四阶、五阶Runge-Ktuta 算法 [t,x]=ode23(odefun,[ti,tf],x0,options)----采用二阶、三阶Runge-Ktuta 算法 说明:a.这两个函数是求解非刚性常微分方程的函数。
b.参数options 为积分的误差设置,取值为相对误差‘reltol ’和绝对误差‘abstol ’;[ti,tf]求解的时间范围;x0是初值是初值向量;[t,x]是解。
(4)利用CotrolToolBox 的离散化求解函数----适合于TLI 系统 用step ()/impulse()函数求取阶跃输入/冲激输入时系统的状态响应: 当系统G 是连续的情况下:调用[y,t,x]=step/impulse(G )会自动对连续系统G 选取采样时间范围和周期;调用[y,t,x]=step/impulse(G ,ti:Ts:tf)由用户自己定义对连续系统G 的样时间范围和周期; 当系统G 是离散的情况下:调用[y,t,x]=step/impulse(G )会按离散系统G 给出的采样周期计算;调用[y,t,x]=step/impulse(G ,ti:Ts:tf)是Ts 必须与离散系统G 的采样时间范围和周期一致。
另外lsim()函数调用格式:[y,x,t]=lsim(G,u,ti,TS,tf,x0) 零输入响应调用函数initial (),格式:[y,x,t]=(G,x0) (5)利用simulink 环境求取响应----适用于所有系统求取响应使用simulink 求取线性或非线性系统的响应,调用格式如下:[t,x,y]=sim(‘XX.mdl’,ti:Ts:tf,options,u)【实验内容】已知线性系统:[])(201)()(210)(404040202119201921)(t x t y t u t x t x +-----•已知线性系统1、利用Matlab 求零状态下的阶跃响应(包括状态和输出),生成两幅图:第一幅绘制各状态响应曲线并标注;第二幅绘制输出响应曲线。
状态响应曲线:A=[-21 19 -20;19 -21 20;40 -40 -40]; B=[0;1;2]; C=[1 0 2];D=[0]; %输入状态空间模型各矩阵,若没有相应值,可赋空矩阵 X0=[0;0;0]; % 输入初始状态 sys=ss(A,B,C,D); %构造传递函数[y,x,t]=step(sys); % 绘以时间为横坐标的状态响应曲线图 plot(t,x); grid;title('状态响应曲线') 输出响应程序:A=[-21 19 -20;19 -21 20;40 -40 -40]; B=[0;1;2]; C=[1 0 2]; D=0; X0=[0;0;0][num,den]=ss2tf(A,B,C,D,1); sys=tf(num,den); step(sys) gridtitle('输出响应曲线')图一(状态响应曲线)图二(输出响应曲线)2、利用Matlab求零状态下的冲激响应(包括状态和输出),生成两幅图:第一幅绘制各状态响应曲线并标注;第二幅绘制输出响应曲线。
状态响应曲线程序:A=[-21 19 -20;19 -21 20;40 -40 -40];B=[0;1;2];C=[1 0 2];D=[]; %输入状态空间模型各矩阵,若没有相应值,可赋空矩阵x0=[0;0;0]; % 输入初始状态sys=ss(A,B,C,D); %构造传递函数[y,x,t]= impulse(sys);plot(t,x);grid;title('状态响应曲线')输出响应曲线程序:A=[-21 19 -20;19 -21 20;40 -40 -40];B=[0;1;2];C=[1 0 2];D=0;X0=[0;0;0][num,den]=ss2tf(A,B,C,D,1);sys=tf(num,den);impulse(sys);grid;title('')图三(状态响应曲线')图四(输出响应曲线)3、若控制输入为,且初始状态为,求系统的响应,要求a.在simulink只能够画出模型求响应,生成两幅图:第一幅绘制各状态响应曲线并标注;第二幅绘制输出响应曲线。
程序如下:t=[0:0.01:5];u=(1+exp(-t).*cos(5*t)).*(t<3)+1*(t>=3);t=t';u=u';ut=[t,u];[t1,x,y]=sim('shiyan5.mdl',t,[],ut);plot(t1,x)figure(2);plot(t1,y)创建的模型图如下:图五(模型图)b.编写.m文件求响应,生成两幅图:第一幅绘制各状态响应曲线并标注;第二幅绘制输出响应曲线。
状态响应曲线:t=[0:0.02:5];u=(1+exp(-t).*cos(5*t)).*(t<3)+1*(t>=3);t=t';u=u';A=[-21 19 -20;19 -21 20;40 -40 -40];B=[0;1;2];C=[1 0 2];D=[0]; %输入状态空间模型各矩阵,若没有相应值,可赋空矩阵 X0=[0.2;0.2;0.2]; % 输入初始状态u=(t==0); %就是个条件判断,只有t=0的时候,u才为“1”sys=ss(A,B,C,D); %构造传递函数plot(t,x);grid;title('状态响应曲线')输出响应曲线:plot(t,y);grid;title('输出响应曲线')图六(状态响应曲线)图七(输出响应曲线)4、以阶跃输入情况下的,分析各模块对响应有什么影响。
图八(阶跃输入时)阶跃输入的图像到答稳定时间快,曲线平滑5、求系统的传递函数在MATLAB软件Command Window窗口中输入以下程序A=[-21 19 -20;19 -21 20;40 -40 -40];B=[0;1;2];C=[1 0 2];D=0;[num,den]=ss2tf(A,B,C,D,1);printsys(num,den)程序运行结果为图七6、若采用K增益负反馈,绘制闭环根轨迹图,并对根轨迹加以描述说明。
A=[-21 19 -20;19 -21 20;40 -40 -40];B=[0;1;2];C=[1 0 2];D=0;[num,den]=ss2tf(A,B,C,D,1);rlocus(num,den);gridtitle('K增益负反馈闭环根轨迹图')图九(K增益负反馈闭环根轨迹图)采用K增益负反馈,画出如图所示的根轨迹图。
由图可知,共有3条根轨迹,第一条最终趋于原点;第二条收敛在20~60之间;第三条最终趋于无穷远处。
7、在Matlab中绘制Bode图和Nyquist图,并对图给予说明。
绘制Bode图:A=[-21 19 -20;19 -21 20;40 -40 -40];B=[0;1;2];C=[1 0 2];D=0;sys=tf(num,den)bode(num,den)gridtitle('Bode图')汇出的波特图如图所示,由图可知,对复制响应分析可得,交越频率在转折频率之后,故复制的变化主要发生在低频段。
对相频特性进行分析,可知此系统的相频特性角度均为负值,并且最后的相角是趋于-90度的。
绘制Nyquist图:nyquist(sys)title('Nyquist图 ')图十(波特图)图十一(Nyquist图)画出的奈奎斯特图如上所示,根据此图可知,此系统是稳定的系统,由奈奎斯特曲线可以分析出此系统的稳定性。
【实验结论与总结】经过本次试验我们了解了线性系统状态空间,知道如何在simulink中用状态方程搭建系统仿真模型,以及调用模型。
不同输入对对系统有着一定的影响。
如何把方程转换成simulink中的方块模型是非常重要的,在本次实验中,最困难的地方在于运用Simulink生成图形,在这过程中由于要利用到sim函数,不熟悉导致出错后来经过检查才改正错误。