..
利用MATLAB设计状态观测器
******* 学号 1121*****
实验六
实验目的:
1、学习观测器设计算法;
2、通过编程、上机调试,掌握基于观测器的输出反馈控制系统设计方法。 实验原理:
1、全阶观测器模型:
x?Ax?Bu?L(y?Cx)?(A?LC)x?Bu?Ly
由极点配置和观测器设计问题的对偶关系,也可以应用MATLAB中极点配置的函数来确定所需要的观测器增益矩阵。例如,对于单输入单输出系统,观测器的增益矩阵可以由函数
L=(acker(A’,C’,V))’
得到。其中的V是由期望的观测器极点所构成的向量。类似的,也可以用
L=(place(A’,C’,V))’
来确定一般系统的观测器矩阵,但这里要求V不包含相同的极点。 2、降阶观测器模型:
??By??Fu? w?Awxb?w?Ly
基于降阶观测器的输出反馈控制器是:
??FK?)w?[B??F?(K?KL)]yw?(Ababu??Kbw?(Ka?KbL)y对于降阶观测器的设计,使用MATLAB软件中的函数 L=(acker(Abb’,Aab’,V))’ 或
..
L=(place(Abb’,Aab’,V))’
可以得到观测器的增益矩阵L。其中的V是由降阶观测器的期望极点所组成的向量。 实验要求
1.在运行以上例程序的基础上,考虑图6.3所示的调节器系统,试针对被控对象设计基于全阶观测器和降阶观测器的输出反馈控制器。设极点配置部分希望的闭环极点是?1,2??2?j23,希望的观测器极点是
(a) 对于全阶观测器,?1(b) 对于降阶观测器,?(a) 对于全阶观测器:
??8和 ?2??8;
??8。
比较系统对下列指定初始条件的响应:
x1(0)?1,x2(0)?0,e1(0)?1,e2(0)?0
(b) 对于降阶观测器:
x1(0)?1,x2(0)?0,e1(0)?1
进一步比较两个系统的带宽。
图6.3 调节器系统
2.假设SISO受控系统的开环传递函数为
G(s)?1 s2(1)若根据系统的性能指标要求,希望配置的系统极点为
?1??3,?2,3??2?j2
求受控系统的状态反馈矩阵。
(2)设计观测器反馈系数矩阵L,使全维状态观测器的希望极点均为-3. 实验结果
一、 设计基于全阶观测器和降阶观测器的输出反馈控制器 1、全阶观测器:
1) 计算全阶观测器的增益矩阵L
由图6.3所示的调节器系统1/s*(s+2)得, 执行以下的M-文件: a=[0 1;0 -2]; b=[0;1]; c=[4 0]; v=[-8 -8]; l=(acker(a',c',v))' result:
..
l =
3.5000
9.0000
计算得出,全阶观测器的增益矩阵L=[3.5;9.0] 相应的全阶观测器是:
x?(A?LC)x?Bu?Ly=
x+2) 计算全阶观测器的状态反馈矩阵K及其状态响应 A=[0 1;0 -2]; B=[0;1];
J=[-2+j*2*sqrt(3) –2-j*2*sqrt(3)]; K=place(A,B,J);
sys=ss(A+B*K,eye(2),eye(2),eye(2)); t=0:0.01:20; x=initial(sys,[1;0],t); x1=[1 0]*x'; x2=[0 1]*x';
subplot(2,1,1);plot(t,x1);grid xlabel('t(sec)'); ylabel('x1');
subplot(2,1,2);plot(t,x2);grid xlabel('t(sec)');ylabel('x2'); 可以得到:K=[-16 -2]
得到状态反馈后的状态变量的状态响应曲线:
..
u+y
于是有,全阶观测器的输出反馈控制器为:
=(A-LC+BK)x+Ly=2、降阶观测器
1) 计算降阶观测器的增益矩阵L 执行以下的M-文件: Aaa=[0]; Aab=[1]; Aba=[0]; Abb=[-2]; Ba=[0]; Bb=[1]; v=[-8];
l=(acker(Abb',Aab',v))' Ahat=Abb-l*Aab Bhat=Ahat*l+Aba-l*Aaa Fhat=Bb-l*Ba result: l =
x+y
..