数学小抄: 概率角度推导Kalman Filter
admin
2024-01-20 05:24:41
0

复习


参考: [机器人学中的状态估计]
联合概率密度指数部分:

([xy]−[μxμy])⊤[ΣxxΣxyΣyxΣyy]−1([xy]−[μxμy])=([xy]−[μxμy])⊤[10−Σyy−1Σyx1][(Σxx−ΣxyΣyy−1Σyx)−100Σyy−1]×[1−ΣxyΣyy−101]([xy]−[μxμy])=(x−μx−ΣxyΣyy−1(y−μy))⊤(Σxx−ΣxyΣyy−1Σyx)−1×(x−μx−ΣxyΣyy−1(y−μy))+(y−μy)⊤Σyy−1(y−μy)\begin{split} &(\begin{bmatrix} x\\y \end{bmatrix}-\begin{bmatrix} \mu_x\\ \mu_y \end{bmatrix})^{\top}\begin{bmatrix} \Sigma_{xx} & \Sigma_{xy}\\ \Sigma_{yx} & \Sigma_{yy}\\ \end{bmatrix}^{-1}(\begin{bmatrix} x\\y \end{bmatrix}-\begin{bmatrix} \mu_x \\ \mu_y \end{bmatrix}) \\ &= (\begin{bmatrix} x\\y \end{bmatrix}-\begin{bmatrix} \mu_x\\ \mu_y \end{bmatrix})^{\top} \begin{bmatrix} 1 & 0\\ -\Sigma^{-1}_{yy}\Sigma_{yx} & 1\\ \end{bmatrix} \begin{bmatrix} (\Sigma_{xx}-\Sigma_{xy}\Sigma^{-1}_{yy}\Sigma_{yx})^{-1} & 0\\ 0&\Sigma^{-1}_{yy}\\ \end{bmatrix} \\ & \times \begin{bmatrix} 1 & -\Sigma_{xy}\Sigma^{-1}_{yy}\\ 0 & 1\\ \end{bmatrix} (\begin{bmatrix}x\\y\end{bmatrix} - \begin{bmatrix}\mu_x\\ \mu_y\end{bmatrix})\\ &=(x-\mu_x-\Sigma_{xy}\Sigma^{-1}_{yy}(y-\mu_y))^{\top}(\Sigma_{xx}-\Sigma_{xy}\Sigma^{-1}_{yy}\Sigma_{yx})^{-1}\\ & \times (x-\mu_x-\Sigma_{xy} \Sigma^{-1}_{yy}(y-\mu_y))+(y-\mu_y)^{\top}\Sigma^{-1}_{yy}(y-\mu_y) \end{split} ​([xy​]−[μx​μy​​])⊤[Σxx​Σyx​​Σxy​Σyy​​]−1([xy​]−[μx​μy​​])=([xy​]−[μx​μy​​])⊤[1−Σyy−1​Σyx​​01​][(Σxx​−Σxy​Σyy−1​Σyx​)−10​0Σyy−1​​]×[10​−Σxy​Σyy−1​1​]([xy​]−[μx​μy​​])=(x−μx​−Σxy​Σyy−1​(y−μy​))⊤(Σxx​−Σxy​Σyy−1​Σyx​)−1×(x−μx​−Σxy​Σyy−1​(y−μy​))+(y−μy​)⊤Σyy−1​(y−μy​)​

p(x,y)=p(x∣y)p(y)p(x∣y)=N(μx+ΣxyΣyy−1(y−μy),Σxx−ΣxyΣyy−1Σyx)p(y)=N(μy,Σyy)\begin{split} p(x,y) &= p(x|y)p(y) \\ p(x|y) &= \mathcal{N}(\mu_x+\Sigma_{xy}\Sigma^{-1}_{yy}(y-\mu_y),\Sigma_{xx}-\Sigma_{xy}\Sigma^{-1}_{yy}\Sigma_{yx})\\ p(y) &= \mathcal{N}(\mu_y,\Sigma_{yy}) \end{split} p(x,y)p(x∣y)p(y)​=p(x∣y)p(y)=N(μx​+Σxy​Σyy−1​(y−μy​),Σxx​−Σxy​Σyy−1​Σyx​)=N(μy​,Σyy​)​
高斯分布为指数形式, 指数的乘积为等于幂次项的相加

(⋅^)(\hat{\cdot})(⋅^)表示后验, (⋅ˇ)(\check{\cdot})(⋅ˇ)表示先验, 无上标表示真值

