线性系统极点配置和状态观测器基于设计(matlab) - 最新版本
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一. 极点配置原理
假设原系统的状态空间模型为:
⎩⎨⎧=+=Cx
y Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且:
这时,闭环系统的状态空间模型为:
()x A BK x Bv y Cx =-+⎧⎨
=⎩
二. 状态观测器设计原理
假设原系统的状态空间模型为:
⎩⎨⎧=+=Cx
y Bu Ax x 若系统是完全可观的,则可引入全维状态观测器,且:
ˆˆ(y y)ˆˆx Ax Bu G y Cx ⎧=++-⎪⎨=⎪⎩
设ˆx x x
=-,闭环系统的状态空间模型为: ()x A GC x =-
解得:
(A GC)t
(0),t 0x e
x -=≥
由上式可以看出,在t 0≥所有时间内,如果(0)x =0,即状态估计值x 与x 相等。如果(0)0x ≠,两者初值不相等,但是()A GC -的所有特征值具有负实部,这样
x 就能渐进衰减至零,观测器的状态向量ˆx
就能够渐进地逼近实际状态向量x 。状态逼近的速度取决于G 的选择和A GC -的特征配置。
三. 状态观测的实现
为什么要输出y 和输入u 对系统状态x 进行重构。
u Kx v =-+
证明 输出方程对t 逐次求导,并将状态方程x Ax Bu =+代入整理,得
2(n 1)(n 2)(n 3)21n n y Cx
y CBu CAx y CBu CABu CA x y CBu CABu CA Bu CA x
-----=⎧⎪-=⎪⎪--=⎨⎪⎪⎪----=⎩
将等号左边分别用z 的各分量12,,
,n z z z 表示,有
121(n 1)(n 2)(n 3)
2
n n n y C z y CBu CA z z y CBu CABu x Qx z CA y CBu CABu CA Bu -----⎡⎤
⎧⎡⎤⎡⎤⎢⎥⎪
-⎢⎥
⎢⎥⎢⎥⎪
⎪
⎢
⎥⎢⎥⎢⎥==--==⎨⎢
⎥⎢⎥⎢⎥⎪⎢⎥⎢⎥⎢⎥⎪⎣⎦⎣⎦⎢⎥⎪----⎩⎣
⎦
如果系统完全能观,则
rankQ n =
即
1ˆ(Q Q)T T
x Q z -= (类似于最小二乘参数估计) 综上所述,构造一个新系统z ,它是以原系统的输出y 和输入u ,其输出经过变
换1(Q Q)T T Q -后得到状态向量ˆx
。也就是说系统完全能观,状态就能被系统的输入输出以及各阶倒数估计出来。
四. 实例
给定受控系统为
再指定期望的闭环极点为12,341,1,2i λλλ***
=-=-±=-,观测器的特征值为
12,33,32i λλ=-=-±,试设计一个观测器和一个状态反馈控制系统,并画出系统
的组成结构图。
[]0100000101000100
05
021000x x u y x
⎡⎤⎡⎤
⎢⎥⎢⎥-⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦
=
1. 状态反馈设计:
第一步、判断系统的能控性。
23001
02102040201020100Q rank B
AB
A B
A B ⎡⎤⎢⎥⎢⎥⎡⎤===⎣⎦⎢⎥--⎢⎥--⎣⎦
可知系统完全能控,可任意配置极点x 。
第二步、写出原系统和极点配置后系统的特征多项式。
42det(sI )5A s s -=-;
432det(sI (A ))510104BK s s s s --=++++。
则:01230,0,5,0αααα===-=,01234,10,10,5αααα****
====。
第三步、求出矩阵p 。
33
223123
10003010100030110002010002P A B
A B
AB
B α
ααααα-⎡⎤⎡⎤
⎢⎥⎢⎥-⎢⎥⎢⎥⎡⎤==⎣⎦⎢⎥⎢⎥-⎢
⎥⎢⎥-⎣⎦
⎣⎦ 11/3
01/6001/301/6001/200001/2P ---⎡⎤⎢⎥--⎢⎥=⎢⎥-⎢⎥
-⎣⎦ 第四步、求出k 。
[]1
00
1122334/310/349/325/6K P αααααααα*
***-⎡⎤=----=----⎣⎦。
2. 观测器设计:
第一步、判断系统的能观性。
12310000
100400100001C CA Q rank CA CA ⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢
⎥===⎢⎥⎢⎥
-⎢⎥⎢⎥
-⎣⎦⎣⎦
可知系统完全能观,能对系统状态x 重构。
第二步、判断C 的秩和状态方程是否是降维观测器的形式,写出各矩阵以及观测器特征多项式。
1rankC =;
[]1112212212001010,100,0,001,B 0,B 000502A A A A -⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥======⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦
。 ()3293139s s s s α=+++。
第三步、设出[]123L l l l =并求出L 。
()()()3222121213det 55sI A LA s l s l s l l -+=+-+-+;
93684L ⎡⎤
⎢⎥=-⎢⎥⎢⎥-⎣⎦
。 第四步、写出z 。
9104513601240084505761z z y u ---⎡⎤⎡⎤⎡⎤
⎢⎥⎢⎥⎢⎥=++⎢⎥⎢⎥⎢⎥
⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦
。 第五步、写出ˆx
。 12310009100ˆ3601084001y z x
z z ⎡⎤
⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥
⎢⎥-⎢⎥
⎢⎥-⎣⎦⎣⎦
。
3.matlab 计算:
B=[0 1 0 -2]';
C=[1 0 0 0]; %输入状态方程的矩阵 D=0;
A12=[1 0 0];
A22=[0 -1 0;0 0 1;0 5 0];
m=rank(ctrb(A,B)) %判断系统是否完全能控