收藏 分享(赏)

最优控制的MATLAB实现.doc

上传人:精品资料 文档编号:9488525 上传时间:2019-08-09 格式:DOC 页数:44 大小:1.56MB
下载 相关 举报
最优控制的MATLAB实现.doc_第1页
第1页 / 共44页
最优控制的MATLAB实现.doc_第2页
第2页 / 共44页
最优控制的MATLAB实现.doc_第3页
第3页 / 共44页
最优控制的MATLAB实现.doc_第4页
第4页 / 共44页
最优控制的MATLAB实现.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

1、最优控制的 MATLAB 实现摘要线性二次型最优控制是一种普遍采用的最优控制系统设计方法。使用MATLAB 软件设计的 GUI 控制界面实现最优控制,有较好的人机交互界面,便于使用。线性二次型最优控制又叫做 LQ 最优控制或者称为无限长时间定常系统的状态调节控制器。本文分别从连续系统线性二次型最优控制的 MATLAB 实现,离散系统相形二次型最优控制的 MATLAB 实现,最优观测器的 MATLAB 实现,线性二次性 Guass 最优控制的 MATLAB 实现四个研究方案。本论文就是从这四个方面分别以不同的性能指标设计不同的 GUI 界面以及不同的程序实现其功能并说明其各自的应用范围。关键词:

2、线性二次型,最优控制, GUI 控制界面, 最优观测器, Guass 最优控制The Linear Quadratic Optimal Control of MATLABAbstractLinear quadratic optimal control is a widely used to optimal control system design method. Use of MATLAB software design GUI interface control to realize the optimal control, Have good man-machine interface,

3、 easy to use. The linear quadratic optimal control and called LQ optimal control or an infinite long time of the system state regulation and constant controller. This paper respectively from the continuous system linear quadratic optimal control MATLAB, Discrete system in quadratic optimal control M

4、ATLAB, The optimal observer MATLAB, sexual Guass linear quadratic optimal control MATLAB four research plan. This paper is from the four aspects of the performance index respectively in different design different GUI interface and Different programs that realize its function and their application sc

5、ope.Keywords:Linear quadratic, The optimal control, GUI control interface, The best Guass observer, the optimal control目录1 引言 .11.1 概述 .11.2 课题研究的背景、意义及研究概况 .11.3 本文研究的主要内容 .22 最优控制的基本概念 .32.1 最优控制基本思想 .32.2 最优控制的性能指标 .32.2.1 积分型性能指标 32.2.2 末值型性能指标 .52.3 最优控制问题的求解方法 .53 最连续系统最优控制的 MATLAB 实现 73.1 连续系

6、统线性二次型最优控制 73.2 连续系统线性二次型最优控制的 MATLAB 实现 .83.3 连续系统线性二次型最优控制的 MATLAB 实现示例 .84 离散系统线性二次型最优控制的 MATLAB 实现 .174.1 离散系统稳态线性二次型最优控制 .174.2 离散系统线性二次型最优控制的 MATLAB 实现与示例 185 最优观测器的 MATLAB 实现 .235.1 连续时不变系统的 KALMAN 滤波 235.2 KALMAN滤波的 MATLAB 实现 .245.3 KALMAN滤波的 MATLAB 实现示例 .256 线性二次型 GUASS 最优控制的 MATLAB 实现 .316

7、.1 LQG 最优控制的求解 316.2 LQG 最优控制的 MATLAB 实现与示例 .327 结论 37参考文献: .38致 谢 .39第 1 页 共 39 页1 引言1.1 概述随着计算机技术的飞速发展,控制系统的计算机辅助设计与分析得到了广泛的应用,目前已达到了相当高的水平。MATLAB 是国际控制界应用最广泛的计算机辅助设计与分析工具,它集矩阵运算、数值分析、信号处理和图形显示于一体,构成了一个方便的、良好的用户环境,其强大的科学计算与可视化功能,简单易用的开放式可编程环境,使得 MATLAB 在控制领域的各个方面都得到了广泛应用。线性二次型最优控制可以使系统的某些性能达到最优,在工

