常见手机定位方式浅谈

引言

前段时间在知乎上回答了一个关于手机定位相关的问题,被一个知友问到“加一个人微信聊天之后,收到了人家的一个视频,随后也把这个人及他发的视频都删除了,几天后在网吧上网,被别人定位到了,勒索了一笔钱,说‘再来这一片,还能找到你’,他的位置是如何被定位的?“。地理位置是一种很隐私的信息,严重关系到个人的生命财产安全,当然一些设备也有很好的隐私保护政策,在未经用户允许的情况下,位置信息是不会被窃取的。但,现实生活中绝大部分人都是非科班出身的,并不能有效的防范位置信息泄露,有太多的方式可以诱导用户应允获取用户隐私信息,也有不少方式不需要用户同意就可以知道其位置信息。本人结合自己已有的知识储备,并查找了一些资料,重新温习了定位相关知识,本文就总结一下几种常见的定位技术及其原理。

利用手机常用的定位方式有:

  1. 卫星定位(GPS,北斗,伽利略,Glonass);
  2. 移动基站定位;
  3. WiFi辅助定位;
  4. AGPS定位。

1.卫星定位。

常见的卫星定位系统有GPS、北斗、伽利略和Glonass,虽然这些系统提供的服务有些差异,但其背后的定位原理都是相同,现在以应用最广泛的GPS为例来介绍卫星定位。

GPS(Global Positioning System)即全球定位系统,是由美国建立的一个卫星导航定位系统,利用该系统,用户可以在全球范围内实现全天候、连续、实时的三维导航定位和测速;另外,利用该系统,用户还能够进行高精度的时间传递和高精度的精密定位。

1.1GPS系统构成

GPS系统包括三大部分:空间部分–GPS卫星星座;地面控制部分–地面监控部分;用户设备部分–GPS信号接收机。如图1:

 

图1 GPS系统构成

1.1.1GPS工作卫星及其星座

21颗工作卫星和3颗在轨备用卫星组成GPS卫星星座。24颗卫星距地高度为20200km,运行周期为11小时58分(恒星时12小时),均匀分布在6个轨道平面内,轨道倾角为55度,各个轨道平面之间相距60度,每个轨道平面内各颗卫星之间相差90度。卫星通过天顶时,卫星可见时间为5个小时,在地球表面上任何地点任何时刻,在高度角15度以上,平均可同时观测到6颗卫星,最多可达9颗卫星。示例如图2:

图2 GPS卫星网络

为了解算测站的三维坐标,必须观测4颗GPS卫星,称为定位星座。

1.1.2地面监控系统

对于导航定位来说,GPS卫星是一动态已知点。星的位置是依据卫星发射的星历–描述卫星运动及其轨道的参数算得的。每颗GPS卫星所播发的星历,是由地面监控系统提供的。卫星上的各种设备是否正常工作,以及卫星是否一直沿着预定轨道运行,都要由地面设备进行监测和控制。地面监控系统另一个重要作用是保持各颗卫星的时间,求出钟差,然后由地面注入站发给卫星,卫星再由导航电文发给用户设备。

GPS工作卫星的地面监控系统包括一个主控站、三个注入站和五个监测站。主控站的作用是根据各监控站对GPS的观测数据,计算出卫星的星历和卫星钟的改正参数等,并将这些数据通过注入站注入到卫星中去;同时,它还对卫星进行控制,向卫星发布指令,当工作卫星出现故障时,调度备用卫星,替代失效的工作卫星工作;另外,主控站也具有监控站的功能;监控站主要任务是为主控站提供卫星的观测数据;注入站任务是将主控站发来的导航电文注入到相应卫星的存储器。

1.1.3GPS信号接收机

能够捕获到按一定卫星高度截止角所选择的待测卫星的信号,并跟踪这些卫星的运行,对所接收到的GPS信号进行变换、放大和处理,以便测量出GPS信号从卫星到接收机天线的传播时间,解译出GPS卫星所发送的导航电文,实时地计算出测站的三维位置,甚至三维速度和时间。  

1.2GPS定位原理

GPS导航系统的基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。要达到这一目的,卫星的位置可以根据星载时钟所记录的时间在卫星星历中查出。而用户到卫星的距离则通过纪录卫星信号传播到用户所经历的时间,再将其乘以光速得到(由于大气层电离层的干扰,这一距离并不是用户与卫星之间的真实距离,而是伪距)。

