《控制系统状态空间分析的MATLAB 设计》摘要线性系统理论主要研究线性系统状态的运动规律和改变这些规律的可能性与实施方法;它包含系统的能控性、能观测性、稳定性分析、状态反馈、状态估计及补偿器的理论和设计方法。
本文说明,线性变换不改变系统的传递函数,基于状态空间的极点配置不需要附加矫正装置,是改变系统指标的简单可行的重要技术措施;全维状态观测器与降维观测器不影响系统的输出响应。
关键词:状态反馈、极点配置、全维状态观测器、降维观测器前言线性系统理论是现代控制理论的基础,主要研究线性系统状态的运动规律和改变这些规律的可能性与实施方法;建立和揭示系统结构、参数、行为和性能之间的关系。
它包含系统的能控性、能观测性、稳定性分析、状态反馈、状态估计及补偿器的理论和设计方法。
该报告结合以线性定常系统作为研究对象,分析控制系统动态方程,系统可控标准型,线性变换传递函数及其不变性,系统可控性与可观测性。
系统状态观测器及降维观测器对系统的阶跃响应的影响,并分别绘制模型,及其系统阶跃响应的仿真。
正文1. 已知系统动态方程:ẋ=[−0.40−0.01100−1.49.8−0.02]x +[6.309.8]uy =[01]x2. 设计内容及要求:验证线性变换传递函数不变性,适当配置闭环适当配置系统闭环极点,使σ%<15%、t s <4s ,以及当系统闭环极点为λ1,2=-3±j4时设计系统的降维状态观测器也使σ%<15%、t s <4s ,并绘制带反馈增益矩阵K 的降维状态观测器及其系统仿真。
3. 系统设计:1)求系统可控标准型动态方程;>> A1=[-0.4 0 -0.01;1 0 0;-1.4 9.8 -0.02]; >> B1=[6.3;0;9.8]; >> C1=[0 0 1]; >> D1=0;>> G1=ss(A1,B1,C1,D1); >> n=size(G1.a); >> Qc=ctrb(A1,B1); >> pc1=[0 0 1]*inv(Qc);>> Pc=inv([pc1;pc1*A1;pc1*A1*A1]); >> G2 = ss2ss(G1,inv(Pc)); >> Gtf=tf(G2);程序运行结果知n=3,原系统是可控的且可控标准型为: x̅=[010001−0.0980.006−0.42]x̅+[001]uy ̅=[61.74−4.99.8]x̅传递函数为:G (s )=9.8s 2−4.9s+61074s 3+0.42s 2−0.006s+0.0982)计算系统的单位阶跃响应 >> hold on>> grid on;hold on; >> step(G1,t,'b-.') >> step(Gtf,t,'r--')上图中蓝现代表原系统G1的单位阶跃响应,红线代表能标准型单位阶跃响应曲线。
观察曲线发现原系统是一条发散震荡曲线,体统不能工作,能控标准型系统的单位阶跃响应曲线与原系统曲线重合,说并线性变换不改变系统稳定性,也不改变系统的传递函数,与预期结果一致。
3)用试探发配置系统的闭环极点λ1=-6、λ2,3=-1±j√%<15%、t s <4s。
>> Uc=ctrb(G2.A,G2.B)>> rank(Uc)ans =3>>P=[-6 -1+j*sqrt(5) -1-j*sqrt(5)];>>[K]=place(G2.A,G2.B,P)K =35.9020 18.0060 7.5800程序运行后表明,系统是能控的,系统可实现按题意要求的闭环极点配置;计算得到的系统状态反馈增益矩阵为K=[35.90218.0067.580]4)绘制带状态反馈增益矩阵K的系统模型module1并仿真:[A,B,C,D]=linmod2('module1');sys=ss(A,B,C,D);step(sys)Simulink系统仿真图module1程序运行后得到可控标准型带状态反馈增益矩阵K后的系统单位阶跃响应曲线,单位阶跃响应呈两段上升,系统不仅稳定,而且性能指标满足题目要求,即σ%=13.5%<15%、t s =3.93<4s。
5)设计系统的状态观测器>> P=[-6 -1+j*sqrt(5) -1-j*sqrt(5)];>> Vo=obsv(G2.A,G2.C);>> rank(Vo)ans =3>> K=acker(G2.A',G2.C',P);>> AHK=G2.A-K'*G2.CAHK =-4.6096 1.3658 -0.7317-18.9957 1.5076 -2.0152-28.3091 2.2450 -4.8980计算结果表明,系统不仅可控而且客观,所以存在状态观测器,系统的状态观测器为:x̂=[−4.6096 1.3658−0.7317−18.9957 1.5076−2.0152−28.3091 2.2450−4.8980]x̅+[1]u+[0.07470.30770.4599]y6)绘制带反馈增益矩阵K的状态观测器的系统模型module2,并经行仿真>> hold on;[A,B,C,D]=linmod2('module2');>> sys=ss(A,B,C,D);step(sys,’r--’);程序运行后得到带状态反馈增益矩阵K与状态观测器的系统单位阶跃响应曲线相差无几,说明系统不仅稳定,而且性能指标满足题目要求。
7)设计λ1,2=-3±j4的降维观测器:选择任意矩阵D构造非奇异线性变换矩阵Q:D=[100 010]Q=[D⋯C ]=[10001061.74−4.99.8]计算期望降维观测器特征多项式:det[sE−(A11−HA21)]=(s+3−j4)(s+3+j4)=s2+6s+25 syms h1 h2 s;>> H=[h1 h2].';>> Q=[1 0 0;0 1 0;61.74 -4.9 9.8];>> A=Q*G2.A*inv(Q);>> A11=[A(1:2,1:2)];>> A21=[A(3,1:2)];>> eq=collect(det(s*eye(2)-(A11-H*A21)),s);>> eq=collect(det(s*eye(2)-(A11-H*A21)),s); >> eqq=vpa(eq,4)>> [h1,h2]=solve('55.84*h1 + 57.29*h2 - 0.5=6','- 388.9*h1 + 55.84*h2 + 6.3=25','h1','h2') h1 = -0.02789 h2 = 0.14064程序运行后得到降维状态观测器运动方程为w =[ 1.5574 2.5978−14.1512−7.5551]+[0.2733−1.3779]u +[0.2962−0.4362]yx ̂1=w +[−0.0279−0.1406]y将x ̂变换到x ̂状态空间:R =Q−1[E]=[1001−6.30.5] S =Q−1[E1]=[[−0.02790.14060.3480]] x ̂=[x ̂1x ̂2x ̂3]=[1001−6.30.5][w 1w 2]+[−0.02790.14060.3480]y8)绘制带状态反馈增益矩阵K 与降维状态观测器的系统模型 [A,B,C,D]=linmod2('module3'); sys=ss(A,B,C,D); step(sys);4.实验结果程序运行后得到状态反馈增益矩阵K与降维状态观测器系统的单位阶跃响应曲线与带状态反馈增益矩阵K和状态观测器的系统单位阶跃响应曲线相差无几,说明系统不仅稳定,而且性能指标满足要求。
全维状态观测器与降维状态观测器不改变系统的输出响应。
总结本次报告实验说明,线性变换不改变系统的传递函数,基于状态空间的极点配置不需要附加矫正装置,是改变系统指标的简单可行的重要技术措施;全维状态观测器与降维观测器不影响系统的输出响应不起什么作用。
系统module1,module2,module3三者的阶跃响应曲线的特征、形状都基本相同,响应指标数据也非常接近,都使原发散震荡的不稳定系统变成性能指标优良的稳定系统。
参考文献[1] 王万良. 自动控制原理, 北京:科学出版社,2001.[2] 张家生. 连续系统设计极点配置方法研究[J].计算技术与自动化,2003.2(6).[3] 陈晓平,和卫星,傅海军. 线性系统理论,机械工业出版社,2011年1月,第一版.[4] 阙志宏,等. 线性系统理论[M].西安:西北工业大学出版社.1994.[5] 高等应用数学问题的MATLAB求解[M]. 清华大学出版社 , 薛定宇,陈阳泉著, 2004.[6] 线性系统理论[M]. 清华大学出版社 , 郑大钟编著, 1990.。