实 验 报 告
实验名称 利用MATLAB 实现极点配置、设计状态观测器
系 专业 自动化 班 姓名 学号 授课老师 预定时间
实验时间
实验台号
一、目的要求
1、掌握状态反馈与输出反馈的概念及性质。
2、掌握利用状态反馈进行极点配置的方法。
学会用MATLAB 求解状态反馈矩阵。
3、掌握状态观测器的设计方法。
学会用MATLAB 设计状态观测器。
4、熟悉分离定理,学会设计带有状态观测器的状态反馈系统。
二、原理简述
1、状态反馈与输出反馈
设线性定常系统的状态空间表达式为
Cx
y Bu Ax x =+=
如果采用状态反馈控制规律u= r-Kx ,其中 r 就是参考输入,则状态反馈闭环系统的传递函数为:
B BK A sI
C G k 1)]([---=
2、极点配置
如果 SISO 线性定常系统完全能控,则可通过适当的状态反馈, 将闭环系统极点配置到任意期望的位置。
MATLAB 提供的函数acker( )就是用Ackermann 公式求解状态反馈阵K 。
该函数的调用格 式为
K=acker(A,B,P)
其中A 与B 分别为系统矩阵与输入矩阵。
P 就是期望极点构成的向量。
MATLAB 提供的函数place( )也可求出状态反馈阵K 。
该函数的调用格式为 K=place(A,B,P)
函数place( )还适用于多变量系统极点配置,但不适用含有多重期望极点的问题。
函数acker( )不适用于多变量系统极点配置问题,但适用于含有多重期望极点问题。
三、仪器设备
PC 计算机,MATLAB 软件
⎣[
y1=lsim(G,u,t); plot(t,y1,':',t,y2,'-')
蓝色为配置前,绿色为配置后
题5-3 某系统状态空间描述如下
[]010100134326100x x u y x
⎡⎤⎡⎤
⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥----⎣⎦⎣⎦
= 设计全维状态观测器,要求状态观测器的极点为[]123---。
程序>> A=[0 1 0;0 0 1;-4 -3 -2];
B=[1;3;-6]'; C=[1 0 0]; D=0;
p=[-1 -2 -3]; L=(acker(A',C',p))' 结果:L = 4
0 -10。