全维状态观测器的设计
全维状态观测器例

所示。
u
x2
1 x2 s
3
1 x1 s
2
2
y
受控对象 部分
23.5
8.5
ˆ2 1 x s
3
1 s
ˆ1 x
2
ˆ y
状态观测器部分
2
图 9.24 例 9.47 全维状态观测器及受控对象状态变量图
Байду номын сангаас
(2) 给定极点对应的期望特征方程
( 10) 2 2 20 100 0
(3) 设观测器输出反馈阵 H h1
(9.203)
h2 ,则观测器系统矩阵为
T
1 h1 2h1 0 A HC 2 0 2 3 h2 2 2h2
观测器特征方程
1 3
(9.204)
I ( A HC) 2 (2h1 3) (6h1 2h2 2) 0
比较式(9.203)和(9.204)各对应项系数,有
2h1 3 20 6h1 2h2 2 100 h1 8.5, h2 23.5
全维状态观测器例
【例 9.47】 已知受控对象传递函数
Y ( s) 2 U ( s) ( s 1)( s 2)
试设计全维状态观测器,将观测器极点配置在-10,-10。 解: (1) 可观性判别 传递函数无零极点对消,故系统可控、可观测。若写出可控标准形实现,则
1 0 0 , b , C 2 0 A 2 3 1
实验 6 极点配置与全维状态观测器的设计

实验 6 极点配置与全维状态观测器的设计一、实验目的1. 加深对状态反馈作用的理解。
2. 学习和掌握状态观测器的设计方法。
二、实验原理在MATLAB 中,可以使用acker 和place 函数来进行极点配置,函数的使用方法如下:K = acker(A,B,P) A,B为系统系数矩阵,P为配置极点,K为反馈增益矩阵。
K = place(A,B,P) A,B为系统系数矩阵,P为配置极点,K为反馈增益矩阵。
[K,PREC,MESSAGE] = place(A,B,P) A,B为系统系数矩阵,P为配置极点,K为反馈增益矩阵,PREC 为特征值,MESSAGE 为配置中的出错信息。
三、实验内容1.已知系统(1)判断系统稳定性,说明原因。
(2)若不稳定,进行极点配置,期望极点:-1,-2,-3,求出状态反馈矩阵k。
(3)讨论状态反馈与输出反馈的关系,说明状态反馈为何能进行极点配置?(4)使用状态反馈进行零极点配置的前提条件是什么?1.(1)(2)代码:a=[-2 -1 1;1 0 1;-1 0 1];b=[1,1,1]';p=[-1,-2,-3]';K=acker(a,b,p)K =-1 2 4(3)讨论状态反馈与输出反馈的关系, 说明状态反馈为何能进行极点配置?在经典控制理论中,一般只考虑由系统的输出变量来构成反馈律,即输出反馈。
在现代控制理论的状态空间分析方法中,多考虑采用状态变量来构成反馈律,即状态反馈。
从状态空间模型输出方程可以看出,输出反馈可视为状态反馈的一个特例。
状态反馈可以提供更多的补偿信息,只要状态进行简单的计算再反馈,就可以获得优良的控制性能。
(4)使用状态反馈配置极点的前提是系统的状态是完全可控的。
2.已知系统设计全维状态观测器,使观测器的极点配置在12+j,12-j 。
(1)给出原系统的状态曲线。
(2)给出观测器的状态曲线并加以对比。
(观测器的初始状态可以任意选取)观察实验结果,思考以下问题:(1)说明反馈控制闭环期望极点和观测器极点的选取原则。
现代控制理论习题之状态观测设计