当GPS卫星正常工作时,会不断地用1和0二进制码元组成的伪随机码(简称伪码)发射导航电文。导航电文包括卫星星历、工作状况、时钟改正、电离层时延修正、大气折射修正等信息。GPS导航系统卫星部分的作用就是不断地发射导航电文。然而,由于用户接受机使用的时钟与卫星星载时钟不可能总是同步,所以除了用户的三维坐标x、y、z外,还要引进一个变量 t 即卫星与接收机之间的时间差作为未知数,然后用4个方程将这4个未知数解出来。所以如果想知道接收机所处的位置,至少要能接收到4个卫星的信号。如下图所示: 

图3 GPS位置计算方法

从以上四个方程中解出x,y,z和t就可以定时、定位。

GPS定位方式,不需要sim卡,不需要连接网络,只要在户外,基本上随时随地都可以准确定位。其他类型卫星定位方式与GPS差不多,不再讲述。

2.基站定位

2.1相关概念

因为处在相同频率范围的信号会相互干扰,为防止相邻基站相互干扰,相邻的基站会选择不同的信道(不同频率范围的信号)与移动设备通信。如上图是一个蜂窝移动基站的示意图,其任意相邻的两个基站都具有不同的通信频段。基站不是孤立存在的,其覆盖区域相互交接,组成一张巨大的移动通信网络(如下图)。

图4 蜂窝基站

移动设备在插入sim卡开机以后,会主动搜索周围的基站信息,与基站建立联系,而且在可以搜索到信号的区域,手机能搜索到的基站不止一个,只不过远近程度不同,再进行通信时会选取距离最近、信号最强的基站作为通信基站。其余的基站并不是没有用处了,当你的位置发生移动时,不同基站的信号强度会发生变化,如果基站A的信号不如基站B了,手机为了防止突然间中断链接,会先和基站B进行通信,协调好通信方式之后就会从A切换到B。这也就是为什么同样是待机一天,你在火车上比在家里耗电要多的原因,手机需要不停的搜索、连接基站。每次坐火车,我都会把手机调成飞行模式,看看电影、听听歌,依然可以维持很长时间。

图5 移动网络

如上图所示,在这张巨大移动网络中,根据你所在的小区,所从属的基站就可大致知道你的位置信息,如果再加上一些估计算法,就可以更确切的找出你的位置。

2.2基站定位原理

移动电话测量不同基站的下行导频信号,得到不同基站下行导频的TOA(到达时刻)或 TDOA(到达时间差),根据该测量结果并结合基站的坐标,一般采用三角公式估计算法,就能够计算出移动电话的位置。实际的位置估计算法需要考虑多基站(3个或3个以上)定位的情况,因此算法要复杂很多。一般而言,移动台测量的基站数目越多,测量精度越高,定位性能改善越明显。

上面的介绍有点官方,不是很容易理解。直白的说,距离基站越远,信号越差,根据手机收到的信号强度可以大致估计距离基站的远近,当手机同时搜索到至少三个基站的信号时(现在的网络覆盖这是很轻松的一件事情),大致可以估计出距离基站的远近;基站在移动网络中是唯一确定的,其地理位置也是唯一的,也就可以得到三个基站(三个点)距离手机的距离,根据三点定位原理,只需要以基站为圆心,距离为半径多次画圆即可,这些圆的交点就是手机的位置。网传的微信三点定位原理也是这个样子。

图6 三点定位原理

由于基站定位时,信号很容易受到干扰,所以先天就决定了它定位的不准确性,精度大约在150米左右,基本无法开车导航。定位条件是必须在有基站信号的位置,手机处于sim卡注册状态(飞行模式下开wifi和拔出sim卡都不行),而且必须收到3个基站的信号,无论是否在室内。但是,定位速度超快,一旦有信号就可以定位,目前主要用途是没有GPS且没有wifi的情况下快速大体了解下你的位置。另外,如果你的手机里没有基站位置数据包,还需要联网才行。

3.WiFi定位

WiFi(也就是Wireless Access Point:AP,或者无线路由器)定位的方法有很多种,例如可以依据测信号强度来判定目标的距离,也可以依据信号角度来检测目标的方向和角度,依据相位,时间和时间差来初步判定目标距离AP的位置等等。

