线性系统理论MATLAB大作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

兰州理工大学2015级线性系统理论大作业
线性系统理论Matlab 实验报告
1、在造纸流程中,投料箱应该把纸浆流变成2cm 的射流,并均匀喷洒在网状传送带上。

为此,要精确控制喷射速度和传送速度之间的比例关系。

投料箱内的压力是需要控制的主要变量,它决定了纸浆的喷射速度。

投料箱内的总压力是纸浆液压和另外灌注的气压之和。

由压力控制的投料箱是个耦合系统,因此,我们很难用手工方法保证纸张的质量。

在特定的工作点上,将投料箱线性化,可以得到下面的状态空间模型:
u x x ⎥⎦
⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡-+-=0001.0105.0002.002.08.0. []21,x x y =
其中,系统的状态变量x1=液面高度,x2=压力,系统的控制变量u1=纸浆流量u2=气压阀门的开启量。

在上述条件下,试设计合适的状态变量反馈控制器,使系统具有实特征根,且有一个根大于5
解:本题目是在已知状态空间描述的情况下要求设计一个状态反馈控制器,从而使得系统具有实数特征根,并要求要有一个根的模值要大于5,而特征根是正数时系统不稳定,这样的设计是无意义的,故而不妨采用状态反馈后的两个期望特征根为-7,-6,这样满足题目中所需的要求。

要对系统进行状态反馈的设计首先要判断其是否能控,即求出该系统的能控性判别矩阵,然后判断其秩,从而得出其是否可控。

Matlab 判断该系统可控性和求取状态反馈矩阵K 的程序,如图1所示,同时求得加入状态反馈后的特征根并与原系统的特征根进行了对比。

图1系统能控性、状态反馈矩阵和特征根的分析程序上述程序的运行结果如图2所示:
图2系统能控性、反馈矩阵和特征根的运行结果
图2中为图1matlab 程序的运行结果,经过判断得知系统是可控的,同时极点的配置个数与系统状态相符,求得了状态反馈矩阵K 的值,并把原系统的特征根(rootsold )和加入状态反馈后的特征根(rootsnew )进行对比。

同时通过特征值可以看出该系统是稳定的。

2、描述恒速制导导弹的运动方程为:
u x x ⎥⎥⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=0001000015
.0001000
00005.00005.0-1.0-00010. []x y 01000= 运用ctrb 函数计算系统的能控型矩阵,并验证系统是不可控的;
计算从u 到Y 的传递函数,并消去传递函数中的分子和分母公因式,由此可以得到能控的状态空间模型。

在消去了公因子之后,请用tf2ss 函数确定新的状态变量模型;
证明(b)中得到的状态变量模型是能控的;说明恒速制导导弹是否稳定?
讨论状态变量模型的能控性和复杂性的关系(假设用状态变量的数目来度量复杂性)。

解:该题是通过描述的恒速制导导弹的运动方程求解相应问题。

(a )运用ctrb 函数计算系统的能控性矩阵,并判断该系统不可控,详细matlab 程序和判断结果如图3和图4所示。

图3是判断该系统能控性的matlab 程序,通过求得能控性矩阵Qc ,并通过秩判据来判定该系统是否能控。

图3系统能控性的判别程序
判定的结果如图4所示:
图4系统的能控性矩阵和能控性判定结果
通过matlab分析求得了系统的能控性矩阵Qc,同时通过秩判据判定该系统不可控。

(b)、(c)计算u到y的传递函数,并通过tf2ss函数确定新的状态变量模型,同时判断该模型是能控的。

具体程序如图5所示,判断的结果如图6示。

图5确定新状态空间并判定能控性的程序
图6系统的传递函数、新的状态空间模型和能控性判定结果
分析得知u到y的传递函数可通过状态空间描述的矩阵求得,同时通过tf2ss 函数确定了新的状态空间(A1,B1,C1,D1),运用函数ss求得新模型的状态方程,再通过能控型矩阵判定系统的能控性。

显然得到系统是可控的,同时还要声明通过传递函数求得空间描述和通过状态矩阵求得结果不同,从而验证了传递函数对系统的内部描述不完整。

(d)判断恒速制导导弹系统稳定性
以下通过求得矩阵的特征值即传递函数的极值点来判断该系统是否稳定。

图7是求取极值点的程序,通过roots和eig函数来求取,目的进行必要的对比。

图8是通过两种途径获得的系统的极值点。