对应于原系统的观测器矩阵: ⎡0 ⎤ ⎡0 ⎤ P1 = V0 −1 ⎢ ⎥ = ⎢ ⎥, Po = [ p1 ⎣1 ⎦ ⎣1 ⎦
u
∑ ( A, B, C )
y
6.5
2
1 x
x1
15.3 x
x3
题 6-2 图 1
(2) 确定降维观测器的维数:m=1,n=3,则 n-m= 2。 分解输出系数矩阵 c,获得线性变换矩阵 T,对原状态空间表达式进行线性变换,使 各输出变量 y 变成各状态变量的单值函数:
f *(s) = (s + 3)(s + 4) = s2 + 7s +12 ⎡s 0⎤ ⎡−1 −1⎤ ⎡l1⎤ f (s) = sI − (A22 − LA 12) = ⎢ ⎥ −⎢ ⎥ + ⎢ ⎥[− 2 − 4] ⎣0 s⎦ ⎣−1 −1⎦ ⎢ ⎣l2⎥ ⎦ = s2 + (−4l2 − 2l1 + 2)s + (2l1 − 2l2) ⎡l ⎤ ⎡ 3.1667⎤ f *(s) = f (s) ⇒ L = ⎢ 1⎥ = ⎢ ⎥ ⎢l2⎦ ⎥ ⎣− 2.8333 ⎦ ⎣
系统能观,可设计观测器。 求希望特征多项式:
f * ( s ) = ( s + 3)( s + 4)( s + 5) = s 3 + 12 s 2 + 47 s + 60
求观测器特征多项式:
f ( s ) = sI − A + LC
5.5状态观测器设计

N =B, K =E
于是得到一特定的n 维KX 观测器。
⎧ z& = ( A − LC )z + Bu + Ly
⎨ ⎩W
=
Kz
(5-35)
称此为∑ 的一个全维KX观测器;K=I为 ∑ 的一个全维状态观测
器.
因为满足结构条件的L 不唯一,全维观测器也不唯一。全6 维
观测器设计较简单。
5.5.2 全维状态观测器设计
⎨ ⎩
W = Ez
(5-34)
称为全维观测器。
若 r < n ,M ≠ 0 ,相应观测器称为降维观测器。
对 r = n 全维观测器,参数除按通常步骤外,有特定取法:
F = A − LC ,
G=L
则 PA− FP = PA− (A − LC)P = PA− AP + LCP = LC
有 P = In 从而
y = [1 1 0 ] x
设计特征值为-3,-3和-4的全维状态观测器.
解:
⎡c⎤
⎡1 1 0⎤
rank
⎢ ⎢
cA
⎥ ⎥
=
rank
⎢ ⎢
−1
−3
−1⎥⎥ = 3 = n
8
⎢⎣cA2 ⎥⎦
⎢⎣ 0 5 0 ⎥⎦
可知系统完全观测.
⎡−1 0 1 ⎤
⎡1⎤
A
=
AT
=
⎢ ⎢
−
2
−1
0
⎥ ⎥
,
b
= cT
=
完全能控
⎡ 1 0 0⎤ ⎡0 −1 1⎤ ⎡1 0 0⎤ ⎡ 2 2 1⎤
P = ⎡⎣ A2b Ab b ⎤⎦ ⎢⎢α 2
1
利用MATLAB设计状态观测器

x%
+
⎢ ⎢
0
⎥ ⎥
u
+
⎢⎢147.3875⎥⎥
y
⎜⎝ ⎢⎣1.244 0.3965 −3.145⎥⎦ ⎢⎣544.3932⎥⎦
⎟⎠ ⎢⎣1.244⎥⎦ ⎢⎣544.3932⎥⎦
⎡ −16.855 = ⎢⎢−147.3875
⎣⎢−543.1492
1 0 0.3965
0 ⎤ ⎡ 0 ⎤ ⎡ 16.855 ⎤
统(5.9)具有任意给定的极点,这样的矩阵 L 可以应用全阶观测器的设计方法来设计。矩
阵 L 也称为是系统的降阶观测器增益矩阵。
对于降阶观测器的设计,使用 MATLAB 软件中的函数
L=(acker(Abb’,Aab’,V))’ 或
L=(place(Abb’,Aab’,V))’
可以得到观测器的增益矩阵 L 。其中的 V 是由降阶观测器的期望极点所组成的向量。
确定所需要的观测器增益矩阵。例如,对于单输入单输出系统,观测器的增益矩阵可以由函
数
L=(acker(A’,C’,V))’ 得到。其中的 V 是由期望的观测器极点所构成的向量。类似的,也可以用
L=(place(A’,C’,V))’ 来确定一般系统的观测器矩阵,但这里要求 V 不包含相同的极点。
5.3.2 降阶观测器设计
实验 5 利用 MATLAB 设计状态观测器
5.1 实验设备
同实验 1。
5.2 实验目的
1、学习观测器设计算法;
2、通过编程、上机调试,掌握基于观测器的输出反馈控制系统设计方法。
5.3 实验原理说明
5.3.1 全阶观测器设计
考虑如下的线性时不变系统
⎧x& = Ax + Bu
现代控制实验--状态反馈器和状态观测器的设计

现代控制实验--状态反馈器和状态观测器的设计-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN状态反馈器和状态观测器的设计一、实验设备PC 计算机,MATLAB 软件,控制理论实验台,示波器二、实验目的(1)学习闭环系统极点配置定理及算法,学习全维状态观测器设计法;(2)掌握用极点配置的方法(3)掌握状态观测器设计方法(4)学会使用MATLAB工具进行初步的控制系统设计三、实验原理及相关知识(1)设系统的模型如式所示若系统可控,则必可用状态反馈的方法进行极点配置来改变系统性能。
引入状态反馈后系统模型如下式所示:(2)所给系统可观,则系统存在状态观测器四、实验内容(1)某系统状态方程如下10100134326x x u •⎡⎤⎡⎤⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥----⎣⎦⎣⎦[]100y x =理想闭环系统的极点为[]123---.(1)采用 Ackermann 公式计算法进行闭环系统极点配置;代码:A=[0 1 0;0 0 1;-4 -3 -2];B=[1; 3; -6];P=[-1 -2 -3];K=acker(A,B,P)Ac=A-B*Keig(Ac)(2)采用调用 place 函数法进行闭环系统极点配置;代码:A=[0 1 0;0 0 1;-4 -3 -2];B=[1;3;-6];eig(A)'P=[-1 -2 -3];K=place(A,B,P)eig(A-B*K)'(3)设计全维状态观测器,要求状态观测器的极点为[]---123代码:a=[0 1 0;0 0 1;-4 -3 -2];b=[1;3;-6];c=[1 0 0];p=[-1 -2 -3];a1=a';b1=c';c1=b';K=acker(a1,b1,p);h=(K)'ahc=a-h*c(2)已知系统状态方程为:10100134326x x u •⎡⎤⎡⎤⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥----⎣⎦⎣⎦[]100y x =(1)求状态反馈增益阵K ,使反馈后闭环特征值为[-1 -2 -3];代码:A=[0 1 0;0 0 1;4 -3 -2];b=[1;3;-6];p=[-1 -2 -3];k=acker(A,b,p)A-b*keig(A-b*k)(2)检验引入状态反馈后的特征值与希望极点是否一致。
全维状态观测器的设计

全维状态观测器的设计全维状态观测器(Full State Observer)是一种常用于控制系统中的重要部件,用于获取系统的全部状态信息。
它通常是通过对系统的输入输出进行观测,并通过数学模型来估算系统的状态。
全维状态观测器的设计可以通过以下步骤来完成。
第一步是系统建模。
将所要观测的系统建立数学模型,可以采用物理方程或者数学模型的方式。
常见的数学模型包括状态方程和输出方程。
状态方程描述了系统状态的时间演变规律,输出方程则描述了系统输出与状态之间的关系。
这些方程可以通过系统的运动方程,控制方程和物理特性等来建立。
第二步是选择观测器类型。
全维状态观测器有多种类型,包括基本观测器、极点配置观测器和最优观测器等。
基本观测器是使用系统的状态方程和输出方程来估算系统状态的观测器,而极点配置观测器和最优观测器则是通过最小化误差来估算系统状态,从而提高观测器的精度。
合适的观测器类型应该根据控制系统的需求来选择。
第三步是计算观测器矩阵。
观测器矩阵是观测器中用来计算系统状态的矩阵。
它可以使用系统的状态方程和输出方程来计算。
观测器矩阵需要满足一些性质,例如它需要是可观测的,并且需要保证系统状态与观测器状态的误差最小。
第五步是实现观测器。
实现观测器需要将观测器矩阵和观测器增益输入到观测器中,并对观测器的输入输出进行校验。
一旦观测器被设计并实现,它就可以用于控制系统中,并用来估算系统的全部状态信息。
总之,全维状态观测器的设计是控制系统中的重要部件,可以极大地提高控制系统的精度和稳定性。
设计一个好的全维状态观测器需要仔细分析系统模型和观测器类型,计算观测器矩阵和观测器增益,并进行实现和调试。
全维状态观测器的设计

卖验报告镌程 銭性*统理论基础 令敲可朗2016年g 刀互目 *业去飲 _______ 学号 _耐俎人 _________ 丈 检名 怂 全* 状 态 观 删 星 的 设计 评分 ______馳闻敎艸签丰 ___________一、卖軽可的1. 学习用状态观测森灰取糸统状态估计值的方出,了鮮全维状态观测森的 极点对状态的估计谖臭的彩响;2. 拿握全维状态观测森的设计方法;3. 拿提带有状态观测森的状态反馈糸统设计方出。
x = Ax + bu开环糸统彳,其中y = exa)用状态反馈配.更糸疣的诃环极点:一2土丿PJM —5 ;b) 设计全维状态观测爰.叽测乐的圾点为:一5±)2丿亍,一10; c) 研兗观测乐圾点住逍对仕计状态遍近彼仕计值的彩响;・01 0_OA =0 1 ,b =-6-11 61c = p 0 0]绘制糸统的输出阶跃响应曲线。
三.实脍环境MATLAB6.5宾唸々理图丿及歩螺利用状态及馈可以使诃环糸疣的圾盍配逍疫所希玺的住置上,其条件是必须对全部状态变量都能进行测量,仅A卖际糸统中.并不是所冇状态变量却能测量的,这就给状态反馈的卖现岌成了困难。
因此要设法利用己知的传息(綸出量y和綸入量x)>通过一个栈空重新构逡糸统状态以对状态变量进行仕计。
该楼型就称为状态观测森。
若状态观测森的阶次与务统的阶次是相同的,这擇的状态观测容就称为全维状态观测森戎全阶观测怎。
设糸疣兜全可观.則可构凌如图4・1所承的状态观測余国4-1 全维状态观測容为求出状态观測爰的反馈ke增益,与极点紀.1.类很.也可有而种方法:为比一:构逡雯换矩阵Q,使糸统支成标准能观淫.然后根据持征方程求岀匕;•资料. ^方出二:是可采用Ackermann 公 < : k c = [O 0…0 if,其中0。
为可观性矩阵。
利用对偶虑理,可使沒计问題大为简化。
管丸构凌对偶糸统'^=A T^+ C T Vhg然后可由变换法或Ackermann小式求出极点紀.1.的反馈k增益,这也可由MATLAB的place和acker函散得刊;呆后求出状态观测乐的反馈增益。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实 验 报 告
课程 线性系统理论基础 实验日期 2016年 6月 6 日 专业班级 姓名 学号 同组人 实
验
名
称
全
维
状
态
观
测
器
的
设
计
评分
批阅教师签字 一、实验目的
1、 学习用状态观测器获取系统状态估计值的方法,了解全维状态观测器的极点对状态的估计误差的影响;
2、 掌握全维状态观测器的设计方法;
3、 掌握带有状态观测器的状态反馈系统设计方法。
二、实验内容
开环系统⎩
⎨⎧=+=cx y bu Ax x
&,其中
[]0100001,0,10061161A b c ⎡⎤⎡⎤⎢⎥⎢⎥===⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦
a) 用状态反馈配置系统的闭环极点:5,322-±-j ; b) 设计全维状态观测器,观测器的极点为:10,325-±-j ; c) 研究观测器极点位置对估计状态逼近被估计值的影响; d) 求系统的传递函数(带观测器及不带观测器时);
绘制系统的输出阶跃响应曲线。
三、实验环境 MATLAB6、5
四、实验原理(或程序框图)及步骤
利用状态反馈可以使闭环系统的极点配置在所希望的位置上,其条件就是必须对全部状态变量都能进行测量,但在实际系统中,并不就是所有状态变量都能测量的,这就给状态反馈的实现造成了困难。
因此要设法利用已知的信息(输出量y 与输入量x),通过一个模型重新构造系统状态以对状态变量进行估计。
该模型就称为状态观测器。
若状态观测器的阶次与系统的阶次就是相同的,这样的状态观测器就称为全维状态观测器或全阶观测器。
设系统完全可观,则可构造如图4-1所示的状态观测器
图4-1 全维状态观测器
为求出状态观测器的反馈ke 增益,与极点配置类似,也可有两种方法: 方法一:构造变换矩阵Q,使系统变成标准能观型,然后根据特征方程求出k e ;
方
法
二
:
就
是
可
采用Ackermann 公式
:
[]T
o e Q A k 1000)(1
Λ-Φ=,其中O Q 为可观性矩阵。
利用对偶原理,可使设计问题大为简化。
首先构造对偶系统
⎩⎨⎧=+=ξ
ηξξ
T
T T b v c A & 然后可由变换法或Ackermann 公式求出极点配置的反馈k 增益,这也可
由MATLAB的place与acker函数得到;最后求出状态观测器的反馈增益。
五、程序源代码、实验数据、结果分析
(a)源程序:
A=[0 1 0;0 0 1;-6 -11 6];
B=[0;0;1];
C=[1 0 0];D=0;
P1=[-2+2*sqrt(3)*i;-2-2*sqrt(3)*i;-5];
K1=place(A,B,P1)
sysnew=ss(A-B*K1,B,C,D)
运行结果:
K1 =
74、0000 25、0000 15、0000
a =
x1 x2 x3
x1 0 1 0
x2 0 0 1
x3 -80 -36 -9
b = u1
x1 0
x2 0
x3 1
c = x1 x2 x3
y1 1 0
d = u1
y1 0
(b)源程序:
A=[0 1 0;0 0 1;-6 -11 6];
B=[0;0;1];
C=[1 0 0];D=0;
P2=[-5+2*sqrt(3)*i;-5-2*sqrt(3)*i;-10];
K2=acker(A',C',P2);L=K2'
Anew=A-L*C
运行结果:
L =
26
282
1770
Anew =
-26 1 0
-282 0 1
-1776 -11 6
(c)研究观测器极点位置对估计状态逼近被估计值的影响:
观测器极点距离虚轴越近,估计状态逼近被估计值得速度越快。
(d)不带观测器:
源程序:
A=[0 1 0;0 0 1;-6 -11 6];
B=[0;0;1];
C=[1 0 0];D=0;
P1=[-2+2*sqrt(3)*i;-2-2*sqrt(3)*i;-5];
K1=place(A,B,P1)
sysnew=ss(A-B*K1,B,C,D);
[num,den]=ss2tf(A-B*K1,B,C,D);
Gb=tf(num,den)
step(Gb)
grid on;
title('不带观测器的系统的阶跃响应曲线');
运行结果:
K1 =
74、0000 25、0000 15、0000
Transfer function:
7、105e-015 s^2 + 1、208e-013 s + 1
--------------------------------------------
s^3 + 9 s^2 + 36 s + 80
带观测器:
源程序:
A=[0 1 0;0 0 1;-6 -11 6];
B=[0;0;1];
C=[1 0 0];D=0;
P1=[-2+2*sqrt(3)*i;-2-2*sqrt(3)*i;-5];
K1=place(A,B,P1);
sysnew=ss(A-B*K1,B,C,D);
P2=[-5+2*sqrt(3)*i;-5-2*sqrt(3)*i;-10];
K2=acker(A',C',P2);L=K2';
An=[A -B*K1;L*C A-B*K1-L*C]
Bn=[B;B]
Cn=[C 0 0 0]
Dn=0;
[num,den]=ss2tf(An,Bn,Cn,Dn);
Go=tf(num,den)
step(Go)
grid on;
title('带观测器的系统的阶跃响应曲线');
运行结果:
An =
1、0e+003 *
0 0、0010 0 0 0 0
0 0 0、0010 0 0 0
-0、0060 -0、0110 0、0060 -0、0740 -0、0250 -0、0150
0、0260 0 0 -0、0260 0、0010 0
0、2820 0 0 -0、2820 0 0、0010
1、7700 0 0 -1、8500 -0、0360 -0、0090 Bn =
1
1
Cn =
1 0 0 0 0 0
Transfer function:
-1、137e-013 s^4 + s^3 + 20 s^2 + 137 s + 370
-------------------------------------------------------------------------------
s^6 + 29 s^5 + 353 s^4 + 2403 s^3 + 9862 s^2 + 2、428e004 s + 2、96e004
Time (sec)
A m p l i t u d e
结果分析:
σ%=10、8% tp=1、15s ts=1、63s 原系统方框图
Gain2
10
3
2.5
2
1.5
1
0.5
-0.5
原系统阶跃响应加观测器的方框图:
Scope1:
Scope2:
Scope3:。