网站客服:zx81024163 |

从GPS的工作原理看手机是如何定位的?

2023-04-27 02:03:48发布    浏览572次    信息编号:50614

友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。

从GPS的工作原理看手机是如何定位的?

有些事情我认为是常识,结果却不是常识。 而当我想分享给大家的时候,无意中发现自己所学的也是有师傅指点的偏颇。 考虑到这一点,写一篇文章。

起源是GPS的工作原理,我一直以为是常识。 但是,让我们今天扩展这个话题。

1、手机是怎么定位的?

移动定位一般有3种方法。

方法一:根据您当前接触的WIFI热点,如果WIFI热点是公开热点,则有对应的地址信息。 那么你的位置就可以锁定在那个位置的一定半径范围内。

通过WIFI定位,只能在一定半径范围内确定您的位置,无法准确识别您的位置和速度。

方式二:根据移动基站定位,通过移动基站与您的手机信号进行交互。 移动基站的地理位置清晰明了。 当你的手机可以获取到多个基站的信号,并且不同基站的信号强度衰减不同,那么你就可以大致得到你当前所在位置的范围,以及大概的移动速度,如果你在一定的车辆内速度。

方法三:最准确的是通过卫星定位。 你看,虽然WIFI、基站、卫星从近到远; 定位精度确实是越来越准了。

那么卫星定位,其实也包括不同的选择。 过去,GPS 称霸全球。 大家一提到卫星定位,就是GPS。 但实际上,有许多不同的卫星定位系统。 GPS仍然是世界上最大的。 此外,欧洲的伽利略、中国的北斗系统等。

事实上,国内很多智能手机和卫星导航芯片都已经支持北斗系统。 用户看到的标志可能仍然是GPS,但定位服务实际上可能来自不同的系统。

然后手机会根据信号的强弱自动选择合适的系统进行定位导航。 通常,用户不需要选择使用哪个卫星系统。 所以你不用问我怎么切换北斗系统,手机怎么用就怎么用。

2、卫星定位原理

这是我认为是常识的地方,但很多人误解了。

首先,卫星不知道你在哪里,也不关心。 其次,你的手机不会向卫星发射信号,定位导航卫星也不负责与移动终端交换信息。

从技术上讲,手机向卫星发射信号难吗? 似乎并不难。 有卫星通信电话,但有两个问题。 首先需要的功率会比较大,偶尔交流一下就可以了。 手机实时定位,如果需要交换信息,电池会撑不住; 第二,卫星没有这么强大的响应系统,全世界每秒都有无数的手机请求位置,这个请求的频率不可怕,一组服务器放在卫星上? 是否可以?

当然,你说马斯克不搞全球卫星组网,牛逼,但至少目前技术成本太高,不现实。

然后就是第三个,就是定位,其实不需要这么麻烦。

其实导航卫星的工作极其简单,就是广播,广播自己的位置,自己的时间。 每一个所谓的GPS芯片(以前都是这么叫的,现在很多都集成了多个卫星系统)就是接收这些信号,然后进行处理。

如何处理? 如果知道信号发出的时间和接收到的时间,乘以传播速度,也就是光速,就知道自己和卫星的距离了,对吧? 当你的手机可以获得多个卫星信号时,比如三个或三个以上,由于你知道卫星当前的位置数据,你可以通过数学公式计算出自己的位置。

但是,等等,这里有一个严重的问题,因为光速太大了,这对时间精度要求极高。 卫星上有原子钟,可以提供极其准确的时间,但你的手机上没有。 这时候你就需要把时间作为一个变量,所以需要四颗以上的卫星才能准确定位你的位置。

得益于科技的力量,现在的卫星定位极其精准,可以精确到米,让驾驶和导航成为可能。 事实上,军用信号并没有被解密,所以可以有更好的准确性。

这里其实隐藏了一个问题,就是由于时间精度极高,卫星相对于地球的运动速度很高。 根据相对论,我们知道不同速度下的时间是不同的。 在这样的精度要求下,这种不一致也可能是致命的,所以用相对论公式来修正这种错误。

所以真正的原理是这样的,卫星广播自己的时间(原子钟时间,极其精确到小数点后n位以上),以及当前位置。 手机上的定位芯片获取多颗卫星的信息,然后通过相对论公式修正时间误差,再根据四颗或四颗以上卫星的信息计算出自己的位置。 这就是我说的,这么受欢迎的低成本定位芯片其实技术含量还是挺高的。

那么这里又是一个冷知识,卫星还负责给你准确的时间,所以你可以看到很多智能手机都没有调整时间的选项,因为完全没有必要,只要有卫星信号就可以了,时间必须准确。 然后根据你的地理位置确定你的时区,给你当地时间。

3.服务提供商如何确定您的位置

很多产品服务商需要你的位置,比如微信、微博、大众点评,当然还有地图导航。 它是一个非常标准的互联网应用程序,可以确定您的位置以提供您周围的服务,或者推荐您周围的联系人。 其实在移动互联网之前,这样的服务并不主流,通常只是做同城推荐。 当时定位主要靠IP地址,这也是我以前经常用到的技术面试题。