图7求取极值点的源程序
图8是图7程序的运行结果:
图8系统的传递函数和极值点
从求得的结果中可以看出其特征值的根的实部都不是正数,从而就说明了该系统在李雅普洛夫意义下是稳定的。

图9 系统的单位阶跃响应
通过程序给系统一个单位阶跃信号,从上图可以看出系统不是严格收敛的,而是发散的。

(e )状态变量模型的能控性和复杂性的关系(用状态变量的数目来度量复杂性)。

讨论状态变量模型的能控性与复杂性的关系。

很直观地讲,一个系统要能控,必须要其能控型判别矩阵的秩等于系统的阶数也即就是状态变量的数目,但是反过来,系统越复杂,状态变量的个数越多,能控型判别矩阵要求满足的秩也就越大,也即意味着越难达到要求,从而其能控性也就越不容易满足。

从而可以得出结论,即越复杂的系统越不容易达到完全可控。

3、垂直起降的飞机的线性化模型为:
=Ax+B1u1+B2u2
其中
⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡----=01004200.17070.0.3681.01002.00208.40024.00100.10482.04555.00188.00271.00366.0A ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=05200.55446.34422.01B , ⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡-=04900.45922.71761.02B 系统的状态变量为水平速度1x (节)、垂直速度2x (节)、倾斜率3x (度/秒)和倾斜角4x (度);系统的控制输入为1u 和2u ,其中1u 用于控制垂直运动,2u 用于控制水平运动。

(a) 计算系统矩阵A 的特征值,并由此判断系统是否稳定;
(b) 利用poly 函数确定A 的特征多项式,计算特征根,并与(a)中得到的特征根相比较;
(c) 当只有1u 发挥作用时,系统能控吗?当只有2u 发挥作用时,结果又如何?请比较解释你的结论。

解:通过给定的垂直起降的飞机的线性化模型分析系统的属性
(a)计算系统矩阵A的特征值,并根据特征值判断系统是否稳定
图10矩阵A的特征值和u1、u2分别作用的能控性判别程序
(b)利用poly函数确定A的特征多项式,计算特征值,并与(a)中的结果进行对比
(c)当只有u1作用时,系统能控性;只有u2作用时,系统能控性。

针对以上三点问题,通过图10所示的matlab程序来判断所有问题,最终的结果在图11中显示。

求取矩阵A的特征值和u1、u2分别作用时系统可控性的运行结果:
图11特征值、特征多项式和u1、u2分别作用的能控性结果其中roots1是通过eig函数求得的状态矩阵A的特征值,显然有两个特征值具有正实部,故系统不稳定;Q1是通过poly函数确定的A的特征多项式,roots2是通过roots函数求得的A矩阵的特征多项式的根,经过对比发现roots1和roots2的数值一样;只有u1或者u2作用是通过能控型矩阵Qc,用秩判据得到系统都是可控的。

dimA是通过size函数求得矩阵A的维数。

对比的当u1与u2发挥作用时所对应的能控型判别矩阵的秩都为4,即其秩等于系统的阶数也就是矩阵A的维数,从而说明在这两种情况下,系统均为能控。

4、为了探究月球背面(远离地球的一面)的奥秘,人们付出了不懈的努力。

例如,在地球-太阳-月球系统中,人们希望通信卫星能定点在不受月球遮挡的轨道上,并为此开展了广泛的论证研究工作。

图中给出了预期卫星轨道的示意图,从地球上看上去,卫星轨道的光影恰似环绕月球的外层光晕,因此这种轨道又称为光晕轨道。

轨道控制的目的是,使通信卫星在地球可见的光晕轨道上运行,从而保证通信链路的畅通,所需的通信链路包括从地球到卫星和从卫星到月球背面共两段线路。

卫星绕定点位置运动时,经过标准化和线性化的漂移运动方程为:
1230001000000000100000000010007.3809
000201000 2.1904020001000 3.1904000001x x u u u ⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=+++⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥--⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦⎣⎦
其中,状态变量x 是卫星在三个方向上的位置和速度漂移,输入(1,2,3)i u i =分别是轨控发动机在ξ、η和ζ方向上产生的加速度。

(a) 卫星的定点位置是否稳定?(b) 如果只有1u 发挥作用,卫星是否能控? (c) 如果只有2u 发挥作用,卫星是否能控?(d) 如果只有3u 发挥作用,卫星是否能控?
(e) 如果能够测得η方向的位置漂移,请确定由2u 到该位置漂移量的传递函数。

