线性系统状态反馈与极点配置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
课程名称:现代控制理论
实验名称:线性系统状态反馈与极点配置一、实验目的
1. 学习并掌握利用MATLAB编程平台进行控制系统设计与仿真的方法。
2. 通过仿真实验,研究并总结线性定常系统状态反馈对系统控制性能影响的规律。
3. 通过仿真实验,研究并总结状态反馈对状态不完全能控系统控制性能影响的规律。
二、实验内容
(一)实验任务:
1. 自行选择一个状态完全能控型SISO系统模型及参数,并设定系统控制性能指标,根据性能指标要求计算期望的极点并进行极点配置,设计MatLab实验程序(或SimuLink模拟图)及实验步骤,仿真研究状态反馈矩阵对系统控制性能的影响;
2. 自行选择一个状态不完全能控型SISO系统模型及参数,并设定系统控制性能指标,根据性能指标要求进行极点配置,设计MatLab实验程序(或SimuLink模拟图)及实验步骤,仿真研究状态反馈矩阵对系统控制性能的影响;根据实验结果,总结各自的规律。
三、实验设计
1.实验条件
1.利用本学期所学的现代控制理论的知识为基础。
2.笔记本电脑,matlab
四、实验过程
1.设计状态完全能控型SISO系统模型及参数:
X=(01
01)X+(0
1
)X
y=(11)X
a)首先判断系统的能控性
[X XX] = [01
11
],是Rack([B AB]) = 2,因此此系统为可控的系统。可以进行任意极点配置。则期望极点配置二重根1。
b)再求状态反馈阵K=(X0 ,X1):
X(x)=det[λI−(A+bK)]=X2−X1X−X0
c)根据给定的极点,得到期望特征多项式:
X∗(X)=(X−1)(X−1)
d)比较X(x)和X∗(X)各对应项系数,可解得:
X0=−1X1=2
K=(−12)
e)即状态反馈控制器:u=-K*x
状态反馈闭环系统空间表达式x=A-B*K*x
A1 = A – B*K = [0 1;1 -2]
2.设计状态不完全能控型SISO系统模型及参数:
X=(10
01)X+(1
)X
y=(11)X
a)首先判断系统的能控性
[X XX] = [11
00
], Rank([B AB]) = 1,因此系统是不完全能控的,不能进行任意
极点配置。
b )再求状态反馈阵K =(X 0 ,X 1):
X (x )=det [λI −(A +bK )]=X −X 0−1−X 10X −1
=X 2−(X 0+2)+X 0+1 c) 将期望极点配置二重根1,则X ∗(X )=X 2−2X +1:
d)比较X (x )和X ∗(X )各对应项系数,可解得:
X 0= 0 X 1=任意值 (设X 1=−1)
K =(0 −1)
e)即状态反馈控制器:u=-K*x
状态反馈闭环系统空间表达式x=A-B*K*x
A1 = A – B*K = [0 1;1 1]
五、实验结果(曲线、数据等)
1.状态完全能控型SISO 系统模型:
a)配置极点前的波形:
A=[0 1; 0 1]
b) 配置极点后的波形:
A1 = A – B*K = [0 1;1 -2]
3.状态不完全能控型SISO系统模型
a)配置极点前的波形:
A=[1 0; 0 1]
a)配置极点后的波形:
A1 = A – B*K = [0 1;-3 -4]
六、实验结果分析与讨论
1.状态完全能控型SISO系统模型
通过配置极点后动态性能变好,但是稳态误差不能消除。为了消除极点配置对稳态性能的负面影响,我们在选择期望点时,要确定各综合指标。
2.状态不完全能控型SISO系统模型
通过上面的实验表明,一个不可控的系统,是不能通过极点配置的方法将其变为一个可控系统的。仅仅能通过极点配置的方法改善其响应特性。
由此可以证明,如果要利用状态反馈进行极点配置,那么系统必须是完全可控系统。
二、附录(程序清单)
1.状态完全能控型SISO系统模型
1.clear all;
2.A=[0 1 ;0 1];
3.B=[1;0];
4.J=[1 1];
5.Tc=ctrb(A,B);
6.n=size(A);
7.if rank(Tc) == n(1)
8.disp('the system is controlled');
9.else
10.disp('the system is not controlled');
11.end
12.K=acker(A,B,J)
13.A=[0 1;1 -2];
14.B=[0;1];
15.C=[1 1];
16.D=0;
17.step(A, B, C, D)
2.状态不完全能控型SISO系统模型
1.A=[1 0 ;0 1];
2.B=[1;0];
3.J=[1 1];
4.Tc=ctrb(A,B);
5.n=size(A);
6.if rank(Tc) == n(1)
7.disp('the system is controlled');
8.else
9.disp('the system is not controlled');