线性二次型最优控制的MATLAB实现(6)

2018-11-20 18:42

中北大学2011届毕业设计说明书

5 最优观测器的MATLAB实现

系统的Kalman滤波器就是最优观测器。对于带有系统噪声与量测噪声的实际系统,抑制或滤掉噪声对系统的干扰及影响,对系统的状态做出充分精确的估计。利用Kalman滤波器对系统进行最优控制是非常有效的。 5.1 连续时不变系统的Kalman滤波

给定系统的状态方程与量测方程分别为:

x?(t)?Ax(t)?Bu(t)?Gw(t) (5-1) y(t)?Cx(t)?Du(t)?Hw(t)?v(t) (5-2) 式中,x(k)为n维状态向量;u(k)为p维控制向量,y(t)为q维量测向量; A为n?n维非奇异矩阵,B为n?p维矩阵,G为n?p维常数矩阵,D为q?p维常数矩阵;

H为q?p维常数矩阵;假定w(t)为随机噪声干扰输入,它是零均值的p维白噪声过程;

假定为随机量测噪声,是零均值的q维白噪声过程。w(t)与v(t)两噪声过程均平稳且互不相关。即有:

E{w(t)}?0,对一切t?t0;E{v(t)}?0,对一切t?t0;E{w(t)w(?)?Q0?(t??),对一切t,??t0.T

此式中的Q0为常数矩阵(叫做模型噪声的协方差矩阵)。

E{w(t)w(?)?Q0?(t??),对一切t,??tT。

此式中的R0为常数矩阵(叫做量测噪声的协方差矩阵)。 E{w(t)wT(?)?0,对一切t,??t0

?(t)与~x(t)分别为状态向量估计值与状态向量的估计误差值,令xx(t)为状态向量的理

论值,则有:

~x(t)?x(t)?~x(t) (5-3) 除上述假设外,还假定{C,A}是完全可观测的。在这些假定均成立的条件下,使估计误差平方和的期望值最小(最小方差迹准则滤波估计)既有:

第23页 共39页

中北大学2011届毕业设计说明书

?T??J?E??x?t?x?t???min (5-4)

其最优估计器为:

???t??Ax??t??Bu?t??L???t????t??Bu?t??Ly?t? (5-5) x?y?t??Cx???A?LC?x式中

L?P0CR0T?1 (5-6)

其中P0为以下Riccati方程的解:

AP0?P0AT?GQ0GT?P0CTR0?1CP0?0 (5-7) 可以证明:Riccati方程的解P0就是估计误差的协方差,而此协方差的迹(trP0)即为误差方差。如是有:

??t?x?T?t???E?x?Tx??t?? (5-8) trP0?trE?x????5.2 Kalman滤波的MATLAB实现

在MATLAB的工具箱里提供了kalman??函数来求解系统的kalman滤波器,函数的调用格式为:

?Kest,L,P??Kalman?sys,Q,R,N?

?,C,D??,当模型有其中,输入参量sys为连续或离散系统带扰动的状态空间模型?A,B???BG?, D???DH?;Q为模型噪声的协方差矩阵;R为量测噪声的协方两个时,B差矩阵;N为可选项,它对应模型噪声与量测噪声的相关项。输出参量Kest为Kalman滤波器的状态估计器,其状态方程如下:

????A?LC?x??t???B?LD?u?t??Ly?t? (5-9) x ?L??t???C??y??t??????x??t???E??x?D???u?t? (5-10) ?0?为Kalman滤波器的增益矩阵:P为对应的Riccati方程的解,即估计误差的协方差。 在MATLAB老版本的工具箱里,还提供了两个配合使用的函数lqe??与estim??来求

解系统的Kalman滤波器。函数lqe??的调用格式为:

第24页 共39页

中北大学2011届毕业设计说明书

?L,P,E??lqe?A,G,C,Q,R,N?

其中,输入参量A,G,C为系统式(18-46)与(18-47)中的对应参量;Q为模型噪声的协方差矩阵;R为量测噪声的协方差矩阵;N为可选项,它对应模型噪声与量测噪声的相关项;输出参量L为Kalman滤波器的增益矩阵;P为对应的Riccati方程的解,即估计误差的协方差;E为估计器的闭环特征值。

函数estim??的调用格式为:

est?estim?sys,L?

这个函数用来生成连续系统的Kalman滤波器,即系统的状态估计器est。输入参量

sys为连续系统带扰动的状态空间模型,输入参量L为函数leq??求出的Kalman滤波器

的增益矩阵。

对于连续系统,用函数kalman??计算的Kalman滤波器的状态估计器kest与用函数

estim??求出的Kalman滤波器est,两者应相等。请看以下示例。

5.3 Kalman滤波的MATLAB实现示例

例【5-1】:已知单位负反馈连续系统的受控对象与校正装置的传递函数分别为: G0?s??1s2 ,Gc?s??18?s?1?s?10

试设计一个GUI界面,实现如下要求:

(1) 点击按钮“Kalman增益矩阵L”时,在列表框中显示系统Kalman滤波器的增益

矩阵L;

(2) 点击“系统估计误差的协方差P”按钮时,列表框中显示系统估计误差的协方差

P;

(3) 点击“Kalman最优滤波器”按钮时,列表框中显示系统Kalman(最优)滤波器

(a,b,c,d)。

解:

第一步:启动GUI工具箱以后,布置如图5.1所示的界面:

下述界面包含一个静态文本框控件、一个可编辑文本框、一个按钮组控件、三个按钮控件、一个列表框控件。

第25页 共39页

中北大学2011届毕业设计说明书

图5.1 Kalman最优滤波器GUI基本界面

第二步:对各控件进行属性设置,属性设置与例3.1类同,设置完成后得到图5.2界面。

图5.2 Kalman最优滤波器控制界面

第26页 共39页

中北大学2011届毕业设计说明书

第三步:界面的激活与回调函数的设计(见附录2)。其中激活界面如图5.3

图5.3 Kalman最优控制的激活界面

第四步:运行。输入以知矩阵,点击界面按钮“Kalman增益矩阵L”后显示如5.4界面

图5.4 Kalman滤波器的增益矩阵L

第27页 共39页


线性二次型最优控制的MATLAB实现(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:整式乘法评课稿

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: