GNSS过滤选项

视图方程1 - 4
查看方程5-13

问:最小二乘滤波和卡尔曼滤波有什么区别?

视图方程1 - 4
查看方程5-13

问:最小二乘滤波和卡尔曼滤波有什么区别?

答:大多数情况下,如果不是全部,GNSS接收器使用Kalman滤波(更常见)或最小二乘(不太常见)估计算法(“估计器”)计算其位置。卡尔曼滤波还在各种集成导航系统中找到应用(例如,与惯性导航系统集成的GNSS)。然而,这些估计器中的每一个的作用并不总是很好地理解,特别是对于导航和/或估计场的人们来说。

为了完全解释他们的差异是简单而复杂的,具体取决于所采取的方法。在这里,我们考虑更简单的选择,因为空间有限,因为更简单的解释可以说是更实用的洞察力。当然,简单的答案不是在数学上严谨的,鼓励那些对这种严谨感兴趣的人刷新了这些主题上可用的Myriad教科书中提供的细节。

所以,考虑到这一点,最小二乘和卡尔曼之间的差异是非常小的。考虑到不同算法的推导过程,这并不直观;最小二乘是基于最小化测量残差(即,实际测量值和预测测量值之间的差异),而卡尔曼滤波器是基于最小化解的均方误差而导出的。不过,这一点将在以后的讨论中得到证实。

数学的概述
最小二乘和卡尔曼滤波采用以下测量模型:

方程(1)
方程(2)
等式(3)
等式(4)

P0协方差矩阵是否反映了不确定性先验状态信息。当然,(4)式退化为(3)式,其中的不确定性先验状态信息增加(即,作为p0倾向于无限)。最后,给出了估计参数P的协方差矩阵

方程(5)

集体,等式(4)和(5)代表最小二乘溶液。注意,通常,迭代非线性最小二乘解,直到校正足够小。但是,如果状态向量的初始估计足够准确,则这不是必需的。

与最小二乘相比,卡尔曼滤波总是假设一些先验州的知识,通常从某些过去的估计中获得(稍后更多)。考虑到这一点,通常写入更新方程式

等式(6)

如果下标k代表k-th时代,则下标k -1是基于epochk-1的测量值(即,先验信息),K为卡尔曼增益矩阵,有效地将观测中的信息加权到先验对州的知识。正是这种权重“过滤”了测量结果,从而产生了更好的解决方案。

纳入测量后状态矢量的协方差矩阵由

方程(7)

下标k | k基于高达epoch k的测量表示K-TH epoch的估计。

从表面上看,前两个方程与最小二乘方程没有明显的相似之处。然而,我们可以证明卡尔曼滤波方程可以重写为

方程(8)
方程(9)

这些更新方程方程的精确的相似之处(4)和(5)只有改变符号的下标p .换句话说,给定一组的测量,最小二乘和卡尔曼滤波将信息从测量以同样的方式,将产生完全相同的答案。

那么为什么要使用卡尔曼滤波器呢?
如前所述,最小二乘和卡尔曼滤波之间的关键差异与如何处理测量结果无关。相反,它与两种估算者如何获得他们的方式先验信息。而最小二乘通常从外部均值(例如,通过占据一个已知点)获得这一信息,卡尔曼滤波预测先验使用状态向量的最新估计的信息。

这个预测的状态向量是基于假定状态向量如何随时间变化/发展的模型;这通常称为系统模型。这表示为

方程(10)