8、程上用得较为广泛,也是现代控制理论课程学习的重点和难点。所谓最优控制,就是根据建立在系统数学模型,选择一个容许的控制规律,在一定的条件下,使得控制系统在完成所要求的控制任务时使给定的某一性能指标达到最优值、极小值或极大值。图形用户界面 GUI(Graphical User Interface)作为用户与软件交互的一种主要手段,已经成为现代软件的重要组成部分。目前大部分软件的功能主要是通过图形用户界面调用,在软件产品的测试过程中,尤其是功能测试过程中,GUI 功能测试占有非常大的比例,GUI 测试是现代软件测试的关键环节。GUI 系统质量是整个软件产品质量提升和成本降低的关键。由于 GUI 软件

9、的独特性,使得原有传统软件的测试方法不大适用于 GUI 软件的测试,现有关于 GUI 测试的研究相对较少,资源也相对贫乏,并且 GUI 手工测试已经无法满足测试要求,因而对 GUI测试自动化进行研究具有重要的现实意义。1.2 课题研究的背景、意义及研究概况最优控制理论是 50 年代中期在空间技术的推动下开始形成和发展起来的 。美国学者 R.贝尔曼 1957 年提出的动态规划和前苏联学者 L.S.庞特里亚金 1958 年提出的极大值原理,两者的创立仅相差一年左右。对最优控制理论的形成和发展起了重要的作用。线性系统在二次型性能指标下的最优控制问题则是 R.E.卡尔曼在 60 年代初提出和解决的。对

10、于线性系统,若性能指标是二次型函数,这样实现的控制叫做线性二次型最优控制,线性二次型最优控制方法是 20 世纪 60 年代发展起来的一种普遍采用的最优控制系统设计方法。这种方法的对象是以状态空间表达式给出的线性系统,而性能指标(或目标函数)为对象状态与控制输入的二次型函数。二次型问题就是在线性系统的第 2 页 共 39 页约束条件下,选择控制输入使得二次型目标函数达到最小。到目前为止,这种二次型最优控制在理论上比较成熟,为解决这类控制问题而开发的 MATLAB 函数也比较多,而且这种控制应用非常广泛。目前 GUI 自动化测试工具普遍采用的是捕获/回放(C/P,Capture/Playback)

11、机制,并没有对 GUI 测试的自动化提供很好的支持。只能被动捕获被测试系统的执行信息,而不能和被测试系统进行交互,有选择地捕获被测系统的执行信息,且相对于国内软件测试市场,价格较高,国内没有充分得到应用。因而,研究与设计图形用户界面的自动化测试工具,对促进国内 GUI 应用系统测试自动化具有较深远的意义。1.3 本文研究的主要内容本论文将以线性二次型为性能指标,分别从连续系统线性二次型最优控制的MATLAB 实现,离散系统相形二次型最优控制的 MATLAB 实现,最优观测器的 MATLAB 实现,线性二次性 Guass 最优控制的 MATLAB 实现这四个研究方案入手加以深入,力求在做到实现最

12、优控制的前提下,控制界面的灵敏性能够有进一步的提高。同时江不同最优控制的设计进行比较,探讨各种方法的优缺点。针对上述研究内容,本论文内容具体安排如下:第 1 章:引言。介绍了线性二次型最优控制以及 MATLAB 下图形界面 GUI 的研究背景、意义和发展概况,并介绍了本文的主要研究内容。第 2 章:阐述最优控制的基本概念,性能指标以及求解方法。第 3 章:阐述连续系统线性二次型最优控制的 MATLAB 实现过程。第 4 章:阐述离散系统相形二次型最优控制的 MATLAB 实现过程。第 5 章:阐述最优观测器的 MATLAB 实现过程。第 6 章:阐述线性二次型 Guass 最优控制的 MATL

13、AB 实现过程。第 3 页 共 39 页2 最优控制的基本概念2.1 最优控制基本思想设系统状态方程为(2-1)0)(,u,()( xttxft )式中, 是 n 维状态向量; 是 p 维控制向量;n 维向量函数 是)(tx) ,(uttxf)与 t 的连续函数,且对 与 t 连续可微; 在 上分段连续。所谓)tu, )x()t(uft,0最优控制问题,就是要求寻找最优控制函数,使得系统状态 从以知初态 转移到)x0x要求的终端状态 ,在满足如下约束条件下:)(ftx(1)控制与状态的不等式约束(2-2) 0),(tuxg(2)终端状态的等式约束 (2-3)),t(fM使性能指标(2-4)ft

14、tf dtuxFtxJ0),(),(达到极值。式中 是 m 维连续可微的向量函数,),(tuxg的连续可txtuxnqqtMpmf 与都 是,维 连 续 可 微 的 向 量 函 数是 )(),(;),(; 微纯量函数。2.2 最优控制的性能指标自动控制的性能指标是衡量系统性能好坏的尺度,其内容与形式取决于最优控制问题所要完成的任务,不同的控制问题应取不同的性能指标,其基本类型如下。2.2.1 积分型性能指标(2-5)ftt dtuxFJ0),(第 4 页 共 39 页表示整个控制过程中,系统的状态 与施加给系统的控制作用 应当达到某些要求。)tx( )(tu例如:(1)最小时间控制当选取 1)

