我最近一直在研究卡尔曼滤波器。肯定涉及很多术语,需要对其进行彻底的理解才能实现并优化它。在决定过程误差协方差,过程噪声协方差和测量噪声协方差时,我没有清楚的理解。 误差协方差仍然可以使用,因为它们基本上定义了实际状态和假设/估计状态的不确定性以及状态向量分量的不确定性之间的相关性。这些协方差在每次连续迭代时都会被触发,并逐渐合并到一个最小值,因为与实际状态相比,估计变得更准确。
对于过程噪声和测量噪声协方差矩阵,我开始假设值为3 x 3单位矩阵为Q(HIT AND TRIAL)。结果看起来不那么有希望所以我试着插入这个矩阵:
Q = [(T^5)/20, (T^4)/8, (T^3)/6;
(T^4)/8, (T^3)/3, (T^2)/2;
(T^3)/6, (T^2)/2, T];
(在某些论文中找到了这个矩阵,T是采样时间)
这似乎工作得很好,并提供了良好的结果。它有效,但其背后的推理对我来说并不清楚。还尝试了各种其他矩阵,如:
Q = 0.0001*diag([0.1 0.1 0.1]);
即使这似乎也能带来好成绩。我在网上的几个地方读到,为Q选择一个过大的值会导致一个行为不当的过滤器。
请帮助我选择'Q'矩阵。是否有相同的指导原则。
来到测量噪声协方差矩阵R,在网上读取一位,我决定选择计算的噪声协方差作为测量噪声协方差。这又导致了不准确的结果。所以,我不得不屈服于命中和试验方法,最后选择R作为[1] 这个现在工作正常,坚果再次我不满意这种选择值的试错法。
如果有人可以帮我澄清,那就太好了。
由于
答案 0 :(得分:0)
如果您仍然对这个问题感兴趣,可以回答这个问题。 虽然您使用卡尔曼滤波器跟踪的真实物体动力学对应于滤波器的动态(用矩阵A编写),但您根本不需要协方差矩阵Q.在这种情况下,过滤器的增益系数会逐步减小。这是正确的,因为过滤器逐步更好地了解您的对象,最后根本不需要测量。 但!如果物体动力学与矩阵A不同,则由于相同的原因,滤波器滞后误差会逐步增加。 Matrix Q解决了这个问题。 Q表示实物动力学与矩阵A之间的预期差异。 例如,矩阵A等于
用于二维状态。如果您跟踪的对象加速,则预期差异等于
因此,额外的预测误差等于
那是矩阵Q.我希望它可以帮助你。