我实施了一个EKF。该算法运行良好但我需要一个标准来检测过滤器在初始化后收敛的时间。最好/最常用的方法是什么?我有两个想法:
1。)当创新达到预先设定的限度时。 2.)当估计的方差达到预定的极限时。
有什么建议吗?
答案 0 :(得分:2)
处理卡尔曼滤波器(尤其是EKF)时最常见的误差是认为P矩阵的收敛等于估计的实际收敛。
您需要了解规范化的创新。
创新是预期(预测测量)与实际测量之间的差异:
Innov = y - h(x_predicted)
标准化创新是创新的马哈拉诺比斯距离,一旦P矩阵很小,就与收敛相关:
d^2 = Innov.transpose * Cov(Innov).inverse * Innov
Cov(Innov) = Cov(y - h(x_predicted)) = R + H * P_predicted * H.Transpose
答案 1 :(得分:0)
我通常会查看估计方差的导数。如果它不再改变,则过滤器已收敛。 这通常很有效。