本文通过具体的例子阐明如何在 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