k-1时刻的高斯后验为:
p(xk−1∣xˇ0,v1:k−1,y0:k−1)=N(x^k−1,P^k−1)p(x_{k-1}|\check{x}_0,v_{1:k-1},y_{0:k-1})=\mathcal{N}(\hat{x}_{k-1},\hat{P}_{k-1}) p(xk−1​∣xˇ0​,v1:k−1​,y0:k−1​)=N(x^k−1​,P^k−1​)
考虑最近时刻的输入vkv_kvk​, 计算k时刻的高斯先验:
p(xk∣xˇ0,v1:k,y0:k−1)=N(xˇk,Pˇk)p(x_k|\check{x}_0,v_{1:k},y_{0:k-1})=\mathcal{N}(\check{x}_k,\check{P}_k) p(xk​∣xˇ0​,v1:k​,y0:k−1​)=N(xˇk​,Pˇk​)

其中
Pˇk=Ak−1P^k−1Ak−1⊤+Qkxˇk=Ak−1x^k−1+vk\begin{split} \check{P}_k&= A_{k-1}\hat{P}_{k-1}A^{\top}_{k-1}+Q_k\\ \check{x}_k&=A_{k-1}\hat{x}_{k-1}+v_k \end{split} Pˇk​xˇk​​=Ak−1​P^k−1​Ak−1⊤​+Qk​=Ak−1​x^k−1​+vk​​

xˇk=E[xk]=E[Ak−1xk−1+vk+wk]=Ak−1E[xk−1]+vk+E[wk]=Ak−1x^k−1+vk\begin{split} \check{x}_k = E[x_k]&=E[A_{k-1}x_{k-1}+v_k+w_k]\\ &= A_{k-1}E[x_{k-1}]+v_k+E[w_k]=A_{k-1}\hat{x}_{k-1}+v_k \end{split} xˇk​=E[xk​]​=E[Ak−1​xk−1​+vk​+wk​]=Ak−1​E[xk−1​]+vk​+E[wk​]=Ak−1​x^k−1​+vk​​

对于协方差有:
Pˇk=E[(xk−E[xk])(xk−E[xk])⊤]=E[(Ak−1xk−1+vk+wk−Ak−1x^k−1−vk)(Ak−1xk−1+vk+wk−Ak−1x^k−1−vk)⊤]=Ak−1E[(xk−1−x^k−1)(xk−1−x^k−1)⊤]Ak−1⊤+E[wkwk⊤]=Ak−1P^k−1Ak−1⊤+Qk\begin{split} \check{P}_k &= E[(x_k-E[x_k])(x_k-E[x_k])^{\top}]\\ &=E[(A_{k-1}x_{k-1}+v_k+w_k-A_{k-1}\hat{x}_{k-1}-v_k)(A_{k-1}x_{k-1}+v_k+w_k-A_{k-1}\hat{x}_{k-1}-v_k)^{\top}]\\ &=A_{k-1}E[(x_{k-1}-\hat{x}_{k-1})(x_{k-1}-\hat{x}_{k-1})^{\top}]A^{\top}_{k-1}+E[w_kw^{\top}_k]\\ &=A_{k-1}\hat{P}_{k-1}A^{\top}_{k-1}+Q_k \end{split} Pˇk​​=E[(xk​−E[xk​])(xk​−E[xk​])⊤]=E[(Ak−1​xk−1​+vk​+wk​−Ak−1​x^k−1​−vk​)(Ak−1​xk−1​+vk​+wk​−Ak−1​x^k−1​−vk​)⊤]=Ak−1​E[(xk−1​−x^k−1​)(xk−1​−x^k−1​)⊤]Ak−1⊤​+E[wk​wk⊤​]=Ak−1​P^k−1​Ak−1⊤​+Qk​​

对于更新部分(状态与最近一次测量(即k时刻)):
p(xk,yk∣xˇ0,v1:k,y0:k−1)=N([μxμy],[ΣxxΣxyΣyxΣyy])=N([xˇkCkxˇk],[PˇkPˇkCk⊤CkPˇkCkPˇkCk⊤+Rk])\begin{split} p(x_k,y_k|\check{x}_0, v_{1:k},y_{0:k-1})&=\mathcal{N}(\begin{bmatrix} \mu_x \\ \mu_y \end{bmatrix}, \begin{bmatrix} \Sigma_{xx} & \Sigma_{xy}\\ \Sigma_{yx} & \Sigma_{yy} \end{bmatrix})\\ &=\mathcal{N}(\begin{bmatrix} \check{x}_k\\ C_k\check{x}_k \end{bmatrix},\begin{bmatrix} \check{P}_k & \check{P}_kC^{\top}_k\\ C_k\check{P}_k & C_k\check{P}_kC^{\top}_k+R_k \end{bmatrix}) \end{split} p(xk​,yk​∣xˇ0​,v1:k​,y0:k−1​)​=N([μx​μy​​],[Σxx​Σyx​​Σxy​Σyy​​])=N([xˇk​Ck​xˇk​​],[Pˇk​Ck​Pˇk​​Pˇk​Ck⊤​Ck​Pˇk​Ck⊤​+Rk​​])​

