我开始处理 Android 2.1 (HTC Hero) 上的 GPS 数据,并查看有关卡尔曼滤波器和适合位置数据的最小二乘法的主题。在使用手机接收和记录 GPS 数据时,我发现如果保持在原位置,偏差很小,但移动时坐标非常准确。问题来了: - getLatitude() 和 getLongitude() 函数是否提供“原始”坐标,或者数据是由 android 预先过滤的(当位置固定或在移动期间)?
我很好奇是否有人在 Android 上测试过卡尔曼,并且可以说您对 GPS 进行了某些改进。就我而言,我每 3 秒读取一次 GPS 数据(通过移动网络将其与指南针数据和加速度计一起发送到服务器)。因此,我可以在设备上或服务器上进行过滤。如果在设备上执行此操作,则可以更频繁地执行读取操作,但在服务器上我可以使用额外的计算能力。
我在我的领域使用卡尔曼滤波器。卡尔曼滤波器是一种可以提高信号质量的滤波器收藏基于系统模型的传感器。如果您尝试实现卡尔曼滤波器,那么您需要第二个传感器,例如速度传感器等。
您不会在 Android 软件包本身的传感器方面取得任何进展。现代 GPS 芯片已经进行了广泛的过滤,并且数据几乎与您在不添加硬件的情况下获得的数据一样好。尤其是加速度计和指南针根本不足以计算出良好的速度数据,如果您仅在 3 秒内对它们进行采样,则绝对不行。糟糕的卡尔曼滤波器实现是一个很好的方法really搞砸一个数据集。
很抱歉让您失望,但我个人的观点是,您在尝试改进所提供的 GPS 数据是在浪费时间。
从好的方面来说,您的原始 GPS 数据已经非常好!使用它并快乐。 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)