利用matlab实现极点配置设计状态观测器现代控制.docx

上传人:b****8 文档编号:28423848 上传时间:2023-07-13 格式:DOCX 页数:12 大小:52.32KB
下载 相关 举报
利用matlab实现极点配置设计状态观测器现代控制.docx_第1页
第1页 / 共12页
利用matlab实现极点配置设计状态观测器现代控制.docx_第2页
第2页 / 共12页
利用matlab实现极点配置设计状态观测器现代控制.docx_第3页
第3页 / 共12页
利用matlab实现极点配置设计状态观测器现代控制.docx_第4页
第4页 / 共12页
利用matlab实现极点配置设计状态观测器现代控制.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

利用matlab实现极点配置设计状态观测器现代控制.docx

《利用matlab实现极点配置设计状态观测器现代控制.docx》由会员分享,可在线阅读,更多相关《利用matlab实现极点配置设计状态观测器现代控制.docx(12页珍藏版)》请在冰豆网上搜索。

利用matlab实现极点配置设计状态观测器现代控制.docx

利用matlab实现极点配置设计状态观测器现代控制

实验报告

实验名称利用MATLAB实现极点配置、设计状态观测器

专业

自动化

姓名

学号

授课老师

预定时间

实验时间

实验台号

一、目的要求

1、掌握状态反馈和输出反馈的概念及性质。

2、掌握利用状态反馈进行极点配置的方法。

学会用MATLAB求解状态反馈矩阵。

3、掌握状态观测器的设计方法。

学会用MATLAB设计状态观测器。

4、熟悉分离定理,学会设计带有状态观测器的状态反馈系统。

2、原理简述

1、状态反馈和输出反馈

设线性定常系统的状态空间表达式为

如果采用状态反馈控制规律u=r-Kx,其中r是参考输入,则状态反馈闭环系统的传递函数为:

2、极点配置

如果SISO线性定常系统完全能控,则可通过适当的状态反馈,将闭环系统极点配置到任意期望的位置。

MATLAB提供的函数acker()是用Ackermann公式求解状态反馈阵K。

该函数的调用格

式为

K=acker(A,B,P)

其中A和B分别为系统矩阵和输入矩阵。

P是期望极点构成的向量。

MATLAB提供的函数place()也可求出状态反馈阵K。

该函数的调用格式为

K=place(A,B,P)

函数place()还适用于多变量系统极点配置,但不适用含有多重期望极点的问题。

函数acker()不适用于多变量系统极点配置问题,但适用于含有多重期望极点问题。

三、仪器设备

PC计算机,MATLAB软件

4、内容步骤、数据处理

题5-1 某系统状态方程如下

理想闭环系统的极点为

,试

(1)采用直接计算法进行闭环系统极点配置;

(2)采用Ackermann公式计算法进行闭环系统极点配置;

(3)采用调用place函数法进行闭环系统极点配置。

>>A=[010;001;-4-3-2];

B=[1;3;6];

C=[100];

D=0;

G=ss(A,B,C,D);

[Q,D]=eig(A)

结果:

Q=

-+

+-

D=

00

0+0

00-

则矩阵A的特征根为:

,+,-

程序:

>>A=[010;001;-4-3-2];

B=[1;3;-6];

C=[100];

D=0;

p=[-1-2-3];

k=acker(A,B,p)

结果:

k=

验证:

>>A=[010;001;-4-3-2];

B=[1;3;6];

C=[100];

D=0;

k=[];

A1=A-B*k;

sys=ss(A1,B,C,D);

G1=zpk(sys)

结果:

Zero/pole/gain:

(s^2+5s+15)

-------------------------