事实上,移动终端用户可以选择是否将自己的位置信息发送给服务提供商。 如果他们不发送位置信息,服务提供商也会使用您的互联网 IP 来确定您的大概位置。 当然,具体位置很难准确定位,一般只能在市区范围内。

但是这里有个问题,就是移动终端不必向服务商上报真实信息。 有很多第三方工具可以伪造您的位置信息。 你可以告诉服务商你在南极,或者在北欧的一个小岛上。

这也带来了很多灰色产业问题。

比如刷单的时候,以前有uber鬼车,假装就在你附近。

比如交友骗局,身边的美女叫你开房,后来延伸到更多的销售领域,身边的美女开始卖茶、卖酒、卖股票,或者拉你去菠菜网站手机纯gps 定位,或者叫你带她去玩游戏等等等等。

很多不知情的人以为真的是自己亲近的人,实际上是利用工具随意篡改地址,一路扫描。

新加坡政府曾经为此非常苦恼,很多孤独的新加坡人都被国内的骗子用这招骗过。 街上还可以看到政府的公益告示,提醒大家注意这个骗局。

今天,我特意在大街上拍了一张这样的公益广告。 背景是新加坡的HDB住宅区。

你说服务商没有办法确认他所在位置的真实性。 方法不多。 其基本思想是通过历史轨迹来判断。 你总不能一个小时前在湖南,一个小时后出现在新加坡吧? 当然也可以用IP地址+地理信息来联合判断,但是IP地址未必可信,因为有可能使用代理服务器上网。

现在还有远程移动互联网终端,功能更强大。 你的sim卡和终端在新加坡,你在大陆。 你可以通过互联网远程控制这个终端在互联网上做任何操作,让你根本无法发现任何异常。 目前是黑产业的最爱。

4、如何实现实时路况

我在知识星球上分享这个话题的时候,有人提出了这个问题。 很多地图软件都会显示拥堵情况,给出预估的行程时间。 这是如何实现的?

其实并不复杂。 这是基于用户不断报告的数据汇总。

比如目前这个路段有10辆车使用百度地图,那么百度地图就会知道这10辆车的平均速度,那么它就能知道这个路段目前的拥堵情况。

它甚至可以区分一些车道情况。 例如,根据车辆报告的行驶轨迹,可以大致区分出主路和辅路的速度。 (比如边路可以转弯,有等红灯的行为记录,而主路则一直沿主路直走)。

如果你有足够的历史数据,你也可以做出一些预测。 例如,您将在 5:30 离开。 按照目前的路况手机纯gps 定位,可能只需要40分钟就可以到达目的地,但根据历史数据可以得知,部分地区很快就会进入晚高峰,所以你实际上可能需要60分钟才能到达. 坦白说,我觉得很多地图厂商应该都没有把这个区域预测的很好。

前几天有一则小新闻印证了这个实现逻辑。 一个无聊的人在几十台安卓手机上打开谷歌地图,把它们放在一辆手推车上,然后推着手推车在空荡荡的路上缓缓行驶。 然后很快你就会看到谷歌地图显示这条路很拥挤。

我真的不想教人做坏事。 如果国内地图厂商利用这一招进行恶意竞争,厌恶对手,我们以后的出行就很难有可信的数据。

5.地理索引主题

地理位置信息成为标准信息后,基于地理位置的搜索需求就产生了。

例如,离我最近的餐馆有哪些。 谁是离我最近的活跃用户。 一些虚拟和增强现实游戏也会强调这一点。

写这样的代码可能不难,但是高并发呢?

那么传统的数据库索引很难满足这种高并发查询的需求。

特别提醒刚入行的程序员,类似的问题自己要经常问,如何实现能满足高并发的查询请求。 想想你能做什么,然后搜索其他人是如何做到的。 很多程序员每天都在迷茫,不知道如何提高。 其实很多类似的问题要自己去问,自己去寻找答案。 当然,面试完后发现自己不行,只好自己花点时间思考解决了。 我每次面试都做不到。

在移动互联网刚开始兴起的时候,这个问题其实还是比较麻烦的。 后来,一些数据库产品提供了地理空间索引。 您至少应该知道这样的解决方案是什么以及如何使用它? 对自己有更高的要求,看看这个产品的源码和底层逻辑,搜索代价是怎么计算的,搜索代价和数据量大小的对应关系是什么,这样才能有个透彻的了解。

这个问题我就不展开了,技术人员可以把它作为一个思考题,多思考一下。

六、其他七七八八

卫星定位服务的成本目前可以做到极低,因此应用场景极其广泛,如防盗、跟踪、电子围栏等。

感谢科技的发展。

几十年前,海上的船只要想知道自己的位置,还需要船长的经验和完整的记录信息。

十多年前,我和老伴自驾游,看纸质地图找路,各种纠结,走错路,停车问人。

今天,我们可以随时知道自己身在何处,周围发生了什么。 一个人在陌生的国度旅行,只要手机有电有信号,我们就不用太担心迷路了。 这看起来是理所当然的事情,但真的很短暂。 只有时间才能实现位置意识的自由。

提醒:请联系我时一定说明是从星空网上看到的!