无迹卡尔曼UKF详细公式推导

设X为被估计随机向量,对X的量测为随机向量Z,X基于Z的线性最小方差估计为:

其中:

估计的均方误差阵为:

当上述X和Z都服从正态分布时,所得到的估计就是最小方差估计

设系统方程和量测方程具有离散形式

                    1- 1

                     1- 2

式中,f和h为非线性向量函数,为不想过的零均值白噪声序列,方差阵为,u(k-1)为确定性控制项。则基于的线性最小方差估计为:

        1- 3

其中,指的是给定条件变量Z0k下随机变量X的条件期望。

根据线性最小方差估计的线性性质,可得:

,可得:

由于互不相关,则:

由上式推导可得:

           1- 4

,根据最小方差估计公式可得:

1- 5

上式中,均值可近似取为条件均值,

                                  1- 6

                                    1- 7

将1- 6式子带入1- 4可得:

                                            1- 8

同理,用条件均值近似均值,即,可估计的均方误差阵:

                                    1- 9

考虑到为对称阵,,根据上述式子可推:

                    1- 10

上述(1-6), (1-8),(1-10)构成了整个无迹卡尔曼滤波的核心,要进一步确定出增益阵Kk,并使算法具有递推性,还需用UT变换确定出及一步预测值

计算卡尔曼增益

系统状态更新

协方差更新

完整版已经在主页更新

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
无迹卡尔曼滤波(Unscented Kalman Filter, UKF)是一种非线性滤波算法,它通过一种称为“无迹变换”的方法,将非线性函数的高斯分布转换为高斯分布,从而实现对非线性系统的滤波。下面是无迹卡尔曼滤波的公式推导过程: 1. 状态方程和观测方程 假设我们有一个非线性系统,其状态方程和观测方程分别为: $$x_k=f(x_{k-1},u_{k-1})+\omega_{k-1}$$ $$z_k=h(x_k)+\nu_k$$ 其中,$x_k$是系统在时刻$k$的状态,$u_{k-1}$是在时刻$k-1$的控制输入,$z_k$是在时刻$k$的观测值,$\omega_{k-1}$和$\nu_k$分别是过程噪声和观测噪声。 2. 无迹变换 无迹变换是一种将高斯分布映射到高斯分布的方法,它通过一组称为“sigma点”的采样点来逼近高斯分布。具体来说,对于一个$n$维高斯分布,我们可以通过以下公式计算出$2n+1$个sigma点: $$X^{}=\mu$$ $$X^{[i]}=\mu+\sqrt{(n+\lambda)P}e_i$$ $$X^{[i+n]}=\mu-\sqrt{(n+\lambda)P}e_i$$ 其中,$\mu$是高斯分布的均值,$P$是高斯分布的协方差矩阵,$\lambda$是一个可调参数,$e_i$是一个$n$维向量,其第$i$个元素为1,其余元素为0。 3. 预测步骤 在无迹卡尔曼滤波中,预测步骤和传统的卡尔曼滤波类似,只是在状态转移函数和协方差矩阵的计算中使用了sigma点。具体来说,预测步骤包括以下几个步骤: (1)计算sigma点 根据上面的公式,计算出$2n+1$个sigma点。 (2)通过状态转移函数计算预测状态 将每个sigma点通过状态转移函数$f$进行变换,得到预测状态: $$\hat{x}_k^{[i]}=f(X_k^{[i]},u_{k-1})$$ (3)计算预测均值和协方差矩阵 根据预测状态计算预测均值和协方差矩阵: $$\hat{\mu}_k=\sum_{i=0}^{2n}w_i^{[m]}\hat{x}_k^{[i]}$$ $$\hat{P}_k=\sum_{i=0}^{2n}w_i^{[c]}(\hat{x}_k^{[i]}-\hat{\mu}_k)(\hat{x}_k^{[i]}-\hat{\mu}_k)^T+Q_k$$ 其中,$w_i^{[m]}$和$w_i^{[c]}$是权重系数,$Q_k$是过程噪声的协方差矩阵。 4. 更新步骤 在无迹卡尔曼滤波中,更新步骤和传统的卡尔曼滤波类似,只是在观测函数和协方差矩阵的计算中使用了sigma点。具体来说,更新步骤包括以下几个步骤: (1)计算sigma点 根据上面的公式,计算出$2n+1$个sigma点。 (2)通过观测函数计算预测观测值 将每个sigma点通过观测函数$h$进行变换,得到预测观测值: $$\hat{z}_k^{[i]}=h(\hat{x}_k^{[i]})$$ (3)计算预测观测均值和协方差矩阵 根据预测观测值计算预测观测均值和协方差矩阵: $$\hat{z}_k=\sum_{i=0}^{2n}w_i^{[m]}\hat{z}_k^{[i]}$$ $$S_k=\sum_{i=0}^{2n}w_i^{[c]}(\hat{z}_k^{[i]}-\hat{z}_k)(\hat{z}_k^{[i]}-\hat{z}_k)^T+R_k$$ 其中,$R_k$是观测噪声的协方差矩阵。 (4)计算卡尔曼增益 根据预测状态和预测观测值计算卡尔曼增益: $$T_k=\sum_{i=0}^{2n}w_i^{[c]}(\hat{x}_k^{[i]}-\hat{\mu}_k)(\hat{z}_k^{[i]}-\hat{z}_k)^T$$ $$K_k=T_kS_k^{-1}$$ (5)更新状态和协方差矩阵 根据卡尔曼增益和观测值更新状态和协方差矩阵: $$x_k=\hat{x}_k+K_k(z_k-\hat{z}_k)$$ $$P_k=\hat{P}_k-K_kS_kK_k^T$$ 5. 相关问题:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值