现代控制实验--状态反馈器和状态观测器的设计
- 格式:doc
- 大小:123.21 KB
- 文档页数:8
.
.
状态反馈器和状态观测器的设计
一、实验设备
PC 计算机,MATLAB 软件,控制理论实验台,示波器
二、实验目的
(1)
学习闭环系统极点配置定理及算法,学习全维状态观测器设计法;
(2)
掌握用极点配置的方法
(3)
掌握状态观测器设计方法
(4)
学会使用MATLAB工具进行初步的控制系统设计
三、实验原理及相关知识
(1)设系统的模型如式所示
.
.
若系统可控,则必可用状态反馈的方法进行极点配置来改变系统性能。
引入状态反馈后系统模型如下式所示:
(2)所给系统可观,则系统存在状态观测器
四、实验内容
(1)某系统状态方程如下
0101
00134326xxu•
.
.
100yx
理想闭环系统的极点为123.
(1)采用 Ackermann 公式计算法进行闭环系统极点配置;
代码:
A=[0 1 0;0 0 1;-4 -3 -2];
B=[1; 3; -6];
P=[-1 -2 -3];
K=acker(A,B,P)
Ac=A-B*K
eig(Ac)
(2)采用调用 place 函数法进行闭环系统极点配置;
代码:
A=[0 1 0;0 0 1;-4 -3 -2];
B=[1;3;-6];
eig(A)'
P=[-1 -2 -3];
K=place(A,B,P)
eig(A-B*K)'
.
.
(3)设计全维状态观测器,要求状态观测器的极点为
123
代码:
a=[0 1 0;0 0 1;-4 -3 -2];
b=[1;3;-6];
c=[1 0 0];
p=[-1 -2 -3];
a1=a';
b1=c';
c1=b';
K=acker(a1,b1,p);
h=(K)'
ahc=a-h*c
.
.
(2)已知系统状态方程为:
0101
00134326xxu•
100yx
(1)求状态反馈增益阵K,使反馈后闭环特征值为[-1 -2 -3];
代码:
A=[0 1 0;0 0 1;4 -3 -2];
b=[1;3;-6];
p=[-1 -2 -3];
k=acker(A,b,p)
A-b*k
eig(A-b*k)
(2)检验引入状态反馈后的特征值与希望极点是否一致。
(3)比较状态反馈前后的系统阶跃响应。
代码:
A1=[0 1 0;0 0 1;-4 -3 -2];
.
.
B1=[1;3;-6];
C1=[1 0 0];
D1=[0];
G1=ss(A1,B1,C1,D1);
[y1,t1,x1]=step(G1);
P=[-1 -2 -3];
K=acker(A1,B1,P);
abk=A1-B1*K;
A2=abk;
B2=B1;
C2=C1;
D2=D1;
G2=ss(A2,B2,C2,D2);
[y2,t2,x2]=step(G2);
hold on
plot(t1,x1)
plot(t2,x2)
.
.
(4)设计全阶状态观测器,要求状态观测器的极点为[-5 -6 -7]。
(5)检验全维状态观测器的特征值与希望特征值是否一致.
代码:
a=[0 1 0;0 0 1;-4 -3 -2];
b=[1;3;-6];
c=[1 0 0];
p=[-5 -6 -7];
a1=a';
b1=c';
c1=b';
K=acker(a1,b1,p);
h=(K)'
ahc=a-h*c
eig(a1-b1*K)'
.
.
五、实验心得
通过本次实验我学习了解了闭环系统极点配置定理及算法以及全维状态观
测器设计方法同时又了解到如何用极点配置和状态观测器设计方法,并且学会了
使用MATLAB工具进行初步的控制系统设计 。