GPS 辅助定位

Posted 虫师魁拔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GPS 辅助定位相关的知识,希望对你有一定的参考价值。

关于GPS辅助定位的种类比较多,受限于认知,这里记录 android 移动设备主要的一些GPS辅助功能说明。

一、AGPS

        辅助全球卫星定位系统(Assisted Global Positioning System,简称:AGPS),就是 GPS + 辅助信息。它可以利用手机基地站的资讯,配合传统 GPS 卫星,让定位的速度更快。AGPS 需要额外的辅助服务器支持。支持 AGPS 的手机将自身所接入的基站信息通过移动网络(GSM/GPRS、WCDMA等)提交到辅助服务器,后者返回相应的GPS辅助信息加速手机的GPS定位。AGPS 还会将初步的GPS 定位结果通过移动网络提交到辅助服务器,后者结合差分 GPS 基准站的信息,返回精度更高(比如小于10米)的定位结果。AGPS在拥有上述优点的同时由于使用了移动网络,会产生少量流量,据说每轮定位下来会消耗十几KB的流量。

定位原理:

1、设备通过基站获取到当前所在的大概地理位置(实际是一次COO(Cell of Origin)定位,基于Cell-ID的定位技术)

2、设备通过蜂窝网络将当前位置上传到AGPS的位置服务器

3、APGS位置服务器根据接受到的位置信息,查询该区域当前可用的卫星信息(包括卫星的频段、方位、俯仰角等),并返回给设备

4、设备GPS接收器根据得到的可用卫星信息,可以快速找到当前可用的GPS卫星进行定位

二、MTK EPO

EPO(Extended Prediction Orbit)是 MTK 开发的一种离线GPS辅助定位技术。它支持最长30天的GPS卫星轨道预测数据,通过这些数据,可以大幅缩短GPS首次定位时间(TTFF),显著地提升用户体验。由于GPS一直在校正过程中,GPS卫星轨道预测数据一个月后偏差就较大了,需要进行数据更新,否则,会因为错误的数据导致GPS定位耗时更久甚至异常。

定位原理:

1、当 gps_init 的时候,检测EPO文件是否存在或者仍在有效期

2、文件不存在或者过了有效期的情况下,通过网络从MTK服务器上下载EPO数据包

3、下载EPO文件成功后,且GPS task在20s内检测EPO文件OK,则将EPO数据、UTC时间、当前的经纬度等写入GPS模块;

4、GPS 根据EPO文件里面包含的卫星预测数据,快速搜星定位

注:vendor/mediatek/proprietary/hardware/connectivity/gps/mtk_mnld/etc/gps.conf 中配置

EPO_ENABLE=1//启用EPO

DW_DAYS=9//下载数据最大天数

关于EPO中遇到一些问题见 MTK GPS问题调试

以上是关于GPS 辅助定位的主要内容,如果未能解决你的问题,请参考以下文章

android打开网页,并保存当前位置源码

GPS定位研究之gps位置改变监听源码分析(Android10)

GPS 辅助定位

LocationManager-定位方式原理解析

GPS 学习记录1——辅助定位

GPS 学习记录1——辅助定位