15、,(tuxF则(2-6)00tdtJff这种控制要求设计一个快速控制规律,使系统在最短时间内从以知的初态 转移到)(0tx要求的末态 。例如,导弹拦截器的轨道转移就是属于此类问题。)(ftx(2)最小燃料消耗控制当选取 mjjtutxF1)(),(则(2-7)fttmjjdtuJ01)(是航天工程中常遇到的重要问题之一。例如,宇宙飞船这种航天器具所携带的燃料有限,希望在轨道转移时,所消耗的燃料尽可能的少,就是属于此类问题。(3)最小能量控制当选取 )(),(tutuxFT则(2-8)fttTdtJ0)(对于一个能量有限的物理系统,例如,通信卫星的太阳能电池,为了使系统在有限的能源条件下载尽可能

16、长的时间内保证正常工作,需要对控制过程中的能量消耗进行约束,就是属于此类问题。(4)无线时间线性调节器取 ,且ft第 5 页 共 39 页)()(21),( tRutQxtuxFTT其中, 均为加权矩阵,则,0RQ(2-9)0 )()(21t TTdtuttxJ(5)无限时间线性跟踪器取 ,且ft)()()(),( tRutzyQtzytuxFTT0 )(21t TdttttJ(2-10)其中, 为系统输出向量, 为系统希望输出向量。)(ty)(tz在性能指标式(2-8) 、式(2-9) 、式(2-10)中,被积函数都是由的平方项所组成,这种形式的性能指标叫做二次型性能指标。)()(tuztx

17、或、 2.2.2 末值型性能指标(2-11)),(ftxJ表示系统在控制过程结束后,要求系统的终端状态 应达到某些要求,在实际工程)(ftx中,例如要求导弹的脱靶量最小、机床工作台移动准确停止等。终端时刻 可以固定,ft也可以自由,视最优控制问题的性质而定。复合型性能指标(2-12)fttf dtuxFtxJ0),(),(表示对整个控制过程及控制过程结束后的终端状态均有要求,是最一般的性能指标形式。2.3 最优控制问题的求解方法1. 解析法当性能指标与约束条件为显示解析表达式时,适合用解析法。通常是用求导方法或第 6 页 共 39 页变分方法解出最优控制的必要条件,从而得到一组方程式或不等式,

18、然后求解这组方程或不等式,最后得到最优控制的解析解。2. 数值计算法当性能指标比较复杂或不能用变量的显函数表示时,可以采用试探法,即直接搜索逐步逼近,经过若干次迭代,逐步逼近到最优点。3梯度型法这是一种解析与数值计算相结合的方法。第 7 页 共 39 页3 最连续系统最优控制的 MATLAB 实现3.1 连续系统线性二次型最优控制设线性连续定常系统的状态方程为:(3-1)0. )(,)(xtButAxt 式中, 维状态向量; 维控制向量,且不受约束; 维常数矩阵,ntx为)( pu为)( nA为维常数矩阵。pB为系统的性能指标为:(3-2)021RudtQxJT式中,终端时间无限; 维数适当的

19、常数矩阵(常取 维常数矩阵) ; 为维数适为 nR当的常数矩阵, 。若下列条件之一满足:TR,(1) 完全可控;,0BAQ阵 对(2) 为任意DQDATT , 完 全 可 观 ,完 全 可 控 , 阵 对阵 对矩阵。则有最优反馈矩阵:(3-3)PBRKT1与唯一的最优控制:(3-4))()()(*1txtxtuT以及最优性能指标:(3-5))0(2PJ式中,P 为常值正定矩阵,它是以下黎卡提代数方程的唯一解:(3-6)1QBRAPTT闭环系统:(3-7)01)(,)() xtPtxT第 8 页 共 39 页是渐近稳定的,其解为最优轨线 。)(tx3.2 连续系统线性二次型最优控制的 MATLA

20、B 实现在 MATLAB 系统里,有特别提供的函数来求解连续系统线性二次型状态调节器问题。其函数有 lqr()、lqr2()与 lqry()。函数的调用格式为:K,S,E=lqr(A,B,Q,R,N)K,S=lqr2(A,B,Q,R,N)K,S,E=lqry(sys,Q,R,N)其中,输入参量 sys 为系统的模型;A 为系统的状态矩阵;B 为系统的输入矩阵;Q 为给定的半正定实对称矩阵;R 为给定的正定实对称矩阵;N 代表更一般化性能指标中交叉乘积项的加权矩阵;输出参量 K 为最优反馈增益矩阵;S 为对应 Riccati 方程的唯一正定解 P(若矩阵 A-BK 是稳定矩阵,则总有 P 的正定

21、解存在) ;E 为 A-BK 的特征值。函数 lqry()用来求解二次型状态调节器的特例,是用输出反馈替代状态反馈,即有: (3-8))()(tKytu其性能指标则为: (3-9)dtRuQJT021这种二次型输出反馈控制称为次优(或准最优)控制。3.3 连续系统线性二次型最优控制的 MATLAB 实现示例【例 18-1】已知连续系统状态方程与初始条件为 性能指标:1122()(0),xtux设计要求:设计一 GUI 界面,界面有五个按钮,分别实现的功能2201=()(),4Jxtutd是:最优反馈增益矩阵 K、最优控制 u*(t)、最优性能指标 J*、特征方程的特征值和Riccati 方程的

22、正定解 P。解:由系统状态方程直接写出状态矩阵、输入矩阵与初始条件:12(0)01=xAB, ,第 9 页 共 39 页选择矩阵01,2QR由题目要求,第一步:打开 MATLAB,输入 guide 回车后将弹出 GUIDE 快速启动对话框,如图 3.1 所示。图 3.1 GUIDE 快速启动对话框从上面的对话框可以看到,MATLAB 提供了 4 种 GUIDE 模板,其中本次设计需要用到的是第一个,空白 GUI 模板。单击 OK 按钮,打开 GUI 编辑界面,如图 3.2 所示。第 10 页 共 39 页图 3.2 新建的 GUI 界面如图所示,上面的第一行为菜单栏,第二栏为工具栏,左边的两列

23、为常用控件,关于各个控件的名称与功能见附录 1第二步:针对例子的设计要求,为 GUI 添加必要的控件。(1)添加“静态文本”控件。选择 Static Text 图标,用鼠标将其拖到 GUI 模板的合适位置,并根据设计,调整其大小。(2)添加“文本框”控件。用鼠标单击 Edit Text 图标,然后在界面上建立文本框。(3)添加“列表框”控件。用鼠标单击 Listbox 图标,然后在界面上合适的位置建立大小适中的列表框。(4)添加“按钮组”控件。单击 Button Group 图标,建立合适的按钮组控件。(5)在按钮组上添加“按钮” 。单击 Push Button 图标,将按钮建立在按钮组里,需

24、要多少即建立多少。完成以上操作后得到草图,如图 3.3 所示。第 11 页 共 39 页图 3.3 GUI 草图上述界面包含两个静态文本框控件、一个可编辑文本框、一个按钮组控件、五个按钮控件、一个列表框控件。第三步:修改属性。创建控件以后,要对控件的各种属性进行设置,具体步骤如下:双击各控件,则会弹出左边的属性对话框,按要求分别修改各按钮的属性,如图 3.4所示。第 12 页 共 39 页图 3.4 修改属性窗口如图所示,右边窗口为修改属性窗口,常用属性有:string 属性,用于显示在控件上的字符串,起说明或提示作用;Callback 属性,回调函数,与菜单的一样;Tag 属性,控件的标记,

25、用于标识控件。更多属性功能见附录 11)在图形左边上方的静态文本的属性编辑框中,设置如下属性值: Fontsize 10 %字体大小 FontUnits normalized %采用相对度量单位,缩放时保持字体比例 String 系统输入 %显示在界面上的字符 HorizontalAlignment Center %文字中心对齐 Units normalized %采用相对度量单位,缩放时保持该区比例2)在图形左边中间的静态文本的属性编辑框中,设置如下属性值:第 13 页 共 39 页 Fontsize 10 %字体大小 FontUnits normalized %采用相对度量单位,缩放时保持