(s+1)(s+(s+

则其极点为-1,-2,-3

(2)

程序:

>>A=[010;001;-4-3-2];

B=[1;3;-6];

C=[100];

D=0;

p=[-1-2-3];

k=place(A,B,p)

结果:

k=

验证:

程序:

>>A=[010;001;-4-3-2];

B=[1;3;-6];

C=[100];

D=0;

p=[-1-2-3];

k=place(A,B,p);

A1=A-B*k;

sys=ss(A1,B,C,D);

G1=zpk(sys)

结果:

Zero/pole/gain:

(s+(s+

--------------------

(s+3)(s+2)(s+1)

则其极点为-1,-2,-3

题5-2某控制系统的状态方程描述如下:

y=[172424]x

通过状态反馈使系统的闭环极点配置在[-30

]位置上,求出状态反馈矩阵K,验证闭环极点,并绘制闭环系统的阶跃响应曲线进行对比。

程序>>A=[-10-35-50-24;1000;0100;0010];

B=[1;0;0;0];

C=[172424];

D=0;

p=[-30+4i];

k=place(A,B,p)

结果:

k=

验证:

程序:

>>A=[-10-35-50-24;1000;0100;0010];

B=[1;0;0;0];

C=[172424];

D=0;

p=[-30+4i];

k=place(A,B,p);

A1=A-B*k;

sys=ss(A1,B,C,D);

G1=zpk(sys)

结果:

Zero/pole/gain:

(s+(s^2++

------------------------------------

(s+30)(s+(s^2++

>>A=[-10-35-50-24;1000;0100;0010];

B=[1;0;0;0];

C=[172424];

D=0;

G=ss(A,B,C,D);

p=[-30+4i];

k=place(A,B,p);

A1=A-B*k;

G1=ss(A1,B,C,D);

t=0:

:

20;

u=ones(size(t));

y2=lsim(G1,u,t);

y1=lsim(G,u,t);

plot(t,y1,':

',t,y2,'-')

蓝色为配置前,绿色为配置后

题5-3 某系统状态空间描述如下

设计全维状态观测器,要求状态观测器的极点为

程序>>A=[010;001;-4-3-2];

B=[1;3;-6]';

C=[100];

D=0;

p=[-1-2-3];

L=(acker(A',C',p))'

结果:

L=4

0

-10

题5-4已知系统

y=[660]x

(1)求系统的零点,极点和传递函数,并判断系统的能控性和能观测性。

(2)分别选取K=[030].K=[132],K=[031]为状态反馈矩阵,求解闭环系统的零点,极点和传递函数,并判断系统的能控性和能观测性。

它们是否发生改变为什么

(1)

程序

>>A=[010;001;-12-16-7];

B=[0;0;1];

C=[660];

D=0;

sys=ss(A,B,C,D);

G=zpk(sys)

结果:

Zero/pole/gain:

6(s+1)

-------------

(s+2)^2(s+3)

则系统的零点为:

-1

则系统的极点为:

-2,-2,-3

程序

>>A=[010;001;-12-16-7];

B=[0;0;1];

C=[660];

D=0;

Uc=ctrb(A,B);rank(Uc)

结果:

ans=3

则系统能控

程序:

>>A=[010;001;-12-16-7];

B=[0;0;1];

C=[660];

D=0;

Vo=obsv(A,C);

rank(Vo)

结果:

ans=3

则系统能观

(2)

①当k=[030]时:

程序>>A=[010;001;-12-16-7];

B=[0;0;1];

C=[660];

D=0;

k=[030];

A1=A-B*k;

sys=ss(A1,B,C,D);

G=zpk(sys)

结果:

Zero/pole/gain:

6(s+1)

---------------------------------

(s+(s^2++

则零点为-1

>>pole(G)

ans=

+

-

>>Uc=ctrb(A,B);rank(Uc)

ans=

3

>>Vo=obsv(A,C);

rank(Vo)

ans=

3

②当k=[132]时:

程序>>A=[010;001;-12-16-7];

B=[0;0;1];

C=[660];

D=0;

k=[132];

A1=A-B*k;

sys=ss(A1,B,C,D);

G=zpk(sys)

结果:

Zero/pole/gain:

6(s+1)

---------------------------------

(s+(s^2++

则闭环系统的零点为:

-1

>>pole(G)

ans=

+

-

>>Uc=ctrb(A,B);rank(Uc)

ans=

3

则系统具有能控性

>>Vo=obsv(A,C);

rank(Vo)

ans=

3

则系统具有能观测性

③当k=[013]时:

>>A=[010;001;-12-16-7];

B=[0;0;1];

C=[660];

D=0;

k=[013];

A1=A-B*k;

sys=ss(A1,B,C,D);

G=zpk(sys)

Zero/pole/gain:

6(s+1)

-------------------------------

(s+(s^2++

>>Uc=ctrb(A,B);rank(Uc)

ans=

3

则系统具有能控性

>>Vo=obsv(A,C);

rank(Vo)

ans=

3

则系统具有能观测性

分析:

系统完全能控则可以任意配置极点,配置极点不改变系统的能控性,但可能改变系统的能观测性。

不存在零极相消的情况下,则不改变系统的能观测性。

五、分析讨论

通过本次试验,掌握了状态反馈和输出反馈的概念及性质。

掌握了利用状态反馈进行极点配置的方法。

学会了用MATLAB求解状态反馈矩阵。

掌握了状态观测器的设计方法。

学会了用MATLAB设计状态观测器。

熟悉了分离定理,学会了设计简单的带有状态观测器的状态反馈系统。

原本通过平常的上课,对于一些概念我还是没有完全掌握,比如极点配置,状态反馈,输出反馈。

通过实验的验证,翻阅书籍,使我对于书本上的概念产生了更深的理解,学会了分析验证书本上的定理而不是盲目学习。

 

 

精心搜集整理,只为你的需要

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1