状态观测器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五、状态观测器的设计
一、实验目的
1、 掌握全维观测器的构成及设计方法。
2、 研究状态反馈极点配置在状态观测器中的应用。
3、 掌握利用MATLAB 程序代码实现给定系统状态观测器的设计。
二、实验设备
计算机一台
三、实验原理
利用状态反馈配置系统极点时,需要用传感器测量状态变量来实现反馈,但通常系统状态不可或不易测得,于是提出利用测量系统的输入量和输出量重构状态,建立状态观测器,使之在一定指标下和系统的真实状态()x t 等价,即lim[()()]0t x t x t ∧
→∝-=。 1、 全维状态观测器
利用输出测量值和输入控制值观测系统的全部状态。
实验范例:
给定线性定常系统为
x Ax Bu ∙
=+ y Cx =
[]010,,102001A B C ⎡⎤⎡⎤===⎢⎥⎢⎥⎣⎦⎣⎦
利用状态观测器构成全维状态反馈系统,期望系统的闭环极点为qj Φ1=-2.5+j*4 qj Φ2=0 -2.5-j*4,全维状态观测器的期望特征值Gcqj1=-10,Gcqj2=-10。采用MATLAB 确定相应的状态反馈增益矩阵K 和观测器增益矩阵Ke 。
MATLAB 的程序代码
A=[0 1;20 0];
B=[0;1];
C=[1 0];
D=[0];
Q=[B,A*B];
Rank(Q)
运行结果如下:
ans = %能控测矩阵的秩
2
结果说明,系统完全可控,因此可实现极点任意配置。
=[-2.5+j*4 0;0 -2.5-j*4];
qj
Poly(J) %计算期望闭环极点的多项式
ans =
1.0000 5.0000 2
2.2500
;
Qbd=polyvalm(poly(J),A);
K=[0 1]*inv(Q)*Qbd %计算状态反馈增益矩阵K
K =
42.2500 5.0000
Obv=[C',A'*C'];
Rank(Obv) %能观测矩阵的秩
ans =
2
Gcqj=[-10 0;0 -10];
Poly(-2.5+j*4 0;0 -2.5-j*4) %计算期望观测器极点的多项式ans =
1 20 100
Gqbd=polyvalm(poly(Gcqj),A);
Ke=Gqbd*(inv(Obv'))*[0;1] %计算观测器增益矩阵Ke Ke =
20
120
G=[eig(A-B*K);eig(A-Ke*C)]
G =
-2.5000 + 4.0000i
-2.5000 - 4.0000i
-10.0000
-10.0000
poly(G)
ans =
1.0e+003 *
0.0010 0.0250 0.2222 0.9450 2.2250
2、降维状态观测器
对于q 维输出系统,由传感器直接得到输出量,经线性变换可获得q 个状态变量,因此观测器只需估计n q -个状态变量,称其为n q -维状态观测器。
实验范例:已知被控系统动态方程为
112233120031000211x x x x u x x ∙∙∙⎡⎤⎢⎥⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=-+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣
⎦⎣⎦⎣⎦⎢⎥⎣⎦
[]123111x y x x ⎡⎤⎢⎥=-⎢⎥⎢⎥⎣⎦
设计(n-q)维状态观测器,期望特征值为-4。
MATLAB 的程序代码:
A=[1 2 0;3 -1 1;0 2 1]
C=[-1 1 1]
RT=[C',A'*C',(A')^2*C']; %计算被控系统可观测的秩 Rank(RT)
ans =
3
由于3n =,q =1,故n q -=2为重构状态观测器的维数。 D=[1 0 0;0 1 0]
D =
1 0 0
0 1 0
Q=[D;C]
Q =
1 0 0
0 1 0
-1 1 1
T=inv(Q)
T =
1 0 0
0 1 0
1 -1 1
CC=C*T
CC =
0 0 1
AA=Q*A*T
AA =
1 2 0
4 -2 1
4 -3 2
AA11=[1 2;4 -2];
AA21=[4 -3];
P=poly(AA11)
P =
1 1 -10
a1=P(2);
a2=P(3);
RT=[AA21' AA11'*AA21']; W=[a1 1;1 0]
W =
1 1
1 0
W=[a1 1;1 0];
Qw=[-4 -4];
PP=poly(Qw)
PP =
1 8 16
aa1=PP(2);
aa2=PP(3);
H=inv(W*RT')*[aa2-a2;aa1-a1] %观测器增益矩阵为:
H =
4.8438
4.1250
四、实验内容:
利用MATLAB 设计状态观测器:已知线性时不变系统
122201101011x x u ∙---⎡⎤⎡⎤⎢⎥⎢⎥=-+⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦ []110y x =
1) 设计特征值为-3,-3和-4的一个三维状态观测器。
2) 设计特征值为-3和-4的二维状态观测器。
五、实验报告
1、 分别画出实验内容所要求的两种状态观测器的结构图。
2、 编写MATLAB 程序代码,计算出实验内容所要求的两种状态观测
器增益矩阵。
六、预习要求
1、 阅读实验内容。
2、 推导全维状态观测器与降维状态观测器的特征方程及动态方程。
3、 总结状态观测器的设计步骤。