26、字体比例 String 系统输出 %显示在界面上的字符 HorizontalAlignment Center %文字中心对齐 Units normalized %采用相对度量单位,缩放时保持该区比例3) 在可编辑文本的属性编辑框中,设置如下属性值: FontUnits normalized %采用相对度量单位,缩放时保持字体比例 String %清除在界面上的字符 HorizontalAlignment Center %文字中心对齐 Units normalized %采用相对度量单位,缩放时保持该区比例4) 在按钮组的属性编辑框中,设置如下属性值: Fontsize 12 %字体大小 Fon

27、tUnits normalized %采用相对度量单位,缩放时保持字体比例 HorizontalAlignment Center %文字中心对齐 String 连续系统线性二次型最优控制 %在按钮组顶头显示 Units normalized %采用相对度量单位,缩放时保持该键比例5) 在按钮组的按键上属性编辑框中,设置如下属性值: Fontsize 10 %字体大小 FontUnits normalized %采用相对度量单位,缩放时保持字体比例 HorizontalAlignment Center %文字中心对齐 Units normalized %采用相对度量单位,缩放时保持该键比例五个按

28、钮的 String 属性从上到下分别设置为:最优反馈增益矩阵 K、Riccati 方程第 14 页 共 39 页的正定解 P、最优控制 u*(t)、最优性能指标 J*、特征方程的特征值。对控件的属性设置结束后,得到如下界面:图 3.5 属性设置完的基本图第四步:设计 GUI 回调函数。点击工具栏最右边的绿色三角按钮运行点击工作台上的”运行界面“的工具图标,会出现一个询问对话框,当按提示对以上的设计进行存储以后,就会引出 2 个界面:名为 Lqr 的图形用户界面(如图 3.6 所示) ;展示名为 Lqr 的(待填写回调指令的)M 函数文件的文件编辑器界面。在 Lqr.m 文件中,填写回调指令(见

29、附录) 第五步:运行。按例题要求设计回调函数,然后运行。在系统输入框中输入状态矩阵、输入矩阵、初始状态与给定矩阵,输入完成后分别点击各按钮。(1)按下按钮“最优反馈增益矩阵 K”,得到如图 3.7 的结果:第 15 页 共 39 页图 3.6 图形用户界面图 3.7(2)按下按钮“Riccati 方程的正定解 P”,得到如图 3.8 结果:第 16 页 共 39 页图 3.8 Riccati 方程的正定解 P按下按钮“最优控制 u*(t)”,得到 3.9 图结果:图 3.9 最优控制 u*(t)第 17 页 共 39 页按下按钮“最优性能指标 J*”,得到图 3.10 结果:图 3.10 最优

