现代控制理论第五次上机实验报告实验六利用MATLAB设计状态观测器实验目的:1、学习观测器设计算法;2、通过编程、上机调试,掌握基于观测器的输出反馈控制系统设计方法。实验步骤1、基于观测器的输出反馈控制系统的设计,采用MATLAB的m-文件编程;2、在MATLAB界面下调试程序,并检查是否运行正确。实验要求1.在运行以上例程序的基础上,考虑图6.3所示的调节器系统,试针对被控对象设计基于全阶观测器和降阶观测器的输出反馈控制器。设极点配置部分希望的闭环极点是1,2223j,希望的观测器极点是(a)对于全阶观测器,18和28;(b)对于降阶观测器,8。比较系统对下列指定初始条件的响应:(a)对于全阶观测器:1212(0)1,(0)0,(0)1,(0)0xxee(b)对于降阶观测器:121(0)1,(0)0,(0)1xxe进一步比较两个系统的带宽。图6.3调节器系统设计闭环极点:a=[01;0-2];b=[0;1];c=[40];v1=[-2+j*2*sqrt(3)-2-j*2*sqrt(3)];K=acker(a,b,v1)K=16.00002.0000全阶状态观测器:v2=[-8-8];G=(acker((a-b*K)',c',v2))'G=30降阶状态观测器:T1=[01;40];T=[00.25;10];a1=T1*a*Tb1=T1*b;c1=c*T;Aaa=-2;Aab=0;Aba=4;Abb=0;Ba=1;Bb=0;v3=-8;l=(acker(Aaa,Aba,v3))Ahat=Abb-l*AabBhat=Ahat*l+Aba-l*AaaFhat=Bb-l*Baa1=-2040l=1.5000Ahat=0Bhat=7Fhat=-1.5000全阶观测器响应:sys=ss(a-b*K,[0;0],eye(2),0);t=0:0.01:4;x=initial(sys,[1;0],t);x1=[10]*x';x2=[01]*x';subplot(4,2,1);plot(t,x1),gridtitle('x1')ylabel('x1')subplot(4,2,2);plot(t,x2),gridtitle('x2')ylabel('x2')sys1=ss(a-G*c,[0;0],eye(2),0);t=0:0.01:4;e=initial(sys1,[1;0],t);e1=[10]*x'+x1;e2=[01]*x'+x2;subplot(4,2,3);plot(t,e1),gridtitle('全阶状态观测x1')ylabel('x1guji')subplot(4,2,4);plot(t,e2),gridtitle('全阶状态观测x2')ylabel('x2guji')降阶观测器响应:sys2=ss(Aaa-l*Aba,1,eye(1),0);t=0:0.01:4;e3=initial(sys2,1,t);e4=e3'+x1;e5=x2;subplot(4,2,5);plot(t,e4),gridtitle('降阶状态观测x1')ylabel('x1guji')subplot(4,2,6);plot(t,e5),gridtitle('降阶状态观测x2')ylabel('x2guji')由上述两图对比可得,降阶观测器衰减速度比全阶观测器快,带宽比全阶观测器窄。2.假设SISO受控系统的开环传递函数为21()Gss(1)若根据系统的性能指标要求,希望配置的系统极点为12,33,22j求受控系统的状态反馈矩阵。(2)设计观测器反馈系数矩阵L,使全维状态观测器的希望极点均为-3.状态反馈矩阵:A=[010;001;00-1];B=[0;0;1];C=[100];J=[-3-2+j*2-2-j*2];K=acker(A,B,J)K=24206全维观测器:v=[-3-3-3];L=acker(A,B,v)L=27278实验心得:这次实验做的很艰难,但一点点弄出来之后对观测器的理解也表的更加深刻,通过matlab编程仿真更加形象地了解了全阶观测器和降阶观测器的特点。