3.1WiFi定位原理

  • 每一个无线AP(路由器)都有一个全球唯一的MAC地址,并且一般来说无线AP在一段时间内不会移动;
  • 设备在开启Wi-Fi的情况下,无线路由器默认都会进行SSID广播(除非用户手动配置关闭该功能),在广播帧包含了该路由器的MAC地址;
  • 采集装置可以通过接收周围AP发送的广播信息获取周围AP的MAC信息和信号强度信息,将这些信息上传到服务器,经过服务器的计算,保存为“MAC-经纬度”的映射,当采集的信息足够多时候就在服务器上建立了一张巨大的WiFi信息网络;
  • 当一个设备处在这样的网络中时,可以将收集到的这些能够标示AP的数据发送到位置服务器,服务器检索出每一个AP的地理位置,并结合每个信号的强弱程度,计算出设备的地理位置并返回到用户设备,其计算方式和基站定位位置计算方式相似,也是利用三点定位或多点定位技术;
  • 位置服务商要不断更新、补充自己的数据库,以保证数据的准确性。当某些WiFi信息不在数据库中时,可以根据附近其他的WiFi位置信息推断出未知WiFi的位置信息,并上传服务器。

图7 WiFi 定位

3.2数据采集

这些AP位置映射数据怎么采集的呢?其采集方式大致可以分为主动采集和用户提交。

主动采集

谷歌的街景拍摄车还有一个重要的功能就是采集沿途的无线信号并打上通过GPS定位出的坐标回传至服务器,Skyhook公司也是采用这样的方式。

用户提交

Android手机用户在开启“使用无线网络定位”时会提示是否允许使用Google的定位服务,如果允许,用户的位置信息就被谷歌收集到。iPhone则会自动收集WiFi的MAC地址、GPS位置信息、运营商基站编码等,并发送给苹果公司的服务器。

由上面的介绍可知,WiFi定位在AP密集的地方有很好的效果,比如在GPS不能使用的室内,而且具有较快的反映速度,在不连上WiFi的情况下也可以定位,这就是有时候在不开数据服务时百度地图提示打开WiFi功能定位的原因。由于其依赖于WiFi,如果不想让人通过这种方式知道你的位置信息,直接关闭WLAN功能即可。

4.AGPS定位 

AGPS(AssistedGPS:辅助全球卫星定位系统)是结合GSM/GPRS与传统卫星定位,利用基地台代送辅助卫星信息,以缩减GPS芯片获取卫星信号的延迟时间,受遮盖的室内也能借基地台讯号弥补,减轻GPS芯片对卫星的依赖度。AGPS利用手机基站的信号,辅以连接远程定位服务器的方式下载卫星星历 (英语:Almanac Data),再配合传统的GPS卫星接受器,让定位的速度更快。是一种结合网络基站信息和GPS信息对移动台进行定位的技术,既利用全球卫星定位系统GPS,又利用移动基站,解决了GPS覆盖的问题,可以在2代的G、C网络和3G网络中使用。

普通的GPS系统是由GPS卫星和GPS接受器组成,与普通的GPS不同,AGPS在系统中还有一个辅助定位服务器。在AGPS网络中,接收器可通过与辅助服务器的通信而获得定位辅助。由于AGPS接收器与辅助服务器间的任务是互为分工的,所以AGPS往往比普通的GPS系统有速度更快的定位能力、有更高的效率,可以很快捕捉到GPS信号,这样的首次捕获时间将大大减小,一般仅需几秒的时间(单纯GPS接收机首次捕获时间可能要2~3分钟时间),而精度也仅为几米,高于GPS的精度。 利用AGPS接收器不必再下载和解码来自GPS卫星的导航数据,因此可以有更多的时间和处理能力来跟踪GPS信号,这样能降低首次定位时间,增加灵敏度以及具有最大的可用性。

AGPS定位基本步骤

  • AGPS手机首先将本身的基站地址信息通过网络传输到定位服务器; 
  • 定位服务器根据该手机的大概位置传输与该位置相关的GPS辅助信息(包含GPS的星历和方位俯仰角等)到手机; 
  • 该手机的AGPS模块根据辅助信息(以提升GPS信号的第一锁定时间TTFF能力)接收GPS原始信号; 
  • 手机在接收到GPS原始信号后解调信号,计算手机到卫星的伪距(伪距为受各种GPS误差影响的距离),并将有关信息通过网络传输到定位服务器; 
  • 定位服务器根据传来的GPS伪距信息和来自其他定位设备(如差分GPS基准站等)的辅助信息完成对GPS信息的处理,并估算该手机的位置; 
  • 定位服务器将该手机的位置通过网络传输到定位网关或应用平台(如手机上的GPS应用程序)。

图8 AGPS定位

