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

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

实验六利用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,2223j λ=-±,希望的观测器极点是

(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 受控系统的开环传递函数为

2

1()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+u+y x A LC x Bu Ly

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');

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

相关文档
最新文档