近似和插值GPS轨迹

时间:2012-08-07 12:53:37

标签: gps interpolation approximation kalman-filter

我有一系列gps值,每个值包含:timestamp, latitude, longitude, n_sats, gps_speed, gps_direction, ...NMEA data的某个子集)。我不确定方向和速度值的质量。此外,我不能指望序列均匀间隔w.r.t.时间戳。我希望在均匀的时间步骤中获得平滑的轨迹。

我读过卡尔曼滤波器是这类任务的首选工具。确实如此吗?

我发现了一些用于Python的卡尔曼滤波器的实现:

然而,这些似乎假设有规律间隔的数据,即迭代。 如何整合不规则间隔观测的支持?

我能想象的一件事是重复/调整预测步骤到基于时间的模型。你能为这个应用推荐这样的模型吗?是否需要考虑NMEA的速度值?

2 个答案:

答案 0 :(得分:1)

您还可以尝试使用运动学插值来查看结果是否符合您的预期。

以下是其中一种算法的Python实现:https://gist.github.com/talespaiva/128980e3608f9bc5083b

答案 1 :(得分:0)

为了了解卡尔曼过滤器的可理解资源,我强烈推荐这个:https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python

关于不规则间隔观测的特定问题:请参阅上文参考文献中的第8章,以及标题"非平稳过程"。总而言之,您需要使用不同的状态转换函数并处理每次迭代的噪声协方差。这些是您在每次迭代时需要更改的唯一内容,因为它们是唯一依赖delta t的组件。