系统稳定性分析 、利用MATLAB 实现极点配置、设计状态观测器
利用MATLAB 实现极点配置、设计状态观测器(现代控制)
实 验 报 告实验名称 利用MATLAB 实现极点配置、设计状态观测器系 专业 自动化 班姓名 学号 授课老师 预定时间 实验时间实验台号 一、目的要求1、掌握状态反馈和输出反馈的概念及性质。
2、掌握利用状态反馈进行极点配置的方法。
学会用MATLAB 求解状态反馈矩阵。
3、掌握状态观测器的设计方法。
学会用MATLAB 设计状态观测器。
4、熟悉分离定理,学会设计带有状态观测器的状态反馈系统。
原理简述状态反馈和输出反馈设线性定常系统的状态空间表达式为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 软件内容步骤、数据处理题5-1 某系统状态方程如下[]010100134326100x x u y x⎡⎤⎡⎤⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥----⎣⎦⎣⎦=& [](s+ (s^2 + +------------------------------------(s+30) (s+ (s^2 + +>> A=[-10 -35 -50 -24;1 0 0 0;0 1 0 0;0 0 1 0];B=[1;0;0;0];C=[1 7 24 24];D=0;G=ss(A,B,C,D);p=[-30 +4i ];k=place(A,B,p);A1=A-B*k;G1=ss(A1,B,C,D);t=0::20;u=ones(size(t));y2=lsim(G1,u,t);y1=lsim(G,u,t);plot(t,y1,':',t,y2,'-')蓝色为配置前,绿色为配置后题5-3 某系统状态空间描述如下[]010100134326100x x u y x⎡⎤⎡⎤⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥----⎣⎦⎣⎦=& 设计全维状态观测器,要求状态观测器的极点为[]123---。
利用matlab实现极点配置、设计状态观测器(现代控制)
实 验 报 告实验名称 利用MATLAB 实现极点配置、设计状态观测器系 专业 自动化 班 姓名 学号 授课老师 预定时间实验时间实验台号一、目的要求1、掌握状态反馈和输出反馈的概念及性质。
2、掌握利用状态反馈进行极点配置的方法。
学会用MATLAB 求解状态反馈矩阵。
3、掌握状态观测器的设计方法。
学会用MATLAB 设计状态观测器。
4、熟悉分离定理,学会设计带有状态观测器的状态反馈系统。
二、原理简述1、状态反馈和输出反馈设线性定常系统的状态空间表达式为Cxy Bu Ax x =+=如果采用状态反馈控制规律u= r-Kx ,其中 r 是参考输入,则状态反馈闭环系统的传递函数为:B BK A sIC 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 = 40 -10。
利用MATLAB 实现极点配置、设计状态观测器(现代控制)
订 线实 验 报 告实验名称 利用MATLAB 实现极点配置、设计状态观测器系 专业 自动化 班 姓名 学号 授课老师 预定时间实验时间实验台号一、目的要求1、掌握状态反馈和输出反馈的概念及性质。
2、掌握利用状态反馈进行极点配置的方法。
学会用MATLAB 求解状态反馈矩阵。
3、掌握状态观测器的设计方法。
学会用MATLAB 设计状态观测器。
4、熟悉分离定理,学会设计带有状态观测器的状态反馈系统。
二、原理简述1、状态反馈和输出反馈设线性定常系统的状态空间表达式为Cxy Bu Ax x=+=如果采用状态反馈控制规律u= r-Kx ,其中 r 是参考输入,则状态反馈闭环系统的传递函数为:B BK A sIC 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 软件[0410x y ⎢=⎢⎢--⎣=理想闭环系统的极点为(1)采用直接计算法进行闭环系统极点配置;(2)采用Ackermann订 线y1=lsim(G,u,t); plot(t,y1,':',t,y2,'-')蓝色为配置前,绿色为配置后题5-3 某系统状态空间描述如下[]010100134326100x x u y x⎡⎤⎡⎤⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥----⎣⎦⎣⎦= 设计全维状态观测器,要求状态观测器的极点为[]123---。
基于matlab的状态观测器设计
基于MATLAB 的状态观测器设计预备知识: 极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且:Kx u input -=这时,闭环系统的状态空间模型为:⎩⎨⎧=+-=Cxy Bu x )BK A (x 2. 极点配置的MATLAB 函数 在MATLAB 控制工具箱中,直接用于系统极点配置的函数有acker()和place()。
调用格式为:K=acker(A,C,P) 用于单输入单输出系统其中:A ,B 为系统矩阵,P 为期望极点向量,K 为反馈增益向量。
K=place(A,B,P)(K,prec,message)=place(A,B,P)place()用于单输入或多输入系统。
Prec 为实际极点偏离期望极点位置的误差;message 是当系统某一非零极点偏离期望位置大于10%时给出的警告信息。
3. 极点配置步骤:(1)获得系统闭环的状态空间方程;(2)根据系统性能要求,确定系统期望极点分布P ;(3)利用MATLAB 极点配置设计函数求取系统反馈增益K ; (4)检验系统性能。
已知系统模型如何从系统的输入输出数据得到系统状态?初始状态:由能观性,从输入输出数据确定。
不足:初始状态不精确,模型不确定。
思路:构造一个系统,输出逼近系统状态称为是的重构状态或状态估计值。
实现系统状态重构的系统称为状态观测器。
观测器设计状态估计的开环处理:但是存在模型不确定性和扰动!初始状态未知!应用反馈校正思想来实现状态重构。
通过误差来校正系统:状态误差,输出误差。
基于观测器的控制器设计系统模型若系统状态不能直接测量,可以用观测器来估计系统的状态。
L是观测器增益矩阵,对偏差的加权。
真实状态和估计状态的误差向量误差的动态行为:的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来保证。
基于matlab的状态观测器设计
基于MATLAB 的状态观测器设计预备知识: 极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且:Kx u input -=这时,闭环系统的状态空间模型为:⎩⎨⎧=+-=Cxy Bu x )BK A (x 2. 极点配置的MATLAB 函数 在MATLAB 控制工具箱中,直接用于系统极点配置的函数有acker()和place()。
调用格式为:K=acker(A,C,P) 用于单输入单输出系统其中:A ,B 为系统矩阵,P 为期望极点向量,K 为反馈增益向量。
K=place(A,B,P)(K,prec,message)=place(A,B,P)place()用于单输入或多输入系统。
Prec 为实际极点偏离期望极点位置的误差;message 是当系统某一非零极点偏离期望位置大于10%时给出的警告信息。
3. 极点配置步骤:(1)获得系统闭环的状态空间方程;(2)根据系统性能要求,确定系统期望极点分布P ;(3)利用MATLAB 极点配置设计函数求取系统反馈增益K ; (4)检验系统性能。
已知系统模型如何从系统的输入输出数据得到系统状态?初始状态:由能观性,从输入输出数据确定。
不足:初始状态不精确,模型不确定。
思路:构造一个系统,输出逼近系统状态称为是的重构状态或状态估计值。
实现系统状态重构的系统称为状态观测器。
观测器设计状态估计的开环处理:但是存在模型不确定性和扰动!初始状态未知!应用反馈校正思想来实现状态重构。
通过误差来校正系统:状态误差,输出误差。
基于观测器的控制器设计系统模型若系统状态不能直接测量,可以用观测器来估计系统的状态。
L是观测器增益矩阵,对偏差的加权。
真实状态和估计状态的误差向量误差的动态行为:的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来保证。
基于MATLAB的状态观测器设计
基于MATLAB 的状态观测器设计预备知识: 极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且:Kx u input -=这时,闭环系统的状态空间模型为:⎩⎨⎧=+-=Cxy Bu x )BK A (x 2. 极点配置的MATLAB 函数 在MATLAB 控制工具箱中,直接用于系统极点配置的函数有acker()和place()。
调用格式为:K=acker(A,C,P) 用于单输入单输出系统其中:A ,B 为系统矩阵,P 为期望极点向量,K 为反馈增益向量。
K=place(A,B,P)(K,prec,message)=place(A,B,P)place()用于单输入或多输入系统。
Prec 为实际极点偏离期望极点位置的误差;message 是当系统某一非零极点偏离期望位置大于10%时给出的警告信息。
3. 极点配置步骤:(1)获得系统闭环的状态空间方程;(2)根据系统性能要求,确定系统期望极点分布P ;(3)利用MATLAB 极点配置设计函数求取系统反馈增益K ; (4)检验系统性能。
已知系统模型如何从系统的输入输出数据得到系统状态?初始状态:由能观性,从输入输出数据确定。
不足:初始状态不精确,模型不确定。
思路:构造一个系统,输出逼近系统状态称为是的重构状态或状态估计值。
实现系统状态重构的系统称为状态观测器。
观测器设计状态估计的开环处理:但是存在模型不确定性和扰动!初始状态未知!应用反馈校正思想来实现状态重构。
通过误差来校正系统:状态误差,输出误差。
基于观测器的控制器设计系统模型若系统状态不能直接测量,可以用观测器来估计系统的状态。
L是观测器增益矩阵,对偏差的加权。
真实状态和估计状态的误差向量误差的动态行为:的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来保证。
线性系统极点配置和状态观测器基于设计(matlab) - 最新版本
一. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且:这时,闭环系统的状态空间模型为:()x A BK x Bv y Cx =-+⎧⎨=⎩二. 状态观测器设计原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy Bu Ax x 若系统是完全可观的,则可引入全维状态观测器,且:ˆˆ(y y)ˆˆx Ax Bu G y Cx ⎧=++-⎪⎨=⎪⎩设ˆx x x=-,闭环系统的状态空间模型为: ()x A GC x =-解得:(A GC)t(0),t 0x ex -=≥由上式可以看出,在t 0≥所有时间内,如果(0)x =0,即状态估计值x 与x 相等。
如果(0)0x ≠,两者初值不相等,但是()A GC -的所有特征值具有负实部,这样x 就能渐进衰减至零,观测器的状态向量ˆx就能够渐进地逼近实际状态向量x 。
状态逼近的速度取决于G 的选择和A GC -的特征配置。
三. 状态观测的实现为什么要输出y 和输入u 对系统状态x 进行重构。
u Kx v =-+证明 输出方程对t 逐次求导,并将状态方程x Ax Bu =+代入整理,得2(n 1)(n 2)(n 3)21n n y Cxy CBu CAx y CBu CABu CA x y CBu CABu CA Bu CA x-----=⎧⎪-=⎪⎪--=⎨⎪⎪⎪----=⎩将等号左边分别用z 的各分量12,,,n z z z 表示,有121(n 1)(n 2)(n 3)2n n n y C z y CBu CA z z y CBu CABu x Qx z CA y CBu CABu CA Bu -----⎡⎤⎧⎡⎤⎡⎤⎢⎥⎪-⎢⎥⎢⎥⎢⎥⎪⎪⎢⎥⎢⎥⎢⎥==--==⎨⎢⎥⎢⎥⎢⎥⎪⎢⎥⎢⎥⎢⎥⎪⎣⎦⎣⎦⎢⎥⎪----⎩⎣⎦如果系统完全能观,则rankQ n =即1ˆ(Q Q)T Tx Q z -= (类似于最小二乘参数估计) 综上所述,构造一个新系统z ,它是以原系统的输出y 和输入u ,其输出经过变换1(Q Q)T T Q -后得到状态向量ˆx。
实验2 利用MATLAB判断系统的稳定性
G=Gt' (3)极点配置状态反馈系统的实现 根据(2)中的运行结果,用 SIMULINK 搭建仿真模型,实现极点配置状态反馈系统,绘制 系统的单位阶跃响应曲线
Step 1
x2 1 s Integrator 4
3
Gain 9
1 Gain 11
3 Gain 12
x1 1 s
Integrator 5
2 Gain 10
x
0 2
1 3
x
0 1u
y 1 0
K=
31
G=
9
7
三
:
示
波
器
图
形
四: a:
b
:
五:
(2)实验体会。
1:带有状态观测器的状态反馈系统在不同初始条件下更加稳定,反馈平稳,图像更加平缓, 稳定性更强。 2:初始状态值越大,系统稳定性 越低,、反馈时间越长,系统平稳所需时间越长。
[z,p,k]=ss2zp(A,B,C,D,1)
z= -4.3028 -0.6972
p= -1.6506 -0.1747 + 1.5469i -0.1747 - 1.5469i
k= 1
二:已知系统的状态方程和输出方程如下,用状态反馈使闭环系统的极点为-2+j、-2-j,
由于状态变量不能量测,设计状态观测器使观测器的极点为-6,-6
2 Gain 4
4 Out 4
Scope
4.实验报告: (1)写出将实验内容的程序和运行结果。
0 1 0 1
x 一:)判定系统的稳定性
0
0
1
x
利用MATLAB设计状态观测器—现代控制理论实验报告
实验六利用MATLAB设计状态观测器*******学号1121*****实验目的:1、学习观测器设计算法;2、通过编程、上机调试,掌握基于观测器的输出反馈控制系统设计方法。
实验原理:1、全阶观测器模型:()()x Ax Bu L y Cx A LC x Bu Ly =++-=-++由极点配置和观测器设计问题的对偶关系,也可以应用MATLAB 中极点配置的函数来确定所需要的观测器增益矩阵。
例如,对于单输入单输出系统,观测器的增益矩阵可以由函数L=(acker(A ’,C ’,V))’得到。
其中的V 是由期望的观测器极点所构成的向量。
类似的,也可以用L=(place(A ’,C ’,V))’来确定一般系统的观测器矩阵,但这里要求V 不包含相同的极点。
2、降阶观测器模型:ˆˆˆw AwBy Fu =++ b x w Ly =+基于降阶观测器的输出反馈控制器是:ˆˆˆˆ()[()]()b a bb a b w A FK w B F K K L y u K w K K L y=-+-+=--+对于降阶观测器的设计,使用MATLAB 软件中的函数L=(acker(Abb ’,Aab ’,V))’或L=(place(Abb ’,Aab ’,V))’可以得到观测器的增益矩阵L 。
其中的V 是由降阶观测器的期望极点所组成的向量。
实验要求1.在运行以上例程序的基础上,考虑图6.3所示的调节器系统,试针对被控对象设计基于全阶观测器和降阶观测器的输出反馈控制器。
设极点配置部分希望的闭环极点是1,2223j λ=-±,希望的观测器极点是(a ) 对于全阶观测器,18μ=-和 28μ=-; (b ) 对于降阶观测器,8μ=-。
比较系统对下列指定初始条件的响应:(a ) 对于全阶观测器: 1212(0)1,(0)0,(0)1,(0)0x x e e ====(b ) 对于降阶观测器:121(0)1,(0)0,(0)1x x e ===进一步比较两个系统的带宽。
基于MATLAB的状态观测器设计
基于MATLAB 的状态观测器设计预备知识: 极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且:Kx u input -=这时,闭环系统的状态空间模型为:⎩⎨⎧=+-=Cxy Bu x )BK A (x 2. 极点配置的MATLAB 函数 在MATLAB 控制工具箱中,直接用于系统极点配置的函数有acker()和place()。
调用格式为:K=acker(A,C,P) 用于单输入单输出系统其中:A ,B 为系统矩阵,P 为期望极点向量,K 为反馈增益向量。
K=place(A,B,P)(K,prec,message)=place(A,B,P)place()用于单输入或多输入系统。
Prec 为实际极点偏离期望极点位置的误差;message 是当系统某一非零极点偏离期望位置大于10%时给出的警告信息。
3. 极点配置步骤:(1)获得系统闭环的状态空间方程;(2)根据系统性能要求,确定系统期望极点分布P ;(3)利用MATLAB 极点配置设计函数求取系统反馈增益K ; (4)检验系统性能。
已知系统模型如何从系统的输入输出数据得到系统状态?初始状态:由能观性,从输入输出数据确定。
不足:初始状态不精确,模型不确定。
思路:构造一个系统,输出逼近系统状态称为是的重构状态或状态估计值。
实现系统状态重构的系统称为状态观测器。
观测器设计状态估计的开环处理:但是存在模型不确定性和扰动!初始状态未知!应用反馈校正思想来实现状态重构。
通过误差来校正系统:状态误差,输出误差。
基于观测器的控制器设计系统模型若系统状态不能直接测量,可以用观测器来估计系统的状态。
L是观测器增益矩阵,对偏差的加权。
真实状态和估计状态的误差向量误差的动态行为:的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来保证。
实验六利用MATLAB设计状态观测器
现代控制理论第五次上机实验报告实验六利用MATLAB^计状态观测器实验目的:1、学习观测器设计算法;2、通过编程、上机调试,掌握基于观测器的输出反馈控制系统设计方法。
实验步骤的m-文件编程;1、基于观测器的输出反馈控制系统的设计,采用MATLAB2、在MATLAB界面下调试程序,并检查是否运行正确。
实验要求1.在运行以上例程序的基础上,考虑图 6.3所示的调节器系统, 试针对被控对象设计基于全阶观测器和降阶观测器的输出反馈控制器。
设极点配置部分希望的闭环极点是/1,2 = -2 ± j 2j3,希望的观测器极点是(a)对于全阶观测器,片=_8和卩2=-8 ;(b)对于降阶观测器,卩=-8。
比较系统对下列指定初始条件的响应:(a)对于全阶观测器:X i(O) =1,X2(0) =0,8(0) =1,62(0) =0(b)对于降阶观测器:X i(0) =1,X2(0) =0,6(0) =1进一步比较两个系统的带宽jfj -图6.3调节器系统设计闭环极点:>> a=[0 1;0 -2];b=[0;1];c=[4 0];v1=[-2+j*2*sqrt(3) -2-j*2*sqrt(3)];K=acker(a,b,v1)16.0000 2.0000全阶状态观测器:>> v2=[-8 -8];G=(acker((a-b*K)',c',v2))'降阶状态观测器:>> T1 =[0 1;4 0];>> T =[0 0.25;1 0];>> a1 =T1*a*Tb1 =T1*b;c1 =c*T;Aaa=-2;Aab=0;Aba=4;Abb=0;Ba=1;Bb=0;v3=-8;l=(acker(Aaa,Aba,v3))Ahat=Abb-l*AabBhat=Ahat*l+Aba-l*AaaFhat=Bb-l*Baa1 =-21.5000Ahat =Bhat =Fhat =-1.5000全阶观测器响应:>> sys=ss(a-b*K,[0;0],eye(2),0);t=0:0.01:4;x=initial(sys,[1;0],t);x1=[1 0 ]*x';x2=[0 1 ]*x';sub plot(4,2,1); plot(t,x1),grid title('x1') ylabel('x1') sub plot(4,2,2); plot(t,x2),grid title('x2') ylabel('x2') sys1=ss(a-G*c,[0;0],eye(2),0); t=0:0.01:4;e=initial(sys1,[1;0],t);e1=[1 0 ]*x'+x1;e2=[0 1 ]*x'+x2;sub plot(4,2,3); plot(t,e1),gridtitle('全阶状态观测x1') ylabel('x1guji')sub plot(4,2,4); plot(t,e2),grid title('全阶状态观测x2') ylabel('x2guji')vUglSSJFile Edit View Insert Tools Desktop VViirdow Help\ ® 凰4 凰□CN全阶状态现测疋5CN降阶观测器响应:>> sys2=ss(Aaa-l*Aba,1,eye(1),0);t=0:0.01:4;e3=initial(sys2,1,t);e4=e3'+x1;e5=x2;sub plot(4,2,5); plot(t,e4),gridtitle('降阶状态观测x1') ylabel('xlguji')sub plot(4,2,6); plot(t,e5),grid title('降阶状态观测x2') ylabel('x2guji')lie Edit View Insert Tooh Desktop Window Help由上述两图对比可得,降阶观测器衰减速度比全阶观测器快,2.假设SISO 受控系统的开环传递函数为G(s)=丄 s(1)若根据系统的性能指标要求,希望配置的系统极点为人=—3, )23 = -2 ± j 2求受控系统的状态反馈矩阵。
基于MATLAB的状态观测器设计
基于MATLAB 的状态观测器设计预备知识: 极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且:Kx u input -=这时,闭环系统的状态空间模型为:⎩⎨⎧=+-=Cxy Bu x )BK A (x 2. 极点配置的MATLAB 函数 在MATLAB 控制工具箱中,直接用于系统极点配置的函数有acker()和place()。
调用格式为:K=acker(A,C,P) 用于单输入单输出系统其中:A ,B 为系统矩阵,P 为期望极点向量,K 为反馈增益向量。
K=place(A,B,P)(K,prec,message)=place(A,B,P)place()用于单输入或多输入系统。
Prec 为实际极点偏离期望极点位置的误差;message 是当系统某一非零极点偏离期望位置大于10%时给出的警告信息。
3. 极点配置步骤:(1)获得系统闭环的状态空间方程;(2)根据系统性能要求,确定系统期望极点分布P ;(3)利用MATLAB 极点配置设计函数求取系统反馈增益K ; (4)检验系统性能。
已知系统模型如何从系统的输入输出数据得到系统状态?初始状态:由能观性,从输入输出数据确定。
不足:初始状态不精确,模型不确定。
思路:构造一个系统,输出逼近系统状态称为是的重构状态或状态估计值。
实现系统状态重构的系统称为状态观测器。
观测器设计状态估计的开环处理:但是存在模型不确定性和扰动!初始状态未知!应用反馈校正思想来实现状态重构。
通过误差来校正系统:状态误差,输出误差。
基于观测器的控制器设计系统模型若系统状态不能直接测量,可以用观测器来估计系统的状态。
L是观测器增益矩阵,对偏差的加权。
真实状态和估计状态的误差向量误差的动态行为:的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来保证。
基于MATLAB的状态观测器设计
基于MATLAB 的状态观测器设计预备知识: 极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且:Kx u input -=这时,闭环系统的状态空间模型为:⎩⎨⎧=+-=Cxy Bu x )BK A (x 2. 极点配置的MATLAB 函数 在MATLAB 控制工具箱中,直接用于系统极点配置的函数有acker()和place()。
调用格式为:K=acker(A,C,P) 用于单输入单输出系统其中:A ,B 为系统矩阵,P 为期望极点向量,K 为反馈增益向量。
K=place(A,B,P)(K,prec,message)=place(A,B,P)place()用于单输入或多输入系统。
Prec 为实际极点偏离期望极点位置的误差;message 是当系统某一非零极点偏离期望位置大于10%时给出的警告信息。
3. 极点配置步骤:(1)获得系统闭环的状态空间方程;(2)根据系统性能要求,确定系统期望极点分布P ;(3)利用MATLAB 极点配置设计函数求取系统反馈增益K ; (4)检验系统性能。
已知系统模型如何从系统的输入输出数据得到系统状态?初始状态:由能观性,从输入输出数据确定。
不足:初始状态不精确,模型不确定。
思路:构造一个系统,输出逼近系统状态称为是的重构状态或状态估计值。
实现系统状态重构的系统称为状态观测器。
观测器设计状态估计的开环处理:但是存在模型不确定性和扰动!初始状态未知!应用反馈校正思想来实现状态重构。
通过误差来校正系统:状态误差,输出误差。
基于观测器的控制器设计系统模型若系统状态不能直接测量,可以用观测器来估计系统的状态。
L是观测器增益矩阵,对偏差的加权。
真实状态和估计状态的误差向量误差的动态行为:的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来保证。
基于MATLAB的状态观测器设计
基于MATLAB 的状态观测器设计预备知识: 极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且:Kx u input -=这时,闭环系统的状态空间模型为:⎩⎨⎧=+-=Cxy Bu x )BK A (x 2. 极点配置的MATLAB 函数 在MATLAB 控制工具箱中,直接用于系统极点配置的函数有acker()和place()。
调用格式为:K=acker(A,C,P) 用于单输入单输出系统其中:A ,B 为系统矩阵,P 为期望极点向量,K 为反馈增益向量。
K=place(A,B,P)(K,prec,message)=place(A,B,P)place()用于单输入或多输入系统。
Prec 为实际极点偏离期望极点位置的误差;message 是当系统某一非零极点偏离期望位置大于10%时给出的警告信息。
3. 极点配置步骤:(1)获得系统闭环的状态空间方程;(2)根据系统性能要求,确定系统期望极点分布P ;(3)利用MATLAB 极点配置设计函数求取系统反馈增益K ; (4)检验系统性能。
已知系统模型如何从系统的输入输出数据得到系统状态?初始状态:由能观性,从输入输出数据确定。
不足:初始状态不精确,模型不确定。
思路:构造一个系统,输出逼近系统状态称为是的重构状态或状态估计值。
实现系统状态重构的系统称为状态观测器。
观测器设计状态估计的开环处理:但是存在模型不确定性和扰动!初始状态未知!应用反馈校正思想来实现状态重构。
通过误差来校正系统:状态误差,输出误差。
基于观测器的控制器设计系统模型若系统状态不能直接测量,可以用观测器来估计系统的状态。
L是观测器增益矩阵,对偏差的加权。
真实状态和估计状态的误差向量误差的动态行为:的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来保证。
系统稳定性分析报告、利用MATLAB实现极点配置、设计状态观测器
实用实验报告实验名称系统稳定性分析、利用MATLAB 实现极点配置、设计状态观测器系专业班姓名学号授课老师预定时间实验时间实验台号一、目的要求掌握系统稳定性的概念。
学会使用MATLAB 确定线性定常系统和非线性定常系统的稳定性。
掌握状态反馈和输出反馈的概念及性质。
掌握利用状态反馈进行极点配置的方法。
学会用MATLAB 求解状态反馈矩阵。
掌握状态观测器的设计方法。
学会用MATLAB 设计状态观测器。
熟悉分离定理,学会设计带有状态观测器的状态反馈系统。
二、原理简述函数 eig( )的调用格式为V=eig(A) 返回方阵A 的特征值。
函数 roots( )的调用格式为roots(den),其中den 为多项式的系数行向量。
计算多项式方程的解。
函数 pole ( )的调用格式为pole(G),其中G 为系统的LTI 对象。
计算系统传递函数的极点。
函数 zpkdata( )的调用格式为[z,p,k]=zpkdata(G,’v’),其中G 为系统LTI 对象。
返回系统的零点、极点和增益。
函数 pzmap( )的调用格式为pzmap(G),其中G 为LTI 对象。
绘制系统的零点和极点。
对于线性定常连续系统x Ax ,若 A是非奇异矩阵,则原点是其唯一的平衡状态。
统在原点处大范围渐近稳定的充分条件是:存在李氏函数v(x) x T px,且v(x)正定,v(x)负定。
如果 SISO 线性定常系统完全能控,则可通过适当的状态反馈, 将闭环系统极点配置到任意期望的位置。
MATLAB 提供的函数 acker( )是用 Ackermann 公式求解状态反馈阵 K。
MATLAB 提供的函数 place( )也可求出状态反馈阵 K。
如果线性定常系统完全能观测,则可构造全维(基本)观测器。
全维(基本)状态观测器的状态方程为观测器的反馈矩阵 L 为其中为系统的能观测矩阵。
其中为期望的状态观测器的极点。
观测器设计是极点配置的对偶问题,故可利用函数 acker( )和 place( )进行求解。
基于MATLAB的状态观测器设计
基于MATLAB 的状态观测器设计预备知识: 极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且:Kx u input -=这时,闭环系统的状态空间模型为:⎩⎨⎧=+-=Cxy Bu x )BK A (x 2. 极点配置的MATLAB 函数 在MATLAB 控制工具箱中,直接用于系统极点配置的函数有acker()和place()。
调用格式为:K=acker(A,C,P) 用于单输入单输出系统其中:A ,B 为系统矩阵,P 为期望极点向量,K 为反馈增益向量。
K=place(A,B,P)(K,prec,message)=place(A,B,P)place()用于单输入或多输入系统。
Prec 为实际极点偏离期望极点位置的误差;message 是当系统某一非零极点偏离期望位置大于10%时给出的警告信息。
3. 极点配置步骤:(1)获得系统闭环的状态空间方程;(2)根据系统性能要求,确定系统期望极点分布P ;(3)利用MATLAB 极点配置设计函数求取系统反馈增益K ; (4)检验系统性能。
已知系统模型如何从系统的输入输出数据得到系统状态?初始状态:由能观性,从输入输出数据确定。
不足:初始状态不精确,模型不确定。
思路:构造一个系统,输出逼近系统状态称为是的重构状态或状态估计值。
实现系统状态重构的系统称为状态观测器。
观测器设计状态估计的开环处理:但是存在模型不确定性和扰动!初始状态未知!应用反馈校正思想来实现状态重构。
通过误差来校正系统:状态误差,输出误差。
基于观测器的控制器设计系统模型若系统状态不能直接测量,可以用观测器来估计系统的状态。
L是观测器增益矩阵,对偏差的加权。
真实状态和估计状态的误差向量误差的动态行为:的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来保证。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
实验名称系统稳定性分析、利用MATLAB实现极点配置、设计状态观测器系专业班
姓名学号授课老师
预定时间实验时间实验台号
一、目的要求
掌握系统稳定性的概念。
学会使用MATLAB确定线性定常系统和非线性定常系统的稳定性。
掌握状态反馈和输出反馈的概念及性质。
掌握利用状态反馈进行极点配置的方法。
学会用MATLAB求解状态反馈矩阵。
掌握状态观测器的设计方法。
学会用MATLAB设计状态观测器。
熟悉分离定理,学会设计带有状态观测器的状态反馈系统。
二、原理简述
函数eig()的调用格式为V=eig(A)返回方阵A的特征值。
函数roots()的调用格式为roots(den),其中den为多项式的系数行向量。
计算多项式方程的解。
函数pole()的调用格式为pole(G),其中G为系统的LTI对象。
计算系统传递函数的极点。
函数zpkdata()的调用格式为[z,p,k]=zpkdata(G,’v’),其中G为系统LTI对象。
返回系统的零点、极点和增益。
函数pzmap()的调用格式为pzmap(G),其中G为LTI对象。
绘制系统的零点和极点。
对于线性定常连续系统x Ax,若A是非奇异矩阵,则原点是其唯一的平衡状态。
统在原点处大范围渐近稳定的充分条件是:存在李氏函数v(x)x T px,且v(x)正定,v(x)负定。
如果SISO线性定常系统完全能控,则可通过适当的状态反馈,将闭环系统极点配置到
任意期望的位置。
MATLAB提供的函数acker()是用Ackermann公式求解状态反馈阵K。
MATLAB提供的函数place()也可求出状态反馈阵K。
如果线性定常系统完全能观测,则可构造全维(基本)观测器。
全维(基本)
状态观测器的状态方程为观测器的反馈矩阵L为
其中为系统的能观测矩阵。
其中为期望的状态观测器的极点。
观测器设计是极点配置的对偶问题,故可利用函数acker()和place()进行求解。
PC计算机,MATLAB软件
四、内容步骤
题4.1A=[0,2,-1;5,1,2;-2,0,0];B=[1;0;-1];C=[1,1,0];D=0; flag=0;[z,p,k]=ss2zp(A,B,C,D,1);
disp('系统零点极点增益分别为:');
z,p,k
n=length(A);
for i=1:n
if real(p(i))>0
flag=1;
end
end
if flag==1
disp('系统不稳定');
else
disp('系统稳定');
end
Q=eye(3,3);P=lyap(A,Q);flag=0;n=length(A);
for i=1:n
det(P(1:i,1:i))
if(det(P(1:i,1:i))<=0)
flag=1;
end
if flag==1
disp('系统不稳定');
else
disp('系统稳定');
end
题5.1A=[0,1,0;0,0,1;-4,-3,-2];B=[1;3;-6];C=[1,0,0];D=0;
P=[-1,-2,-3];syms k1k2k3s;K=[k1,k2,k3];
eg=simple(det(s*diag(diag(ones(size(A))))-A+B*K));
f=1;
for i=1:3
f=simple(f*(s-P(i)));
end
f=f-eg;
[k1,k2,k3]=solve(subs(f,'s',0),subs((diff(f,'s')),'s',0),diff(f,'s',2)) A=[0,1,0;0,0,1;-4,-3,-2];B=[1;3;-6];C=[1;0;0];P=[-1,-2,-3];K=acker(A,B,P) A-B*K
A=[0,1,0;0,0,1;-4,-3,-2];B=[1;3;-6];C=[1;0;0];eig(A)'
P=[-1,-2,-3];K=place(A,B,P)
eig(A-B*K)'
题5.2A=[-10-35-50-24;1000;0100;0010];
B=[1;0;0;0];C=[172424];D=0;P=[-30-1.2-2.4+4j-2.4-4j];
eig(A-B*K)
G1=ss(A,B,C,D);G2=ss(A-B*K,B,C,D);subplot(121);step(G1);subplot(122);step(G2);
题5.3A=[0,1,0;0,0,1;-4,-3,-2];B=[1;3;-6];C=[1,0,0];
n=3;ob=obsv(A,C);roam=rank(ob);
if roam==n
disp('系统能观');
elseif roam~=n
disp('系统不能观');
end
P=[-1,-2,-3];A1=A';B1=C';C1=B';K=acker(A1,B1,P);E=(K)'
aEc=A-E*C
题5.4A=[010;001;-12-16-7];B=[0;0;1];C=[660];D=0;
Gss=ss(A,B,C,D);Gzpk=zpk(Gss);[z,p,k]=zpkdata(Gss,'v')
Gtf=tf(Gss)
Uc=[B A*B A*A*B];Uo=[C;C*A;C*A*A];c=rank(Uo),o=rank(Uo)
K1=[030];K2=[132];K3=[031];A1=A-B*K1;A2=A-B*K2;A3=A-B*K3;
G1ss=ss(A1,B,C,D);G2ss=ss(A2,B,C,D);G3ss=ss(A2,B,C,D);
G1tf=tf(G1ss)
[z1,p1]=zpkdata(G1ss,'v')
c1=rank(ctrb(A1,B)),o1=rank(obsv(A1,C))
G2tf=tf(G2ss)
[z2,p2]=zpkdata(G2ss,'v')
G3tf=tf(G3ss)
[z3,p3]=zpkdata(G3ss,'v')
c3=rank(ctrb(A3,B)),o3=rank(obsv(A3,C))
五、数据处理
题4.1(1)系统零点极点增益分别为:
z= 1.0000
-4.0000
p=-3.3978
3.5745
0.8234
k=1系统不稳定
(2)ans=-2.1250
ans=-8.7813
ans= 6.1719系统不稳定
题5.1k1=194/131
k2=98/131
k3=-6/131
K= 1.48090.7481-0.0458
ans=-1.48090.25190.0458
-4.4427-2.2443 1.1374
4.8855 1.4885-2.2748
ans=-1.6506-0.1747-1.5469i-0.1747+ 1.5469i
ans=-3.0000-2.0000-1.0000
题5.2K=26.0000172.5200801.7120759.3600 ans=-30.0000
-2.4000+4.0000i
-2.4000-4.0000i
-1.2000
题5.3系统能观
E=4
-10
aEc=-410
001
6-3-2
-2.0000
-3.0000 k=6
Transfer function:
6s+6
-----------------------
s^3+7s^2+16s+12
c=3o=3 Transfer function:
6s+6
-----------------------
s^3+7s^2+19s+12
z1=-1
p1=-0.8821
-3.0589+2.0606i
-3.0589-2.0606i
c1=3o1=3
Transfer function:
6s+6
-----------------------
s^3+9s^2+19s+13
z2=-1
-1.3407+0.5099i
-1.3407-0.5099i
c2=3o2=3
Transfer function:
6s+6
-----------------------
s^3+9s^2+19s+13
z3=-1
p3=-6.3186
-1.3407+0.5099i
-1.3407-0.5099i
c3=3o3=2
七、分析讨论
通过本次实验,加深了系统稳定性判定的概念,并且对极点配置和状态观测器的设计方法有了更深的理解。
利用MATLAB的函数求取状态观测器和极点配置的相关参数极
大的提高了设计效率。
促进了技术的发展!。