手机定位原理 - GPS/GLONASS/北斗 + WIFI + 基站(转)

简介: 卫星定位系统 - GPS/GLONASS/北斗: 关于GPS、GLONASS、北斗、伽利略系统的科普请自行谷歌。 GPS是使用最广泛的全球定位网络,几乎是所有智能手机的标配。进几年,俄罗斯的GLONASS定位功能也逐步加入智能手机芯片,与GPS组成双定位系统,定位速度大幅提升。

卫星定位系统 - GPS/GLONASS/北斗:

关于GPS、GLONASS、北斗、伽利略系统的科普请自行谷歌。

GPS是使用最广泛的全球定位网络,几乎是所有智能手机的标配。进几年,俄罗斯的GLONASS定位功能也逐步加入智能手机芯片,与GPS组成双定位系统,定位速度大幅提升。中国自主研发的北斗导航系统,也开始出现在部分高端机型。至于欧洲的伽利略系统,目前还没有见到有哪部手机支持。

卫星定位系统的优点在于精度高,误差一般在15米以内。GPS芯片会接收天空中多颗卫星的同步信号,然后根据信号的相位差,计算出具体的经纬度。保持多颗卫星信号同步,将误差控制在纳秒级以下,是GPS核心技术之一。

下图是Android平台的著名GPS应用GPSTestPlus截图,可以看到本机支持GPS和GLONASS双定位系统(圆点为GPS卫星,三角形为GLONASS卫星),以及定位卫星在天球上的投影。

 

WIFI定位:

路由器默认都会进行SSID广播(除非用户手动配置关闭该功能),在广播帧包含了该路由器的MAC地址。此时需要采集装置进行MAC信息采集和信号强度信息采集,并上传到服务器,经过服务器的计算,保存为“MAC-经纬度”的映射。例如谷歌的街景采集车,曾经因隐私问题在德国被定性为非法。在国内,通过用户智能手机应用的后门功能采集,则是数据公司获取“MAC-经纬度”映射信息的主要途径。一般情况下,用户周边会有多个WIFI信号源,此时手机会默默地解析出所有WIFI的MAC地址,如果某些WIFI的信息在数据库中已经存在,则可以根据信号强度,推导出未知WIFI的经纬度。如果没有已知WIFI,而手机碰巧开着GPS,则也能完成数据采集。用户在不知情的情况下为地图公司搜集了所有的数据。可以想象,这样的数据量是非常庞大的。

 

基站定位:

基站数量远少于WIFI,且基站都有公开的位置数据,因此采集工作相对简单。

 

 

多种定位途径的精确度:

卫星定位系统  > WIFI  > 基站(蜂窝网络)。因此优先级也是卫星定位系统最高。

 

以Android设备为例,如果用户未关闭GPS功能,则优先使用GPS,从GPS模块读取时钟校准、经纬度等数据。如果同时还开着WIFI和基站,则会同时采用WIFI和基站辅助定位,减少GPS芯片的计算步骤,提高定位速度,这就是A-GPS。

如果关闭GPS,而WIFI模块保持开启,手机会读取周边所有WIFI信号的MAC地址和信号强度,并上传至某公司(通常是地图供应商)的服务器,服务器查询并计算后会返回经纬度。WIFI的覆盖范围一般只在50米内,因此定位精度非常接近卫星定位系统。

如果WIFI模块也关闭了,那么只有通过基站(蜂窝网络)了。此时手机会接收到基站的小区ID,上传至服务器查询,服务器同样返回经纬度。但此时精度较差,误差一般在100以上,毕竟基站的覆盖范围也是很大的,仅凭信号强度是难以计算出精确位置的。

需要注意的是,WIFI方式和基站方式,都需要联网,要不你怎么和服务器联系?但是WIFI模块打开后,即可进行WIFI扫描和信息采集,不必连接到某一AP上,基站也是一样,不必打开蜂窝网络。因为向服务器发起查询请求,既可走蜂窝数据流量,也可走WIFI流量。

      

 

苹果系统中,用户无法控制GPS模块的开启和关闭,因此定位途径会根据状况自行决定。室内会自动使用WIFI或者基站。

 

http://www.cnblogs.com/radiolover/p/4307453.html

 

相关文章
|
1月前
|
数据挖掘 数据处理 API
使用TransBigData组件实现个人手机定位功能
使用TransBigData组件实现个人手机定位功能
21 0
|
4月前
|
数据挖掘 定位技术
出租车GPS轨迹、社交软件签到、手机信令数据下载网站整理
出租车GPS轨迹、社交软件签到、手机信令数据下载网站整理
101 2
|
4月前
|
Android开发 网络架构
【Android App】检查手机连接WiFi信息以及扫描周围WiFi的讲解及实战(附源码和演示 超详细必看)
【Android App】检查手机连接WiFi信息以及扫描周围WiFi的讲解及实战(附源码和演示 超详细必看)
163 1
|
4月前
|
XML Java 定位技术
【Android App】定位导航GPS中开启手机定位功能讲解及实战(附源码和演示 超详细)
【Android App】定位导航GPS中开启手机定位功能讲解及实战(附源码和演示 超详细)
113 0
|
4月前
|
XML Java Android开发
Android App开发手机阅读中贝塞尔曲线的原理讲解及实现波浪起伏动画实战(附源码和演示视频 可直接使用)
Android App开发手机阅读中贝塞尔曲线的原理讲解及实现波浪起伏动画实战(附源码和演示视频 可直接使用)
44 0
|
4月前
|
监控 自动驾驶 前端开发
Java厘米级高精准定位系统源码(支持UWB、蓝牙、WIFI定位)
Java厘米级高精准定位系统源码(支持UWB、蓝牙、WIFI定位)
68 0
|
9月前
|
移动开发 定位技术
百度地图H5手机端自动定位并更换图标的解决方案
百度地图H5手机端自动定位并更换图标的解决方案
122 0
|
9月前
|
算法 机器人 定位技术
使用WiFi测量仪进行机器人定位的粒子过滤器研究(Matlab代码实现)
使用WiFi测量仪进行机器人定位的粒子过滤器研究(Matlab代码实现)
|
9月前
|
网络协议 Linux Android开发
Android部分手机4G网第一次请求很慢(wifi正常)解决方案
Android部分手机4G网第一次请求很慢(wifi正常)解决方案
255 0
|
10月前
|
监控 自动驾驶 JavaScript
Java厘米级高精准定位系统源码(支持UWB、蓝牙、WIFI定位)
高精准定位系统支持10厘米工业级高精准定位,同时支持UWB,蓝牙,WIFI定位
155 0