安卓GPS数据获取和过滤,如何提高位置信息的准确性

5

我开始在Android 2.1(HTC Hero)上处理GPS数据,并查找有关Kalman滤波器和最小二乘拟合位置数据的主题。在使用手机接收和记录GPS数据时,我发现如果保持不动,则存在小幅离散度,但是移动时坐标相当准确。问题来了:getLatitude()和getLongitude()函数提供“原始”坐标还是数据已经被Android预过滤了(在位置固定或移动期间)?

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


你能在这个地址回答我的问题吗?非常感谢。 - soodabeh
1个回答

3
我在IT技术领域工作,使用卡尔曼滤波器。卡尔曼滤波器是一种基于系统模型来改善传感器集合质量的过滤器。如果您想要实现卡尔曼滤波器,您需要第二个传感器,例如速度传感器等。
您无法通过Android软件包本身上的传感器取得任何进展。现代GPS芯片已经进行了广泛的过滤,数据已经足够好了,除非添加硬件。加速度计和指南针尤其不足以计算出良好的速度数据,而且如果您只对它们进行3秒的采样,那就更不可能了。糟糕的卡尔曼滤波器实现是真正毁坏数据集的好方法。
很抱歉我这么说,但我的个人意见是,您浪费时间试图改善提供的GPS数据。
好消息是,您的原始GPS数据已经非常好!使用它并感到高兴。 :)

嗨jcwenger,感谢您的回复和提供意见,但让我调整一下问题:1.我每3秒获取一次GPS,但将其移动到1秒间隔是可以的。加速度计和指南针数据读取几乎没有延迟。2.安卓手机中指南针数据不太可靠的原因是什么?3.您能否提供一些关于在移动电话中过滤GPS芯片数据的材料(如果是HTC /其他安卓手机使用的芯片,那就太棒了)? - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接