AGPS的优势主要在其定位精度上。在室外等空旷地区,其精度在正常的GPS工作环境下,可达10米左右,堪称目前定位精度最高的一种定位技术。另一优点为:首次捕获GPS信号的时间一般仅需几秒,不像GPS的首次捕获时间可能要2~3分钟。虽然AGPS技术的定位精度很高、首次捕获GPS信号时间短,但是该技术也存在着一些缺点。首先,室内定位的问题目前仍然无法圆满解决。另外,AGPS的定位实现必须通过多次网络传输(最多可达六次单向传输),这对运营商来说是被认为大量的占用了空中资源,对消费者而言将产生不少的流量费用。而且AGPS手机比一般手机在耗电上有一定的额外负担,间接减短了手机的待机时间。除此之外,有时无法取得多个卫星传来的讯号,通常这是因为您的AGPS 话机天线接收器所在环境的限制。在这种情况下,AGPS 功能将不能很好地使用。

几种常用的定位方式介绍完了,那么文章最初那个知友遇到的问题,他怎么被定位的呢?

 先分析一下有用信息:

  • 使用的IPhone;
  • 微信添加过对方为好友,随后解除好友关系;
  • 接收了对方一段视频,随后并删除;
  • 在那一片,还会被找到。

IPhone系统比较封闭,对用户隐私保护较好,微信对用户隐私保护也很好,那么是怎么被定位的呢?

      首先想到是接收的视频(.exe格式,或其他)里含有病毒,在播放视频后,会感染手机,同时窃取一些用户信息。如果这病毒在系统里一直存在,随时窃取用户信息(包括位置信息),以IOS系统的安全性应该会发现并删除。这种方式应该不可行。

      那会不会通过微信号或其他方式获取了用户的手机号码呢?由基站定位原理可以知道,手机在连接运营商服务时,会不断同步自己的一些状态信息,根据这些信息就可以获得用户的大致位置。但可以根据电话号码定位手机位置的技术应该只有公检法和运营商具备,个人或者公司怎么获取呢?这又是一个问题。

      那会不会是通过WiFi定位呢?通过某些方式获得手机的一些信息,如MAC地址,然后通过附近的WiFi热点对手机进行了定位。当然,这也存在一些问题。

还有就是“在这一片,还会被找到”,说明在这一块区域应该有定位能力,那么应该是在这特定的区域内,安装了一些设备,对附近的手机进行定位与识别。

      究竟是以怎样的方式窃取的位置信息,已经无从得知。也很有可能比我预想的简单很多,以一种更为简洁和直接的方式进行定位。随着IT技术发展,有越来越多的黑科技产生,信息安全也越来越重要。好多个人信息暴露在网络上,在互联网上裸奔很危险,以后要注意个人信息保护。

PS/欢迎探讨文中那位知友被别人如何定位的,我也很想知道。

转载地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1619216.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

苹果手机如何显示定位服务器地址,iOS8定位服务在哪?苹果iPhone6/Plus开启或关闭定位方法图文介绍...

以下是具体的iPhone6/Plus开启或关闭定位方法,适合所有iOS8系统的iPhone设备。 iOS8定位服务在哪? 定位服务关系用户隐私方面的东西,因此iOS8定位服务在iOS8设置中的“隐私”设置中,大家可以在下面的iOS8开启或者关闭定位服务教程…

小程序定位苹果手机可以,但是安装手机获取不到定位

1.确认是否开通定位权限 如果还没有权限,就去申请:申请时 注明场景,多上传几张 那个位置需要上传的照片 更容易通过本人申请场景(参考):需要获取工人拍照验收位置照片注明定位位置时间,验证工人师傅在现场 审核是否通…

vscode 对模型train、detect脚本进行Debug时配置参数

我们训练yolov5代码时,一般会配置一些参数,比如模型权重文件--weights, 模型的配置文件--cfg, 以及训练的数据--data, 对应的训练脚本为: 训练train python train.py -- weights ./yolov5s.pt --cfg models\yolov5s.yaml --data ./data/coco128.yaml…

uniapp iOS打包证书申请流程——window

uniapp 如何在 window 创建 iOS打包证书? 文章目录 uniapp 如何在 window 创建 iOS打包证书?下载 Appuploader安装创建证书相关入口创建证书创建描述文件运行调试账号过期提示 前提: 下载 Appuploader工具 Appuploader辅助工具,解…

微服务学习资料

文章目录 参考资料一. 微服务概述1. CAP理论2. BASE理论3. SpringBoot 与 SpringCloud对比 二. 服务注册:Zookeeper,Eureka,Nacos,Consul1. Nacos两种健康检查方式?2. nacos中负责负载均衡底层是如何实现的3. Nacos原理4. 临时实例和持久化(非临时)实例 …

