定义卡尔曼滤波器及其应用(概念)

时间:2012-06-04 19:43:33

标签: kalman-filter

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

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& S的区别是什么? P     如果测量精度为1mm,P将是什么? 问题2:在后期处理中使用此卡尔曼滤波器有什么好处。它是为了得到平滑的轨迹,如果是,为什么我们需要它。

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

2 个答案:

答案 0 :(得分:4)

问题1

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

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

问题4

卡尔曼的目标是过滤您想要跟踪的状态的噪声测量结果,这样您就可以得到更接近真实状态的结果而没有噪声(噪声是测量中的不确定性)。

答案 1 :(得分:2)

卡尔曼滤波器首先由graphical model描述,它显示了依赖关系,独立性,隐藏的内容和观察到的内容,事物的演变过程;也可以通过probability formulas,然后通过表示噪声,线性模型等的矩阵明确地写出这些概率。在将它们写成矩阵模型之前,理解概率是一个第一个不可避免的步骤(一个典型的错误正在跳跃到矩阵和线性代数而不了解潜在的概率框架)。

低于W表示世界状态变量(隐藏),X表示测量值;较低的指数t是一个时间步。

问题1: 您有两种卡尔曼滤波器基于的模型:
一个。 数据模型 P(Xt | Wt)=给定世界隐藏状态的测量概率;这只是数据中噪声的模型(由R表示),它也线性地转换W得到X(使用其他矩阵);注意,它仅取决于当前步骤Wt,即不涉及历史 湾时间转换模型 P(Wt | Wt-1),显示您的系统如何演变(例如移动,加速);就像之前的模型一样,它也有一些由P表示的不确定性(不是噪声但是相似),还有一些线性转移矩阵(用于及时转换状态);
C。 Q?'噪音的协方差'在你的问题中是一个奇怪的术语,因为它没有说出这个噪音来自何处。通常在描述中,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,底部公式强调要考虑电流测量)。 注意左侧的相似性,这是卡尔曼滤波器更新的关键:先前后验成为先验。你学到了一些东西,然后用它作为学习/估计更多的假设。