卡尔曼滤波总结(KF、EKF、UKF)

1、 马尔科夫

参考:https://zhuanlan.zhihu.com/p/489239366

2、协方差矩阵
1)对于一个样本集合S,如果每个样本是一个n维空间中的一个列向量,则使用协方差矩阵 描述样本之间的变化程度,协方差矩阵的定义式:随机变量x与y的协方差 记为:cov(x,y)
在这里插入图片描述

2)协方差

	a.协方差矩阵能处理多维问题;
	b.协方差矩阵是一个对称的矩阵,而且对角线是各个维度上的方差。
	c.协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。
	d.样本矩阵中若每行是一个样本,则每列为一个维度,所以计算协方差时要按列计算均值。

3)协方差几何意义
参考:https://zhuanlan.zhihu.com/p/37609917

3 KF

参考:
https://blog.csdn.net/heyijia0327/article/details/17487467
https://blog.csdn.net/weixin_53187505/article/details/123562489
在这里插入图片描述
在这里插入图片描述

4 EKF:

1)雅克比矩阵
https://blog.csdn.net/su_fei_ma_su/article/details/125457422

2)将非线性环节线性化,对高阶项采用忽略或逼近措施:扩展卡尔曼滤波( EKF ) ,卡尔曼滤波的前提是它认为系统都是线性的,如果状态转移函数是线性的,那么在经历线性变换之后,分布保持其高斯特性;如果状态转移函数是非线性的,那么在经历线性变换之后,那么得到的状态分布可能不是高斯分布。因此,卡尔曼滤波算法可能会不收敛。在这种情况下,可以使用扩展卡尔曼滤波算法(EKF),它把非线性函数在当前估算状态的平均值附近进行线性化,每一个时间步执行线性化,然后将得到的雅克比矩阵用于预测和更新卡尔曼滤波算法。当系统是非线性,并且可以通过线性化很好的近似时,那么扩展卡尔曼滤波算法是状态估算的一个很好的选择。
简单的说,由于系统通常是非线性的,于是我用近似线性化的方法,对所求时刻的函数进行一阶泰勒展开得到一个近似的线性化方程,在此基础上运用卡尔曼滤波算法求解。
在这里插入图片描述
关于扩展卡尔曼滤波可以参考下面的几个链接:

https://zhuanlan.zhihu.com/p/67138271
https://www.cnblogs.com/alexgl2008/articles/12866501.html
https://www.jianshu.com/p/f0650a18430e

缺点:

	1、由于复杂的导数,可能难以解析计算雅克比矩阵;
	2、而以数值方式计算它们可能需要很高的计算成本;
	3、扩展卡尔曼滤波算法不适用于具有不连续模型的系统,因为系统不可微分时雅克比矩阵不存在
	4、高度非线性系统的线性化效果不好。

5 UKF
参考:https://blog.csdn.net/qq_37207042/article/details/104062778

6 KF、EKF、UKF对比
参考:https://blog.csdn.net/zhaoliang38/article/details/127509755
在这里插入图片描述

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法提供具体的代码,但是可以告诉你如何实现卡尔曼滤波SOC估计的EKF算法。首先,你需要了解卡尔曼滤波和扩展卡尔曼滤波的基本原理。然后,你可以使用Matlab或其他编程语言实现该算法。 下面是一般步骤来实现卡尔曼滤波SOC估计的EKF算法: 1. 定义系统模型:将电池的SOC建模为一个状态变量,并根据电池的特性和传感器的测量信息定义状态转移方程和测量方程。 2. 初始化卡尔曼滤波器:初始化状态估计向量和协方差矩阵。 3. 预测步骤:使用状态转移方程预测下一个时刻的状态估计值和协方差矩阵。 4. 更新步骤:使用测量方程将实际测量值与预测值进行比较,计算卡尔曼增益和更新后的状态估计值和协方差矩阵。 5. 重复进行预测和更新步骤,直至达到所需的估计精度或满足停止条件。 请注意,具体的代码实现可能会因应用领域和编程语言的不同而有所差异。建议你参考相关的文献和资源,以及使用适合的编程环境来实现卡尔曼滤波SOC估计的EKF算法。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [扩展卡尔曼滤波soc估算 基于EKF算法的锂电池SOC 卡尔曼滤波估计电池soc ,simulink模型,对电池SOC参数进行...](https://download.csdn.net/download/2301_78338718/87816203)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [卡尔曼滤波_ekf_soc_matlab源码](https://download.csdn.net/download/m0_53407570/83097472)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值