监控摄像头镜头焦距计算方法

一、公式计算法: 视场和焦距的计算 视场系指被摄取物体的大小,视场的大小是以镜头至被摄取物体距离,镜头焦头及所要求的成像大小确定的。 1、镜头的焦距,视场大小及镜头到被摄取物体的距离的计算如下; …

手把手教你如何调配监控镜头

监控镜头指监控摄像机的镜头,由于监控摄像机只是一个单一的视频扑捉设备,镜头的像素和分辨率比电脑的视频头要高但是赶不上专业的数码相机或dv。在闭路监控体系中,摄像机又称摄像头或CCD(Charge Coupled Device)即电荷…

中国式安全感:2亿视频监控镜头守护社会生活

随着科技发展,视频监控设备早已成为保障城市公共安全的必需品,车站、公园、公路、街角随处可见,数量庞大的视频监控设备从各方面为社会安全与智慧化发展提供了有力保障。 打造中国式安全感 监控覆盖面不断扩大 古往今来,更高的社…

监控相机镜头 焦距

1、相机上面的数字6mm 8mm 12mm,这些是摄像头的焦距 2、镜头毫米数越小,看到的画面视角越宽,视线也就越近,远处的地方就会看不清楚,越大的镜头,照出来画面视视角越窄,视线越远 3、安装的距离与高度&#xf…

监控摄像机如何选择镜头视场角

监控摄像机如何选择镜头视场角 对于监控摄像机如何选取合适的镜头,是一门学问。对于监控摄像机厂商,无论是用在家里,办公室,用在电梯,用在公共场所等等,在选择使用多大视场角的镜头及配合什么样的CCD&#…

2.8/4/6/8mm/12mm焦距的镜头分别能监控多大范围?

2.8/4/6/8mm/12mm焦距的镜头分别能监控多大范围? 相关介绍 一、焦距和监控距离的关系 我司IPC镜头焦距有2.8/4mm/6mm/8mm等多种选择,可以满足室内外各种环境的拍摄需求。IPC每个产品系列都可以选择镜头焦距,产品型号末位即表示镜头焦距&am…

docker,nvidia-docker安装

卸载先前的docker Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。如果已安装,请卸载它们: sudo apt-get remove docker docker-engine docker.io containerd runc使用 Docker 仓库进行安装 设置仓库 更新 apt 包索引 sudo…

Unix及类Unix系统文本编辑器的介绍

概述 Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是纯粹的自由软件。 Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类…

有趣免费的开源机器人课程实践指北-2019-

如果对机器人方向学习有些迷茫,推荐先阅读如下文章: 机器人工程师学习计划(4.3k赞):https://zhuanlan.zhihu.com/p/22266788开源机器人学学习指南(376赞):https://github.com/qqfly…

2022.管理类软件工具

管理类的工具软件 1 filezilla工具1.1 filezilla 绑定本地wps,可远程查看编辑 2 gitLab 本地代码类托管2.1 ubuntu 安装gitlab 3 tftp下载应用程序至开发板3.1 windows端安装服务器软件tftpd643.2 开发板内核需要配置tftp客户端 4 开发板操作常用指令5 vscode工具5.…

linux ultraedit安装教程,Linux系统安装最新版本Vim编辑器的简单方法整理

Vi编辑器已经存在了很长时间,它是在1976年左右开发使用的,Vi编辑器为用户提供了传统而强大的功能,例如有效的编辑界面,终端控制等。 但是,Vi编辑器缺少某些吸引人的功能,例如多个屏幕,语法高亮显…

directx修复工具win7_win10下安装win7双系统后启动没有引导菜单怎么解决

win10装win7双系统,开机没有win7启动选项,这个是在新版本系统下安装旧版本系统组成双系统的通病,安装双系统都需要修复引导菜单,否则还是单系统。对于win10/win7双系统没有启动选项的情况,我们可以使用BOOTICEx64修复双…

【KafkaStream】简单使用

Kafka Stream是什么 Kafka Streams是一套客户端类库,它可以对存储在Kafka内的数据进行流式处理和分析。 1. 什么是流处理 流处理平台(Streaming Systems)是处理无限数据集(Unbounded Dataset)的数据处理引擎&#x…

kafka和消息队列

https://downloads.apache.org/kafka/3.5.1/kafka_2.13-3.5.1.tgz d kafka依赖与zookeeper kakka配置文件 broker.id1 #每个 broker 在集群中的唯一标识,正整数。每个节点不一样 listenersPLAINTEXT://192.168.74.70:9092 ##监听地址 num.network.threads3 #…