【笔记】自适应卡尔曼滤波 Adaptive Extended Kalman Filter

0 阅读文章

《Adaptive Adjustment of Noise Covariance in Kalman Filter for Dynamic State Estimation》

1 主要内容

一般情况下,kalman中的Q、R都是根据经验、实验或数据手册得到的,但是有些参数是无法获得的,尤其是过程噪声,就需要通过不断试凑确定参数,显然是不靠谱的。
这个文章提供一种自适应调整Q、R的方法,不需要精确的初值,就可以获得较高的滤波精度。

2 思路

2.1 状态方程

image.png

2.2 预测

image.png

2.3 校正

image.png

2.4 Q、R的估计

1)R 的估计
image.png
为了使R平滑变化,使用低通滤波。
image.png

[16] Online Stochastic Modelling for Network-Based GPS Real-Time Kinematic Positioning

2)Q的估计
image.png
image.png

2.5 算法流程图

下图中,划红线地方是相对于常规的EKF增加的部分,也就是测量协方差和过程协方差的更新。
image.png

3 仿真实验验证

MSE:mean squared error,计算估计值误差的均方差,用于评定滤波器效果好坏的指标。
下面给出了2个表,第一个是常规的EKF( CEKF),第二个是本文中提到的自适应AEKF。
image.png
这个表怎么看呢。Qtrue和Rtrue 分别是Q、R的真值,仿真中把Q、R进行不同比例的缩放,验证不同组合条件下滤波器的精度。

从第1个表,可以得出:

  • 只要Q、R的比值和Qtrue、Rtrue相等,就能获得最优的性能,并不需要保证Q、R和真实值接近。

比如,对角线上的值都是相同的。
比如0.1Rtrue、Qtrue和0.01Rtrue、0.1Qtrue的MSE相同,都是0.083。
比如10Rtrue、10Qtrue和Rtrue、Qtrue的MSE相同,都是0.051。

从第2个表,可以看出:

  • 不管Q、R的初值是多少,最终的MSE都能取得比较好的效果。
  • 相对于CEKF,即使用Q、R的真值,MSE也略大于CEKF中的MSE,这是正常的,因为R、Q会存在波动,并能保证在所有时间都保持和Rtrue、Qtrue比值保持一致。
根据提供的引用内容,以下是一个自适应卡尔曼滤波的代码示例: ```python # 初始化参数 n_x = size(X,1) R_x = 2.5e-5 P_x = diag(1e-10) Q_x = \[1.0000e-10 0 0; 0 1.0000e-10 0; 0 0 1.0000e-10\] # 初始化输出向量 SOC_Estimated = \[\] Vt_Estimated = \[\] Vt_Error = \[\] # 根据当前向量的大小设置for循环的长度 ik = length(Current) # 卡尔曼滤波算法 for i in range(ik): # 预测步骤 X_predicted = F*X P_predicted = F*P*F' + Q # 校正步骤 K = P_predicted*H'/(H*P_predicted*H' + R) X_corrected = X_predicted + K*(Z - H*X_predicted) P_corrected = (eye(n_x) - K*H)*P_predicted # 更新参数 X = X_corrected P = P_corrected # 存储估计值 SOC_Estimated.append(X\[1\]) Vt_Estimated.append(X\[2\]) Vt_Error.append(Z - H*X_predicted) ``` 请注意,这只是一个示例代码,具体的实现可能会根据具体的应用场景和需求而有所不同。在实际使用时,您可能需要根据您的数据和系统模型进行适当的调整和优化。 #### 引用[.reference_title] - *1* *2* [基于自适应扩展卡尔曼滤波器(AEKF)的锂离子电池SOC估计(附MATLAB代码)](https://blog.youkuaiyun.com/m0_60354177/article/details/127890424)[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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【笔记自适应卡尔曼滤波 Adaptive Extended Kalman Filter](https://blog.youkuaiyun.com/zhoupian/article/details/125749340)[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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值