资源描述
现代控制理论实验指导书
18
2020年4月19日
文档仅供参考,不当之处,请联系改正。
现代控制理论基础
实
验
报
告
姓 名:余国宏
学 号:
班 级:141142A
指导老师:刘家学
实验一:状态空间的实现及状态方程求解
一、 实验内容
已知某系统传递函数
1. 列出可控标准形表示式以及状态图。
2. 选择合适的采样周期,对状态方程离散化。
3. 求时的单位阶跃响应。
4. 选取不同的采样周期,分析采样周期变化对暂态性能的影响。
二、 实验步骤
1、系统可控标准型
状态图
2、 采样周期的选择
由系统传递函数可得:
(1-1)
系统极点,,取主导极点,对系统降阶处理,得到二阶特征方程:
(1-2)
由此可得振荡角频率,阻尼比,可计算出调节时间:
(1-3)
为了观测到整个调节过程,取,取40个采样点,采样周期为0.1秒。
3、 单位阶跃响应
(1) 用Matlab程序求离散化之后系统的阶跃响应
A=[0 1 0;0 0 1;-90 -39 -13];B=[0;0;1];
X0=[1;1;1];
T=0.1; %采样周期为0.1秒
[G,H]=c2d(A,B,T); %求离散化之后系统矩阵
S=zeros(3,100);
S(:,1)=X0;
for K=2:100;S(:,K)=G*S(:,K-1)+H;end;
figure;
subplot(2,2,1);plot(S(1,:));grid; %画出三个状态变量得曲线
subplot(2,2,2);plot(S(2,:));grid;
subplot(2,2,3);plot(S(3,:));grid
(2) 仿真曲线
(3) 改变采样周期为0.05秒,波形如下
能够看出采样周期变小,状态变量的调节时间越长,而超调量,稳态值不变。
实验二、线性系统状态反馈设计
一、实验内容
已知系统状态方程如下
设计状态反馈阵K,使系统极点为
二、实验步骤
1、 理论分析
(1) 系统可控性
可控性矩阵
系统完全可控
(2) 可控标准形变换阵P
由s可得
(3) 配置极点
经线性变换之后
取,则系统的状态反馈阵的特征多项式为
(2-1)
由希望的闭环极点可得其特征多项式为
(2-2)
对比式(2-1)和(2-2),取
(2-3)
2、 Matlab仿真
(1) 程序
A=[0 0 4;1 -1 0;1 1 -1];
B=[1;0;0];
C=[0 1 1];
D=0;
P=[-2 -1+1.732i -1-1.732i]; %期望极点
K=place(A,B,P);
G=ss(A,B,C,D);
Gc=ss(A-B*K,B,C,D);
subplot(1,2,1);step(G); %比较设置状态反馈前后系统的输出
subplot(1,2,2);step(Gc);
(2) 仿真结果
由此可见,原系统是不稳定的,加入状态反馈之后变稳定了,经过状态反馈阵K来配置可控系统的极点,改变系统的稳定性。
实验三、状态观测器的设计
一、 实验内容
已知系统的状态方程为
(1) 设计系统的状态反馈阵K,使得闭环极点为
(2) 分别设计状态观测器,使极点为
,观察不同初始偏差下的响应情况
二、 实验步骤
1、 理论计算
(1) 状态反馈阵K
按照上一个实验的方法计算可得
(2) 状态观测器反馈阵H
系统可观性,可观性矩阵
可知系统完全可观,极点能够配置,
取观测器的反馈矩阵为
观测器得特征多项式为
(3-1)
当极点为(-5 -5 -5)时观测器希望的特征多项式为
(3-2)
对比式(3-1)和(3-2)得
2、 Matlab仿真
(1) 程序
A=[0 0 0;1 -1 0;0 1 -1];B=[1;0;0];C=[0 0 1];D=[0];
P=[-2 -1+(sqrt(3))*i -1-(sqrt(3))*i]; %状态反馈期望极点
K=place(A,B,P);
G=ss(A,B,C,D); %创立原系统ss对象G
Gs=ss(A-B*K,B,C,D); %创立加入状态反馈后的系
t=0:0.1:10; 统ss对象Gs
u=ones(size(t));
x0=[1;2;3];
[y,t,x]=lsim(G,u,t,x0);
[ys,t,xs]=lsim(Gs,u,t,x0);
figure;
plot(t,y);hold on,plot(t,ys,'-.'); %画出状态反馈前后的输出响应
Po=[-5 -5 -5]; %观测器期望的极点
H=acker(A',C',Po)';
E=[A-B*K B*K;zeros(size(A)) A-H*C]; %构造加入观测器之后的
F=[B;zeros(size(B))]; 增广矩阵
M=[C zeros(size(C))];
N=[0];
Go=ss(E,F,M,N); %创立包含观测器的ss对象Go
[yo,t,xo]=lsim(Go,u,t,[x0;-1;-2;-3]);
figure;
plot(t,yo);hold on,plot(t,ys,'-.'); %画出加入观测器前
figure; 后系统的输出响应
subplot(1,3,1);
plot(t,xo(:,1),t,xo(:,1)-xo(:,4),'-.'); %画出原系统的状态响应以及
subplot(1,3,2); 观测器得状态响应
plot(t,xo(:,2),t,xo(:,2)-xo(:,5),'-.');
subplot(1,3,3);
plot(t,xo(:,3),t,xo(:,1)-xo(:,6),'-.');
(2) 仿真结果
a. 加入状态反馈前后的输出响应
原系统
加状态反馈
能够看出,原系统是不稳定的,加入状态反馈之后,经过配置极点变得稳定了。
b. 状态观测器的输出波形
原系统
观测器输出
观测器在经过一段时间之后,能准确的跟随原系统的输出
c. 给定初始偏差下,原系统状态波形与观测器状态波形
原系统状态 实线
观测器状态 虚线
初始偏差在经过一段时间之后,变为零,说明观测器的状态能够跟随原系统的变化,上图的波形是在极点为时的状态曲线
d. 当观测器的希望极点是时,波形如下
e. 当观测器的希望极点是时,波形如下
f. 当观测器的希望极点是时,波形如下:
经过比较可知,当观测器的极点,其距离虚轴越远,调节时间越短,即能够更加快速的跟随原系统的状态变化。
展开阅读全文