5

我开始在 Android 2.1 (HTC Hero) 上处理 gps 数据,并查看有关卡尔曼滤波器和适合位置数据的最小二乘法的主题。在使用手机接收和记录 GPS 数据时,我发现如果保持在原位,则分散很小,但移动时坐标非常准确。问题来了: - getLatitude() 和 getLongitude() 函数是否提供“原始”坐标,或者数据是由 android 预先过滤的(当位置固定或在移动期间)?

我很好奇是否有人在 android 上测试了 Kalman,并且可以说你对 gps 有一定的改进。在我的情况下,我每 3 秒读取一次 GPS 数据(通过移动网络将其与指南针数据和加速度计一起发送到服务器)。因此,我可以在设备或服务器上进行过滤。如果在设备上读取可以更频繁地完成,但在服务器上我可以使用额外的计算能力。

4

1 回答 1

3

我在我的领域使用卡尔曼滤波器。卡尔曼滤波器是一种基于系统模型提高传感器集合质量的滤波器。如果您尝试实现卡尔曼滤波器,则需要第二个传感器,如速度传感器等。

你不会在 Android 包本身的传感器上取得任何进展。现代 GPS 芯片已经进行了广泛的过滤,并且数据与您在不添加硬件的情况下获得的数据一样好。加速度计和指南针尤其根本不足以计算出良好的速度数据,如果您仅在 3 秒时对它们进行采样,则绝对不是。一个糟糕的卡尔曼滤波器实现是真正搞砸数据集的好方法。

很抱歉让你失望了,但我个人的看法是,你在浪费时间试图改进所提供的 GPS 数据。

从好的方面来说,您的原始 GPS 数据已经非常好!使用它并快乐。:)

于 2011-03-16T12:13:47.497 回答