在Φk,k + 1是将状态以EPoCK k传播到epoch k + 1的转换矩阵。过渡矩阵通常基于系统的物理(例如,速度乘以时间的速度给出了位置的变化)。虽然这里没有讨论,但是等式(10)中的离散时间公式通常 - 虽然并不总是(请参阅本专栏2010年9月号由Lo Presti.等特别例如,源自连续时间状态空间模型。

给出了预测状态的协方差矩阵

等式(11)

其中Q是过程噪声矩阵最终占用于导出过渡矩阵的假设中的不确定性/错误。

为了说明,让我们考虑试图定位火车的一维例。我们将我们的国家定义为列车的位置,p和速度,v的火车,即

方程(12)

由于火车又大又重,它们不会很快加速或减速;所以,我们可以假设火车以近似恒定的速度运动。转移矩阵可以写成

等式(13)

式中Δt为k到k+1之间的时间。将这一项代入方程(11)右边的第一项将状态的不确定性在时间上向前传播。这是必要的,因为如果这些状态在过去的某个时候不完全知道,那么对这些状态的预测将引入更大的不确定性。

为了确定Q,我们需要重新审视我们的假设,即火车以恒定的速度移动。虽然这可能是短时间内的合理近似,但是它并不总是如此(即,火车最终会停止)。这意味着,除了从先前时代的错误传播之外,我们还需要添加一些不确定性来描述我们的假设并不完美的事实。

就目前的情况而言,不确定性可能很小,因为火车的动量非常大。然而,如果我们定位的是赛车而不是火车,那么Q的值就必须更大,以适应赛车可以更快地改变速度的事实。

虽然本文的目标不是提供了如何选择Q的详细描述(这通常涵盖了教科书的几章,但甚至需要实际体验以完全升值),关键点是选择Q直接影响性能过滤器。在极端,如果Q为零,则滤波器基本上平均随时间的信息,即滤波器变为累积平均算法。

相反,如果选择q为无限p-1k | k - 1式(8)和(9)中卡尔曼滤波退化为式(3)中的最小二乘解。

因此,相对于最小二乘而言,卡尔曼滤波器的真正好处在于,它基于状态(如位置、速度等)随时间变化的假设知识,为系统提供额外的信息。如果关于状态演化的假设是正确的,并且/或者如果可以通过某种形式的自适应来适应对假设行为的偏差,卡尔曼滤波器通常会提供更平滑和更准确的时间解决方案。

相对于最小二乘,卡尔曼滤波器还实现了其他两个好处。首先,如果不确定性在先验估计不是无限的,我们可以用比有状态更少的测量来更新状态向量。

例如,对于GNSS定位,我们可以使用一到两颗卫星的伪距来更新卡尔曼滤波器,而在这种情况下,由于测量数据不足,最小二乘更新是不可能的(假设没有)先验信息可用,除非在静态定位等特定情况下,可能最小的方块。

其次,我们可以用最小二乘估计卡尔曼滤波器中可能不完全可见的参数。一个很好的例子是使用GNSS伪距在卡尔曼滤波中估计位置和速度的能力,而最小二乘只能使用相同的数据估计位置。直观地说,这在卡尔曼滤波器中是可能的,因为连续的位置估计可以用来推断速度。

没有银子的子弹
尽管卡尔曼滤波有潜在的好处,但在盲目地将算法应用于所有场景之前,我们需要保持谨慎。原因是,如果状态的假设行为是不正确的,过滤器仍然会尝试使结果符合假设行为——毕竟,这是我们指示它要做的!这种“自我实现的预言”行为可以掩盖某些影响(包括好的和坏的),并可能降低性能。

一个很好的例子是在城市峡谷中,如果接收器只能跟踪两颗卫星,卡尔曼滤波器通常会预测前进的运动。然而,如果接收机转弯,滤波器可能需要几秒钟(或更长)的时间来识别这种情况,从而导致在拐弯处的弹道“过射”。

通过扩展,计算每个时代的最小二乘估计——尽管更嘈杂、更不准确——确实有好处,可以洞察“原始”数据的质量,也就是说,在没有任何过滤的情况下。通常,这些信息可以用来更好地确定合适的卡尔曼滤波器的参数。

总结
在本文中,我们展示了最小二乘和卡尔曼滤波估计器如何以同样的方式处理测量,它们之间的主要区别是卡尔曼滤波提供了状态如何随时间变化的信息。这些额外的信息,如果正确的话,将确实提高估计的准确性。

然而,逐历最小二乘解在评估数据的原始质量方面仍有重要作用,这通常是使用卡尔曼滤波器无法实现的。根据应用程序的不同,其中一种或两种方法可能被证明是有用的,甚至是互补的。