结合高维高斯分布的性质
p(xk∣xˇk,v1:k,y0:k)=N(μx+ΣxyΣyy−1(yk−μy),Σxx−ΣxyΣyy−1Σyx)p(x_k|\check{x}_k,v_{1:k},y_{0:k})=\mathcal{N}(\mu_x+\Sigma_{xy}\Sigma^{-1}_{yy}(y_k-\mu_y),\Sigma_{xx}-\Sigma_{xy}\Sigma^{-1}_{yy}\Sigma_{yx}) p(xk​∣xˇk​,v1:k​,y0:k​)=N(μx​+Σxy​Σyy−1​(yk​−μy​),Σxx​−Σxy​Σyy−1​Σyx​)

x^k\hat{x}_kx^k​作为均值, P^k\hat{P}_kP^k​作为协方差:
Kk=PˇkCk⊤(CkPˇkCk⊤+Rk)−1P^k=(1−KkCk)Pˇkx^k=xˇk+Kk(yk−Ckxˇk)\begin{split} K_k &= \check{P}_kC^{\top}_k(C_k\check{P}_kC^{\top}_k+R_k)^{-1}\\ \hat{P}_k &= (1-K_kC_k)\check{P}_k\\ \hat{x}_k&=\check{x}_k+K_k(y_k-C_k\check{x}_k) \end{split} Kk​P^k​x^k​​=Pˇk​Ck⊤​(Ck​Pˇk​Ck⊤​+Rk​)−1=(1−Kk​Ck​)Pˇk​=xˇk​+Kk​(yk​−Ck​xˇk​)​

相关内容

热门资讯

【MySQL】锁 锁 文章目录锁全局锁表级锁表锁元数据锁(MDL)意向锁AUTO-INC锁...
【内网安全】 隧道搭建穿透上线... 文章目录内网穿透-Ngrok-入门-上线1、服务端配置:2、客户端连接服务端ÿ...
GCN的几种模型复现笔记 引言 本篇笔记紧接上文,主要是上一篇看写了快2w字,再去接入代码感觉有点...
数据分页展示逻辑 import java.util.Arrays;import java.util.List;impo...
Redis为什么选择单线程?R... 目录专栏导读一、Redis版本迭代二、Redis4.0之前为什么一直采用单线程?三、R...
【已解决】ERROR: Cou... 正确指令: pip install pyyaml
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
Lock 接口解读 前置知识点Synchronized synchronized 是 Java 中的关键字,...
Win7 专业版安装中文包、汉... 参考资料:http://www.metsky.com/archives/350.htm...
3 ROS1通讯编程提高(1) 3 ROS1通讯编程提高3.1 使用VS Code编译ROS13.1.1 VS Code的安装和配置...
大模型未来趋势 大模型是人工智能领域的重要发展趋势之一,未来有着广阔的应用前景和发展空间。以下是大模型未来的趋势和展...
python实战应用讲解-【n... 目录 如何在Python中计算残余的平方和 方法1:使用其Base公式 方法2:使用statsmod...
学习u-boot 需要了解的m... 一、常用函数 1. origin 函数 origin 函数的返回值就是变量来源。使用格式如下...
常用python爬虫库介绍与简... 通用 urllib -网络库(stdlib)。 requests -网络库。 grab – 网络库&...
药品批准文号查询|药融云-中国... 药品批文是国家食品药品监督管理局(NMPA)对药品的审评和批准的证明文件...
【2023-03-22】SRS... 【2023-03-22】SRS推流搭配FFmpeg实现目标检测 说明: 外侧测试使用SRS播放器测...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
初级算法-哈希表 主要记录算法和数据结构学习笔记,新的一年更上一层楼! 初级算法-哈希表...
进程间通信【Linux】 1. 进程间通信 1.1 什么是进程间通信 在 Linux 系统中,进程间通信...
【Docker】P3 Dock... Docker数据卷、宿主机与挂载数据卷的概念及作用挂载宿主机配置数据卷挂载操作示例一个容器挂载多个目...