我实现了一个EKF。该算法运行良好,但我需要一个标准来检测初始化后滤波器何时收敛。最好/最常见的方法是什么。我有两个想法:
1.) 当创新达到预定限度时。2.) 当估计的方差达到预先定义的限制时。
有什么建议么 ?
我实现了一个EKF。该算法运行良好,但我需要一个标准来检测初始化后滤波器何时收敛。最好/最常见的方法是什么。我有两个想法:
1.) 当创新达到预定限度时。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
我通常看估计方差的导数。如果它不再变化,则过滤器已经收敛。这通常工作得很好。