线性系统理论的实验作业:
1.找一个3阶单输入单输出系统;
2.设计降维观测器(极点自己选);
3.设计带降维观测器的状态反馈系统;
4.讨论降维观测器极点配置和状态反馈极点的关系;
5.画出状态变量及观测误差曲线。
一.给定系统
u x ⎥⎥
⎥⎦
⎤
⎢⎢⎢⎣⎡-+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=011131413121211444x .
[]x y 111=
1.设计一个降维观测器使其极点为-3,-4.
2.设计带观测器的状态反馈系统,使其极点为-1+
j2,-1. 3.讨论降维观测器的极点和状态反馈极点的关系。
4.画出状态变量及观测误差随时间变化的曲线。
解:(1)构造坐标变换矩阵。
P=⎥
⎥⎥⎦
⎤⎢⎢⎢⎣⎡=⎥⎦⎤⎢⎣⎡100010111L C [] 100010111 2 1
1Q Q Q P =⎥⎥⎥⎦
⎤
⎢⎢⎢⎣⎡--==-
用线性变换PX =x —
将系统变换成∑⎪⎪⎭
⎫
⎝
⎛C B
A _
_
_
,其中 []001C 010 01131111106 =⎥⎥⎥⎦
⎤
⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----==-B P PA A 对于本例而言,降维观测器的的维数为n-p=2
降维观测器期望特征多项式为
127)4)(3()(f 2
++=++=λλλλλ。
引入反馈阵⎥⎥⎦
⎤
⎢⎢⎣
⎡=g g
G 21_
_
—
得到降维观测器的特征多项式为g g 212
11-1g --++λλ)(—
比较两个多项式得:6g2 51-=-=g 可以得到降维观测方程:
y
6-5- 2u
01-y 5460 6-16-1- ^^.
^^⎥⎦
⎤⎢⎣⎡+=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡=ωωωx 。
(为可以测量的,因为这里的的观测值或者是估计值为x1
x2 2^
x )
执行以下的m 文件 >> A11=6;
A22=[-1,-1;1,0]; A12=[0,-1]; A21=[-11;-13]; B1=0; B2=[-1;0]; V=[-3,-4];
G=(acker(A22',A12',V))' Ahat=A22-L*A12
Bhat=Ahat*G+A21-G*A11 Fhat=B2-G*B1 G =
-5 -6
Ahat =
-1 -6 1 -6
Bhat =
60 54
Fhat =
-1 0
因此降解观测器的增益矩阵G=⎥⎦
⎤
⎢
⎣⎡--65,具有期望极点的降阶观测器为 y
6-5- 2u
01-y 5460 6-16-1- ^^.
^^⎥⎦
⎤⎢⎣⎡+=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡=ωωωx 。
(2)设计带此降维观测器的状态反馈系统
由传递函数知道系统能控且能观,因此存在状态反馈和状态观测器,根据分离特性可以分别进行设计,观测器已经设计完毕,现在来求状态反馈阵K ,令K=
[]321k k k 得到闭环系统矩阵为A+BK=⎥⎥
⎥⎦
⎤⎢⎢⎢⎣⎡------+++13141331221211134241
4k k k k k k 以及闭环
特征
多项式
f (λ)
=36213184)153268()512(1
2
3
k k k k k k k k -+--++-+--+λλλ 与期望特征多项式比较:k1=-1305,k2=-1286,k3=-1099.
执行如下m 文件:
A=[4,4,4;-11,-12,-12;13,14,13]; B=[1;-1;0]; C=[1,1,1];
J=[-1+j*2,-1-j*2,-1]; K=acker(A,B,J)
其解果如下截图: K =
187 179 140 (加个负号与我们计算值相等)
(3)讨论降维观测器极点和状态反馈极点的关系,二者独立,相互分离。
答:设状态估计误差为
,引入等效变换:
,
令变换矩阵为
经线性变换后的系统
为:
或者展开为:
由于线性变换不改变系统的极点,因此有:
式子表明:由观测器构成状态反馈的闭环系统,其特征多项式等于矩阵(A+BK)与矩阵(A-HC)的特征多项式的乘积,即闭环系统的极点等于直接状态反馈(A+BK)的极点和状态观测期(A-HC)的极点的总合,而且二者独立,相互分离。
(4) 状态变量及观测误差随时间变化的曲线
执行以下m文件可确定基于观测器的控制器传递函数(系统整体闭环传递函数) A=[4,4,4;-11,-12,-12;13,14,13];
B=[1;-1;0];
A11=6;
A22=[-1,-1;1,0];
A12=[0,-1];
A21=[-11;-13];
B1=0;
B2=[-1;0];
Ka=187;Kb=[179,140];
G=[-5;-6];
Ahat=A22-G*A12
Bhat=Ahat*G+A21-G*A11
Fhat=B2-G*B1
Atilde=Ahat-Fhat*Kb;
Btilde=Bhat-Fhat*(Ka+Kb*G);
Ctilde=-Kb;
Dtilde=-(Ka+Kb*G);
[num,den]=ss2tf(Atilde,Btilde,-Ctilde,-Dtilde)
f=tf(num,den)
执行结果如下图所示:
num =
1.0e+003 *
-1.5480 7.4640 3.8280
den =
1 -17
2 -1202
Transfer function:
-1548 s^2 + 7464 s + 3828 ------------------------- s^2 - 172 s – 1202
因此控制系统的闭环传递函数为1202
-172s -s^23828
7464s s^2 -1548 x c ++=)(G
已知闭环系统的初始条件为
=状态变量的初值,及观测误差的初值,三路状态变量,两路状态误差
基于闭环系统模型,编写并执行以下程序 A=[4,4,4;-11,-12,-12;13,14,13]; B=[1;-1;0];
K=[187,179,140]; Kb=[179,140]; G=[-5;-6];
A22=[-1,-1;1,0]; A12=[0,-1];
AA=[A-B*K,B*Kb;zeros(2,3),A22-G*A12]; sys=ss(AA,eye(5),eye(5),eye(5)); t=[0:0.01:8];
x=initial(sys,[1;0;0;1;0],t); x1=[1,0,0,0,0]*x'; x2=[0,1,0,0,0]*x'; x3=[0,0,1,0,0]*x'; e1=[0,0,0,1,0]*x'; e2=[0,0,0,0,1]*x';
subplot(321)
plot(t,x1)
grid on
ylabel('x1')
subplot(322)
plot(t,x2)
grid on
ylabel('x2')
subplot(323)
plot(t,x3)
grid on
ylabel('x3')
subplot(324);
plot(t,e1)
grid on
xlabel('t(sec)')
ylabel('e1')
subplot(325)
plot(t,e2)
grid on
xlabel('t(sec)');
ylabel('e2');
程序执行后所产生的的闭环系统的响应曲线如下。