文档库 最新最全的文档下载
当前位置:文档库 › 利用MATLAB设计状态观测器—现代控制理论实验报告

利用MATLAB设计状态观测器—现代控制理论实验报告

利用MATLAB设计状态观测器—现代控制理论实验报告
利用MATLAB设计状态观测器—现代控制理论实验报告

实验六利用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、降阶观测器模型:

???w Aw

By Fu =++ b x w Ly =+

基于降阶观测器的输出反馈控制器是:

????()[()]()b a b

b a b w A FK w B F K K L y u K w K K L y

=-+-+=--+

对于降阶观测器的设计,使用MATLAB 软件中的函数

L=(acker(Abb’,Aab’,V))’

L=(place(Abb’,Aab’,V))’ 可以得到观测器的增益矩阵L 。其中的V 是由降阶观测器的期望极点所组成的向量。

实验要求

1.在运行以上例程序的基础上,考虑图6.3所示的调节器系统,试针对被控对象设计基于全阶观测器和降

阶观测器的输出反馈控制器。设极点配置部分希望的闭环极点是1,22j λ=-±

(a ) 对于全阶观测器,1

8μ=-和 28μ=-; (b ) 对于降阶观测器,8μ=-。

比较系统对下列指定初始条件的响应:

(a ) 对于全阶观测器:

1212(0)1,(0)0,(0)1,(0)0x x e e ====

(b ) 对于降阶观测器:

121(0)1,(0)0,(0)1x x e ===

进一步比较两个系统的带宽。

图6.3 调节器系统

2.假设SISO 受控系统的开环传递函数为 21()G s s = (1)若根据系统的性能指标要求,希望配置的系统极点为

12,33,22j λλ=-=-±

求受控系统的状态反馈矩阵。

(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+u+y 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]

得到状态反馈后的状态变量的状态响应曲线:

于是有,全阶观测器的输出反馈控制器为:

=(A-LC+BK)x+Ly=x+y 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 =

6

Ahat =

-8

Bhat =

-48

Fhat =

1

计算得出,降阶观测器的增益矩阵L=[6]

相应的降阶观测器是:

???

=++ =[-8]w+[-48]y+[1]u

w Aw By Fu

2)计算全阶观测器的状态反馈矩阵K及其状态响应Ahat=[-8];

Bhat=[-48];

Fhat=[1];

K=[-2];

sys=ss(Ahat-Fhat*K,eye(1),eye(1),eye(1));

t=0:0.01:20;

w=initial(sys,[-1],t);

plot(t,w);

xlabel('t(sec)');

ylabel('w');

得到状态响应曲线如下图所示:

二、开环传递函数

1)求受控系统的状态反馈矩阵

执行以下应用函数acker编制的M-文件:A=[0 1 0;0 0 1;0 0 0];

B=[0;0;1];

J=[-3 -2+j*2 –2-j*2];

K=acker(A,B,J)

得到

K=[-24 -20 -7]

2)设计观测器反馈系数矩阵L

a = [0 1 0;0 0 1;0 0 0];

b = [0;0;1];

c = [1 0 0];

v = [-3 -3 -3];

l = (acker(a',c',v))'

l =

9

27

27

计算得出,全维观测器的增益矩阵L=[]

相关文档