5

我有一个简单的问题。我正在跟踪一个对象并以非均匀的时间间隔获取它的位置。物体的速度和加速度不是恒定的。

data_=[time x,y,z]

要设计卡尔曼滤波器,我需要定义

z=[x;y;z] % observation

% Estimation vector
xt=[xt;yt;zt;x't;y't;z't]  % ' first derivative



P=Covariance matrix of estimation vector 
R=Covariance matrix of measurement 
Q= covariance of noise

问题1:这两个R&P有什么区别如果测量精度为1mm,P是多少?问题2:在后期处理中使用这种卡尔曼滤波器有什么好处。如果是的话,它可以得到平滑的轨迹,为什么我们需要它。

希望我能从你们那里得到足够的信息。

4

2 回答 2

4

问题 1

R 是测量的协方差矩阵。它与您的模型和您的估计无关。

P 是您的估计中的误差的协方差矩阵。它与您的模型和您估计状态的方式完全相关。P 与您的测量精度无关。您必须使用更新方程在每次迭代中计算它。

问题 4

Kalman 的目标是过滤您想要跟踪的状态的噪声测量,因此您可以获得更类似于没有噪声的真实状态的结果(噪声是测量中的不确定性)。

于 2012-06-05T07:10:38.133 回答
2

卡尔曼滤波器可以首先用图形模型来描述,它显示了依赖关系、独立性、隐藏了什么和观察到什么、事物如何演变;也可以通过概率公式,然后通过表示噪声、线性模型等的矩阵显式编写这些概率。理解概率是在将它们编写为矩阵模型之前不可避免的第一步(一个典型的错误是在不理解的情况下跳到矩阵和线性代数基本的概率框架)。

下面的 W 表示世界状态变量(隐藏),X 表示测量值;下标 t 是一个时间步长。

问题 1:您有两个卡尔曼滤波器基于的模型
数据模型P(Xt|Wt) = 给定世界隐藏状态的测量概率;这只是数据中的噪声模型(由 R 表示),它还线性变换 W 以获得 X(使用其他矩阵);请注意,它仅取决于当前步骤 Wt,即不涉及历史记录。
湾。时间转换模型P(Wt|Wt-1),显示您的系统如何演变(例如移动、加速);就像之前的模型一样,它也有一些由 P 表示的不确定性(不是噪声,而是类似的),还有一些线性转换矩阵(用于及时转换状态);
C。问?在您的问题中,“噪声协方差”是一个奇怪的术语,因为它没有说明这种噪声来自何处。通常在描述中 Q 是您所指的 P,因此您可能只是将 P 误认为 Q,反之亦然。

问题 2:卡尔曼滤波器的目标是在给定时间 t 的测量值以及测量历史的情况下,给出时间 t 的隐藏世界状态的统计最优估计。由于历史是一次合并一个步骤(马尔可夫属性),因此您的“测量合并”步骤将当前测量与其估计相结合,因此产生的不确定性小于这些信息中的每一个。

用外行的话来说,卡尔曼滤波器对您的数据和数据预测进行加权平均,其中权重是可靠性(与方差成反比)。在统计术语中,卡尔曼滤波器是一个马尔科夫模型,它假设仅依赖于前一步,并使用 t-1 时的状态后验概率来评估时间 t 的先验(预测步骤),然后将此先验与贝叶斯中的数据概率相结合框架(测量合并步骤)。像这样阅读下面的公式:

     prediction: current state guess  = transition_model * prev. state guess

P(Wt | Xt1..t-1) = 积分[ P(Wt|Wt-1) * P(Wt-1 | X1..t-1) dWt-1]

          measurement: best estimate = data_noise_model * current state guess

P(Wt | Xt1..t) = P(Xt | Wt) P(Wt | Xt1..t-1) /P(Xt1..t)

请注意 LHS 的微小差异(顶部公式具有 t-1,底部公式具有 t 强调考虑了电流测量)。注意左侧的相似性,这是卡尔曼滤波器更新的关键:先前的后验变为先验。你学到了一些东西,然后用它作为你的假设来学习/估计更多。

于 2014-03-13T20:16:04.737 回答