30、性能指标 J*按下按钮“特征方程的特征值”,得到图 3.11 结果:图 3.11 特征方程的特征值自此连续系统线性二次型最优控制的 MATLAB 设计结束。第 18 页 共 39 页4 离散系统线性二次型最优控制的 MATLAB 实现4.1 离散系统稳态线性二次型最优控制设完全可控线性离散系统的状态方程为:(4-1))1,0(,),()1( NkxkBuAxk 式中, 维状态向量; 控制向量,且不受约束;A 为 维非奇异矩nx为)( 维为 pn阵, 。维 矩 阵为 pB系统的性能指标为:(4-2)10 )()(2)(21NKTTT kRukQxSxJ式中, 维正定或半正定实对称矩阵; 正定实对

31、称矩阵;nQ为 维为 p维正定或半正定实对称矩阵。nS为最优控制作用与最优反馈矩阵可以有几种不同的表达式。其中最有反馈矩阵之一为:(4-3)()()(11 QkPABRkKT与之对应的最优控制序列:(4-4))()()()(*11xxuT以及性能指标:(4-5))0()(2*xPJT以上几式中,P(k)为正定矩阵,它是以下黎卡提差分方程的正定解:(4-6)ABRkAQkPTT1)1()( 若控制步数 N 为无限值,即令 ,系统最优控制的解成为稳态解。系统的性N能指标则改为:(4-7)0 )()(21KTTkRukxJ:kK变 成 常 数 增 益 矩 阵)(第 19 页 共 39 页(4-8)P

32、ABRKTT1:PkP也 变 成 常 数 矩 阵)(4-9)AQTT11对应的最优控制序列为:(4-10)()()(*1kPAxBRkKxuTT闭环系统的状态方程为: )()()()1( 11 kxRIkxPBAkBAxk TTT 以及最优性能指标仍为:(4-11))0()(2*xJT4.2 离散系统线性二次型最优控制的 MATLAB 实现与示例在 MATLAB 的工具箱里,有特别提供的函数来求解离散系统稳态线性二次型状态调节器问题。其函数有 dlqr()与 dlqry()。函数的调用格式为:),(, NRQDCBAdlqryESK其中,输入参量 A 为系统的状态矩阵;B 为系统的输入矩阵;Q

33、 为给定的正定或半正定实对称矩阵;R 为给定的正定实对称矩阵;N 代表更一般化性能指标中交叉乘积项的加权矩阵。输出参量 K 为离散最优反馈增益矩阵;S 为 Riccati 方程的唯一正定解 P;E为 A-BK 的特征解。函数 dlqry()用来求解二次型状态调节器的特例,这个特例就是用输出反馈替代状态反馈,即有:(4-12)()(kKyu其性能指标为:(4-13)0 )()(21kTTkRukQyJ【例 4-1】以知伺服系统动态结构状态方程为第 20 页 共 39 页12()()1()xkabukuvxryyc式中a=0.5, b=1, c=1, d=0利用 GUI 工具箱设计一界面使其满足在

34、点击【反馈矩阵 Kx】键时在输出框中输出系统稳态最优反馈增益矩阵,在点击【Step response】键时在轴上画出相应的系统闭环后的单位阶跃给定响应曲线。【解】由 v(k)有:v( k+1)=r(-yk+1)v(=-cax(k)+v-cbu(k)r+1由 写出矩阵,对于系统稳态, ,以上矩阵就成为:(x与 ()0()()()11xaxourvcvcb令采样信号 将以上两式相减,()(),eeekkvku。可得: (1)()0()e eexxabkvkcvkc由 12()(),uk有 12()()eeeu再令 以上矩阵可写成:,exxkvwk。1122()()0()xabwkcc式中 122(

35、)()kkx)当系统有单位阶跃给定输入时, 可得:12()(u(k)=()rrvkx。 又 由21(1)00()()xkaxkbxkrvcvcv第 21 页 共 39 页根据矩阵乘法运算规则,整理以上矩阵有:21(1) ()01abkxkxkrvccv还有:()()0xkykcxv设定性能指标为:01()()2TTKJxkQwkR式中参量 Q、R 选择为:1,10根据以上分析开始设计 GUI 界面。第一步:启动 GUI 工具箱以后,布置如 4.1 图所示的界面:图 4.1 离散系统最优控制 GUI 界面第 22 页 共 39 页上述界面包含一个坐标轴控件、两个静态文本框控件、一个可编辑文本框、

36、一个按钮组控件、两个按钮控件、一个列表框控件。第二步:对各控件进行属性设置,设置完成后得到如 4.2 界面。图 4.2 离散系统图形用户界面图 4.3 离散系统反馈矩阵 Kx第 23 页 共 39 页第三步:界面的激活与回调函数的设计(见附录) 。第四步:运行。点击界面按钮“反馈矩阵 Kx”后显示如 4.3 界面点击界面按钮“Step response”后显示如 4.4 界面图 4.4 离散系统单位阶跃给定响应设计结束。第 24 页 共 39 页5 最优观测器的 MATLAB 实现系统的 Kalman 滤波器就是最优观测器。对于带有系统噪声与量测噪声的实际系统,抑制或滤掉噪声对系统的干扰及影响

37、,对系统的状态做出充分精确的估计。利用Kalman 滤波器对系统进行最优控制是非常有效的。5.1 连续时不变系统的 Kalman 滤波给定系统的状态方程与量测方程分别为:(5-1))()(tGwtButAxt(5-2))( vHDCy式中, 维状态向量; 控制向量, 维量测向量; A 为 维nkx为)( 维为 pkuqty为)( n非奇异矩阵, , 维常数矩阵;维 矩 阵为 pB pnG为维 常 数 矩 阵 ,为为随机噪声干扰输入,它是零均值的 p 维白噪声过程;)(twpqH维 常 数 矩 阵 ; 假 定为 假定为随机量测噪声,是零均值的 q 维白噪声过程。 两噪声过程均平稳且互)(tvw与

38、不相关。即有: .,),()(;,000ttQwtEvttT 对 一 切对 一 切对 一 切此式中的 为常数矩阵(叫做模型噪声的协方差矩阵) 。0。00,),()( tttT 对 一 切此式中的 为常数矩阵(叫做量测噪声的协方差矩阵) 。0R0,)(twtET对 一 切令 为状态向量估计值与状态向量的估计误差值, 为状态向量的分 别与 )(x )(tx理论值,则有:(5-3))()(txt除上述假设外,还假定C,A是完全可观测的。在这些假定均成立的条件下,使估计误差平方和的期望值最小(最小方差迹准则滤波估计)既有:第 25 页 共 39 页(5-4)minTJExt其最优估计器为:(5-5)

39、xtAtButLytCtALxtButLyt式中(5-6)10TPR其中 为以下 方程的解:0PRicat(5-7) 1000TTAGQPCR可以证明: 方程的解 就是估计误差的协方差,而此协方差的迹( )ictP 0trP即为误差方差。如是有:(5-8)0TTtrExtExt5.2 Kalman 滤波的 MATLAB 实现在 MATLAB 的工具箱里提供了 函数来求解系统的 kalman 滤波器,函数的kalmn调用格式为: , ,KestLPlsyQRN其中,输入参量 为连续或离散系统带扰动的状态空间模型 ,当模型y ,ABCD有两个时, , ; 为模型噪声的协方差矩阵; 为量测噪声的协B

40、GDH R方差矩阵; 为可选项,它对应模型噪声与量测噪声的相关项。输出参量 为N Kest滤波器的状态估计器,其状态方程如下:Kalmn(5-9)xALCxtBLutyt(5-10)0ytDttE为 滤波器的增益矩阵: 为对应的 方程的解,即估计误差的协方差。LKalmnPRicat在 MATLAB 老版本的工具箱里,还提供了两个配合使用的函数 与 来lqestim求解系统的 滤波器。函数 的调用格式为:l lqe第 26 页 共 39 页,LPElqeAGCQRN其中,输入参量 , , 为系统式(18-46)与(18-47)中的对应参量; 为模型噪Q声的协方差矩阵; 为量测噪声的协方差矩阵;

41、 为可选项,它对应模型噪声与量测R噪声的相关项;输出参量 为 滤波器的增益矩阵; 为对应的 方程的解,LKalmnPRicat即估计误差的协方差; 为估计器的闭环特征值。E函数 的调用格式为:estim,yL这个函数用来生成连续系统的 滤波器,即系统的状态估计器 。输入参Kalmnest量 为连续系统带扰动的状态空间模型,输入参量 为函数 求出的 滤sy LleqKalmn波器的增益矩阵。对于连续系统,用函数 计算的 滤波器的状态估计器 与用函kalnalnkest数 求出的 滤波器 ,两者应相等。请看以下示例。estimKlest5.3 Kalman 滤波的 MATLAB 实现示例例【5-1

42、】:已知单位负反馈连续系统的受控对象与校正装置的传递函数分别为:,021Gs180cs试设计一个 GUI 界面,实现如下要求:(1) 点击按钮“ 增益矩阵 ”时,在列表框中显示系统 滤波器的增KalmnLKalmn益矩阵 ;L(2) 点击“系统估计误差的协方差 ”按钮时,列表框中显示系统估计误差的协方P差 ;P(3) 点击“ 最优滤波器”按钮时,列表框中显示系统 (最优)滤波Kalmn Kalmn器(a,b,c,d) 。解:第一步:启动 GUI 工具箱以后,布置如图 5.1 所示的界面:下述界面包含一个静态文本框控件、一个可编辑文本框、一个按钮组控件、三个按钮控件、一个列表框控件。第 27 页 共 39 页图 5.1 最优滤波器 GUI 基本界面Kalmn第二步:对各控件进行属性设置,属性设置与例 3.1 类同,设置完成后得到图 5.2 界面。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报