利用MATLAB 实现极点配置、设计状态观测器(现代控制)

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

实 验 报 告
实验名称 利用MATLAB 实现极点配置、设计状态观测器
系 专业 自动化 班
姓名 学号 授课老师 预定时间 实验时间
实验台号 一、目的要求
1、掌握状态反馈和输出反馈的概念及性质。

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

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

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

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

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

原理简述
状态反馈和输出反馈
设线性定常系统的状态空间表达式为Cx y Bu Ax x =+=&
如果采用状态反馈控制规律u= r-Kx ,其中 r 是参考输入,则状态反馈闭环系统的传递函数为: B BK A sI C G k 1)]([---=
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 软件
内容步骤、数据处理
题5-1 某系统状态方程如下
[]0
10100134
326100x x u y x
⎡⎤⎡⎤⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥----⎣⎦⎣⎦=& []
(s+ (s^2 + +
------------------------------------
(s+30) (s+ (s^2 + +
>> A=[-10 -35 -50 -24;1 0 0 0;0 1 0 0;0 0 1 0];
B=[1;0;0;0];
C=[1 7 24 24];
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 某系统状态空间描述如下
[]0
10100134
326100x x u y x
⎡⎤⎡⎤⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥----⎣⎦⎣⎦=& 设计全维状态观测器,要求状态观测器的极点为
[]123---。

程序>> A=[0 1 0;0 0 1;-4 -3 -2];
B=[1;3;-6]';
C=[1 0 0];
D=0;。

相关文档
最新文档