从手机定位谈谈科技

有些我以为是常识的东西 , 后来发现并不是常识 。 而当我想要分享给大家的时候 , 经过高手点拨 , 意外发现居然我自己所了解的也是有偏差的 。 有鉴于此 , 写篇文章 。 源起是GPS的工作原理 , 我一直以为是常识来着 。 不过今天把这个话题延申一下 。 一、手机是怎么定位的? 手机定位一般有三个方法 。 方法1:基于你当前所接触的WIFI热点 , 如果这个WIFI热点是公开可查询的热点 , 存在地址信息对应的 。 那么你的位置可以锁定在该位置的一定半径内 。 通过WIFI定位 , 你的位置只能被确认在一定半径的范围内 , 并不能精确识别你的位置 , 速度 。 方法2:基于移动基站定位 , 你的手机信号是通过移动基站交互的 。 移动基站的地理位置是清晰明确的 , 当你手机可以获得多个基站的信号 , 并且不同基站信号存在不同的强弱衰减 , 那么可以根据这几个基站的位置和你信号衰减的情况 , 大致获得你的当前位置范围 , 以及大致的移动速度 , 如果你处于具有一定速度的交通工具之内的话 。 方法3:最精准的 , 是通过卫星定位 , 你看 , 虽然WIFI , 基站 , 卫星 , 具体是从近到远;但定位准确度确实越来越精确 。 那么卫星定位 , 其实也包括不同的选择 , 以前是GPS一统天下 , 大家一提卫星定位就是GPS , 但其实现在有很多家不同的卫星定位系统 , GPS依然是全球规模最大的 , 此外欧洲的伽利略 , 中国的北斗系统等等 。 实际上很多国产智能手机和卫星导航的芯片已经支持北斗系统 , 用户看到的标志可能还是GPS , 但提供定位服务的 , 实际上可能是来自于不同的系统 。 那么手机会自动根据信号强弱选择合适的系统进行定位导航 , 通常情况下 , 用户无需自己选择用哪个卫星系统 。 所以你就不用问我怎么切换到北斗系统啊 , 手机会在它认为合适的情况下用到的 。 二、卫星定位的原理 这就是我以为是常识 , 而很多人却存在误解的地方 。 首先 , 卫星并不知道你在哪里 , 它也不关心 。 其次 , 你的手机也不会向卫星传递讯号 , 定位导航卫星不负责跟手机终端交互信息 。 从技术上来说 , 手机给卫星发射信号很难么 , 似乎也不难 , 有卫星通讯电话不是么 , 但这面临两个问题 , 第一 , 所需要的功率会比较大 , 偶尔通讯也就算了 , 手机实时定位 , 如果需要交互信息 , 电池撑不住的 , ;第二 , 卫星也没有如此强大的应答系统 , 全球无数手机每秒钟请求位置 , 这请求频次不吓死人 , 卫星上放一组服务器?可能么? 当然 , 你说马斯克不是要搞全球卫星组网么 , 丫牛逼 , 但至少目前技术成本过高 , 这是不现实的 。 那么还有第三 , 就是 , 定位 , 其实不需要这么麻烦 。 实际上 , 导航卫星的工作极为简单 , 就是广播 , 广播自己的位置 , 自己的时间 。 每个所谓GPS芯片(习惯这么叫 , 现在很多已经整合了多个卫星系统)就是接受这些信号 , 然后处理 。 怎么处理呢?你如果知道它信号发出的时间 , 知道自己接受的时间 , 乘以传播速度 , 也就是光速 , 就知道自己和卫星的距离了对不对 。 当你的手机可以获得多个卫星信号的时候 , 比如三颗及以上 , 由于你知道卫星当前的位置数据 , 就可以通过数学公式 , 算出自己的所在位置 。 但是 , 且慢 , 这里有个严峻的问题 , 因为光速太大 , 需要极高的时间精确度 , 卫星上有原子钟 , 可以提供极为精确的时间 , 但你手机上没有 。 这时候 , 就需要把时间也当作变量 , 所以 , 需要四颗以上的卫星 , 才能精准定位你的位置 。 感谢科技的力量 , 现在的卫星定位极为精准 , 可以精确到米 , 从而让驾驶导航成为可能 , 实际上军方信号未解密 , 可以有更好的精确度 。 这里其实还隐藏了一个问题 , 就是 , 由于极高的时间精确度 , 那么卫星相对于地球是高速运动的 , 基于相对论 , 我们知道不同速度下的时间是不同的 , 在这样的精确度要求下 , 这个不一致也会很致命 , 所以 , 相对论公式被用于修正这一误差 。 所以真正的原理是这样的 , 卫星广播自己的时间(原子钟时间 , 极为精确到小数点后面n多位) , 当前位置 。 手机上的定位芯片获得多个卫星的信息 , 然后通过相对论公式修正时间误差 , 然后基于四颗或更多卫星的信息 , 测算自己的位置 。 这就是我说的 , 如此普及而成本低廉的定位芯片 , 其实技术含量还是蛮高的 。 那么这里还有一个冷知识 , 卫星还负责给你准确的时间 , 所以你看现在很多智能手机没有调时间的选项 , 因为完全不需要 , 只要有卫星信号 , 时间一定是准确的 。 再根据你的地理位置判定你所处的时区 , 给予你当地的时间 。 三、服务商如何确定你的位置 很多产品服务商需要你的位置 , 比如微信 , 比如微博 , 比如大众点评 , 当然更不用说地图导航 。 确定你的位置提供身边的服务 , 或者推荐身边的联系人 , 都是一种非常标准的互联网应用 。 其实在移动互联网之前 , 这样的服务并不是主流 , 通常只是做到同城推荐 。 而当时定位主要靠IP地址 , 这也是以前我经常用到的技术面试题 。 实际上 , 手机终端用户可以选择是否把自己的定位信息发送给服务商 , 如果没有发送自己的地理位置 , 服务商也会通过你上网的IP来判断你的大概位置 。 当然这个就很难精确定位到具体位置了 , 通常只能定位到城市范围 。 但这里有一个问题 , 就是手机终端 , 并不是必须上报真实的信息给服务商 。 有大量第三方工具可以伪造你的位置信息 , 你完全可以告诉服务商你在南极 , 或者在北欧的某个小岛上 。 这也就带来了很多灰色产业的问题 。 比如刷单 , 以前有uber幽灵车 , 假装在你附近 。 比如约炮骗局 , 你身边的美女约你开房 , 后来延伸到了更多推销的领域 , 你身边的美女开始卖茶 , 卖酒 , 炒股 , 或者拉你上菠菜网站 , 或者让你带她打游戏等等 。 很多不知情的人以为真的是身边的 , 其实都是用工具随意篡改地址 , 一路扫过来的 。 新加坡政府曾经为此非常头疼 , 很多新加坡寂寞大叔被国内的骗子们用这招约炮骗钱 。 现在街上还能看到政府的公益广告提醒这个骗局 。 今天特意街拍了一张这样的公益广告 , 背景是新加坡的组屋住宅区 。


推荐阅读