全维.降维观测器
本文通过具体的例子阐明如何在 MATLAB系统中进行全维状态观测器和降维状态观测器的设计。MATLAB 为状态空间设计提供了很多有用的函数,方便了矩阵方程的求解,其中的MATLAB 里面提供的库函数对全维状态观测器和降维状态观测器的设计也显得非常地方便。
现通过例子说明如何用 MATLAB 设计状态观测器。为了评价 MATLAB 所设计的状态观测器的性能,本文通过在 SIMULINK 环境下来仿真一个三阶状态观测器,来说明用 MATLAB 设计状态观测器的准确性。
1、全维观测器的设计
已知三阶系统的状态空间方程为:
⎡
X ⎢2-11⎤⎡2⎤
=⎢0-12⎥x +⎢0⎥u y =[210]
⎢⎥⎥⎢⎥x
⎣10-2⎦⎢⎣1⎥⎦
首先检验系统的是否完全能观
A=[2 -1 1;0 -1 2;1 0 -2];
C=[2 1 0];
N=[C;C*A;C*A*A]
rank(N)
⎡210⎤
N =⎢⎢4-34⎥
⎢12-110⎥
⎣⎥⎦
rank(N)
ans = 3 ,说明系统是完全能观的。
下面选择观测器需要配置的期望极点为:s 1 =-12 s
由此求出观测器增益矩阵G :
A=[2 -1 1;0 -1 2;1 0 -2];
C=[2 1 0];
P =[-12;-3+0.88*i;-3-0.88*i];
G = acker(A',C',P);
求得G = [11.6527 -6.3054 1.0619] 2, 3 =-3±0.88i
可得全维观测器的方程为:
⎡-21. 3054-12. 65271. 0000⎤⎡2⎤⎡11. 6527⎤⎥~⎢0⎥u +⎢-6. 3054⎥y ~ =(A -GC ) ~x x +Bu +Gy =⎢12. 61085. 30542. 0000x +⎢⎥⎢⎥⎢⎥⎢⎣-1. 1238-1. 0619-2. 0000⎥⎦⎢⎣1⎥⎦⎢⎣1. 0619⎥⎦
下面可依据上式构建simulink 图,据此观察观测器的跟踪能力
:
跟踪效果图如下: X1
X2
X3
从图中可以看出状态观测器的状态X1,X2,X3 能够完全估计原三阶系统的状态。如果原三阶系统和其状态观测器的初始状态不同,状态观测器的状态
X1,X2,X3 不能同原三阶系统状态完全一致,但能很快跟踪原三阶系统状态(主要取决于状态观测器的响应速度,即状态观测器的极点配置。)
2、降维观测器设计
从上面的全维观测器输出方程可以看出,此系统输出就等于第一个状态,因此该状态可以有输出求得,即变换矩阵P 为单位阵,而降维观测器的阶次为2。 =a =b =c =d
降维观测器的期望特征根选为-3±0.88i
=-1=1⎡0⎤ ⎡0⎤ ⎡-11⎤ 21=⎢⎥2=22=⎢2=[00]⎢⎥⎥⎣1⎦⎣1⎦⎣0-1⎦=[-2-2]=2
x x n -q +(21-l ) y +(2-l 1) u +l y ~n -q =(22-l )
据此求观测器增益
a22=[-1 1;0 -1];
a12=[-2 -2];
pe=[-3+1i*2*7^(1/2)/3;-3-1i*2*7^(1/2)/3];
lt=acker(a22',a12',pe);
l=lt'
⎡1. 5556⎤求得l =⎢⎥ ,得到
⎣-3. 5556⎦
n -q =⎢⎡2. 1112
⎣-7. 1112⎡1. 5556⎤⎡-3. 1112⎤⎡1. 5556⎤4. 1112⎤ +y +u +⎥n -q ⎢⎥⎢⎥⎢⎥y -8. 1112⎦⎣-2. 5556⎦⎣8. 1112⎦⎣-3. 5556⎦引入中间变量
η=x ~n -q -ly =x ~n -q -⎢⎡1. 5556⎤⎥y -3. 5556⎣⎦
得降维观测器的状态方程为
⎡2. 1112 =⎢η⎣-7. 1112⎡y ⎤⎡-9. 778⎤⎡-3. 1112⎤4. 1112⎤⎢⎥η+y +u x =η+2y ~1⎥⎢⎥⎢⎥⎢⎥-8. 1112⎦⎣15. 2224⎦⎣8. 1112⎦⎢η2+4y ⎥⎣⎦下面可依据上式构建simulink 图,据此观察观测器的跟踪能力
X2
X3
从降维观测器仿真的输出图形中可以看出,系统状态变量X2、X3的跟踪能力比较理想。
3、结论
本文提供了一种利用 MATLAB 软件,方便、快捷地设计全维状态观测器的方法。通过本方法很容易设计出不同参数下性能良好的状态观测器,从而容易仿真出状态观测器参数变化对状态跟踪性能的影响。进一步可以对具有状态观测器的反馈控制系统进行设计和仿真,能够迅速地对系统在不同参数下进行性能仿真。
参考文献
〔1〕薛定宇. 科学运算语言 MATLAB5.3 程序设计与应用〔M 〕. 北京:清华大学出版社,2000.
〔2〕魏克新. MATLAB 语言与自动控制系统设计[M].北京:机械工业出版社,1999.