(提示:可以令观测输出为[]010000y x =)
(f) 用tf2ss 函数,计算(e)中得到的传递函数的状态变量模型,并验证该轨迹子系统是能控系统;
(g) 采用状态反馈2u Kx =-,设计合适的反馈控制器,使(f)中得到的系统的闭环极点为1,21s j =-±和3,410s =-。

解:在给定的卫星绕定点位置运动时的标准化和线性化的漂移运动方程,通过matlab 分析一下几点问题。

图12系统稳定性和u1、u2、u3分别作用时的能控性
(1)关于卫星的定点位置的稳定性和分别只有u1或者u2或者u3作用时,卫星的能控性通过图12的程序来判断,判断结果在图13中显示。

卫星定位系统的稳定性和u1、u2、u3分别作用时的能控性判别结果如图13所示
图13系统特征根和u1、u2、u3分别作用的能控性判别结果
图14系统极值点分布图
通过图13可以看出系统的极值点(roots1)中有大于零的点,直观的从图14的系统极值点分布图中看出在虚轴的右半平面上有一个极值点,所以系统是不稳定的;从图13中还可以发现系统在只有u1或者u2或者u3作用时,均不可控。

(2)确定由u2到漂移量的传递函数并确定传递函数所对应的状态变量模型,然后验证其为能控系统。

执行程序如图15所示,该程序用于求解传递函数和状态模型,并验证该模型的能控性。

运行的结果如图16所示。

图15传递函数、状态变量模型和能控性求解程序
以上程序中求得了新系统的传递函数以及状态空间模型,并通过求取系统的能控性矩阵,根据秩判据判定系统的可控性,由if语句来选取,把最终结果显示在命令窗口。

图15程序的运行结果如图16所示:
图16传递函数、状态空间描述和能控性的结果
图16中显示了由u2到n方向的位置漂移量的传递函数,以及通过tf2ss函数得到该传递函数的状态变量模型,最后验证得到该模型是能控的。

(3)在给定状态空间描述的基础上采用状态反馈u2=-Kx,使得(1)中得到的模型的闭环极点为-1+j,-1-j,-10,-10.具体程序如图17所示,运行的结果如图18,图19所示。

图17状态反馈设计的程序:
图17状态反馈设计程序
该程序首先判定极值点是否配置合理,求得反馈矩阵,并画出加入状态反馈后的根轨迹,再求得加入状态反馈后系统的零极点及增益,最后画出系统加入反馈后的阶跃响应图。

图18是上述程序运行得到的反馈矩阵和系统的零极点以及增益值。

图18状态反馈矩阵、零极点和增益
其中K是状态反馈矩阵,zI是加入状态反馈后的零点,pI是加入状态反馈后的极点,gainI是系统增益,透过极点可以看出系统是稳定的。

通过图18可以看出再加入状态反馈K时,求得的极点正好是期望的值,也验证了求取的正确性。

最后求得加入状态反馈时系统的增益。

通过图19可以看出系统是渐近稳定的。

图19是加入状态反馈后系统的根轨迹和阶跃响应:
图19加入反馈K时系统的根轨迹和阶跃响应
从图19看到系统是稳定的正好验证了极值点实部小于零系统稳定,同时可以发现系统在加入状态反馈后调节时间较快。

5、在8.2风力机的一阶模型中,采用浆距角控制风力机的转速,风速的变化视为扰动,设计风力机转速的闭环PI控制,使转速恒定。

解:给定风力机的一阶模型,采用浆距角控制风力机转速,风速变化视为扰动,设计风力机的PI控制,使转速恒定。

PI控制器的模型为K1+K2/s,从而可以求出该系统闭环系统的特征方程为
S^2+0.3397K1*S+0.3397K2=0
要使得该风力机稳定运行,则需让特征方程的根具有负实部。

syms s k1 k2;
>> s=solve(s^2+0.339*k1*s+0.339*k2)
s =
- (339*k1)/2000 - ((114921*k1^2)/1000000 - (339*k2)/250)^(1/2)/2
((114921*k1^2)/1000000 - (339*k2)/250)^(1/2)/2 - (339*k1)/2000
使其为负数,从而可得出K1<=180,K2<=86,得到的PI控制器就能满足要求,不妨取K1=80,K2=60.simulink仿真如图20所示。

图20加入PI控制的系统仿真图
其中输入采用阶跃信号,扰动信号为单位脉冲。

在未加入扰动信号时,只有阶跃信号输入的系统响应如图21所示:
图21未加脉冲扰动只有阶跃信号输入的输出响应
图22在加入脉冲扰动情况下系统输出响应
通过图21和22对比发现系统能很好的通过反馈调节使系统在扰动情况下趋于稳定,同时可以看出调节速度较快,所以得到的PI控制器可以满足所要求的指数。

6、在8.2风力机的三阶模型中,采用浆距角控制风力机的转速,风速的变化视为扰动,电磁转矩视为常数,采用状态反馈和极点配置算法,设计风力机转速的闭环控制系统。

解:理论上一般选取观测器的期望极点为传递函数极点的2到5倍为佳,在以下程序中选取观测器的极值点为-2.2986e004,-300,-0.0286e004。

具体求解程序如图23所示。

同时通过求取加入状态反馈后的伯德图,根轨迹以及单位阶跃响应来判定系统的稳定性和调节速度。

通过图23的分析程序,我们能得到图24能控性矩阵和状态反馈矩阵K,图25的加入状态反馈后系统的伯德图以及图26的根轨迹,图27的反馈系统的阶跃响应曲线。

图23是利用极点配置算法求取风力机转速的闭环控制系统的程序:
图23系统状态反馈矩阵的求取程序
图24能控性矩阵和状态反馈矩阵K 图25是加入反馈矩阵K时系统的伯德图:
图25加入状态反馈后系统的伯德图
图26加入状态反馈后系统的根轨迹图图27是加入状态反馈后系统的单位阶跃响应:
图27加入状态反馈后系统的单位阶跃响应
在求取系统状态反馈时,首先应该判断该系统的能控性,所以程序开始通过求取能控型矩阵,运用秩判据来判断系统能控性,把结果显示在命令窗口。

图24中Qc是能控型矩阵,判断结果为系统可控,并求得状态反馈矩阵K。

通过图25,图26,图27分析得知系统在加入反馈后,系统不仅稳定而且调节和响应速度较快。

7、给定风力机的三阶模型,采用浆距角控制风力机的转速,风速变化视为扰动,设计风力机的LQR控制器。

解:在设计LQR控制器时,首先要确定加权矩阵Q(不妨选取Q=diag([4e004,0,1e004]),R=1),然后直接利用lqr函数求取LQR控制器的状态反馈矩阵k。

求取程序如图28所示:
图28 LQR控制器的求取程序
图29 LQR控制器的状态反馈矩阵k
同时在图28所示的程序中求取加入状态反馈后系统的伯德图,根轨迹和单位阶跃
响应,如图30,图31,图32所示。

图30加入状态反馈后系统的伯德图
图31加入状态反馈后系统的根轨迹图图32是加入状态反馈后系统的单位阶跃响应:
图32加入状态反馈后系统的单位阶跃响应
通过图28所示的程序求得了LQR控制器的状态反馈矩阵k在图29中显示。

同时求得加入反馈后系统的伯德图,根轨迹和单位阶跃响应。

可以看出加入反馈后系统不仅稳定而且响应较快。

8、风力机的三阶模型中表示系统轴上的扭转弹力第二个状态是不容易测量的状态变量,设计关于该状态的观测器,并构成状态反馈系统。

解:题目要设计风力机三阶模型的状态反馈及其状态观测器,并且为降维观测器,由于输出矩阵C的秩为1,故而降维观测器的维数为3-1=2;不妨设状态反馈的期望极点为-4e004,0,-1e004,状态观测器的期望极点为-20,-30则相应的设计程序如下:
图33是设计降阶观测器的程序:
图33设计降阶观测器的程序图33的状态观测器设计程序的运行结果如下:
图34(1)状态观测器运行结果续图34(1):
图34(2)状态观测器运行结果图35是加入状态反馈和降维观测器时系统的根轨迹图:
图35 状态观测器下的系统根轨迹图
图36 状态观测器下的系统伯德图
图37,图38,图39分别是状态x1,x2和x3的实际状态与观测状态的对比。

图37状态x1和x1*的对比图38状态x2和x2*的对比
图39状态x3和x3*的对比
程序中所求出的k即为状态反馈控制器的状态反馈矩阵,Lr为降维观测器所求矩阵。

由程序所求的矩阵则可构成所求状态反馈控制器与降维观测器。

通过观测状态和实际状态的对比发现x1=x1*,x3=x3*,只有状态x2不容易测量,需要状态观测器来观测。

相关文档
最新文档