你的手机怎么知道你在哪 书架

第 08 章 / 共 10 章

第八章 · 闭着眼睛走直线

前面所有定位手段有一个共同前提:得有人跟你说话——卫星、基站、Wi-Fi 灯塔,总得有个外面的声音。可你开车进一条长隧道,所有声音都断了,导航上的箭头却还在往前爬,出隧道那一刻和 GPS 重新接上时,位置往往八九不离十。这几十秒里,手机靠的是一种完全不需要外界的古老智慧:记住自己每一个动作,从上一个已知位置一步一步推出来。

水手的老手艺

这套思路比无线电老几百年。大航海时代的水手在看不见陆地的海上,靠的就是它:我知道昨天中午在哪,知道船朝哪个方向开、开了多快、开了多久,于是今天的位置 = 昨天的位置 + 方向 × 速度 × 时间。这叫航位推算(dead reckoning)。它不需要星星、不需要陆地,只需要一本记得很勤的航海日志。

你的手机干的是一模一样的事,只是「航海日志」由两枚比指甲盖还小的芯片来写:

有了「每个瞬间的加速度」和「每个瞬间的朝向」,手机就能像水手一样记账:这个瞬间往前挪了一点,下个瞬间拐了个弯又挪了一点……把无数个「一点」累加起来,就是你在隧道里走过的轨迹。

致命的算术:误差会平方

这套系统听起来完美,但有个刻在数学里的缺陷。问题出在「累加」的方式上。

从加速度到位置,要连续做两次「累加」(数学上叫积分):加速度累加成速度,速度再累加成位置。而加速度计的读数永远带一点噪声——它分不清「车在加速」和「手机在支架上抖」。这点噪声经过第一次累加,变成一个缓慢跑偏的速度;跑偏的速度再经过第二次累加,变成一个加速跑偏的位置

大白话:这就像蒙眼走直线。每一步的方向误差只有一度,第一步几乎没影响,但一百步之后你已经斜出去好几米——而且斜得越来越远。误差不是一步步线性攒的,是滚雪球。用手机级的传感器做纯航位推算,位置误差一分钟就能漂出几十米,几分钟后就完全没法看。

这就是为什么纯惯性导航是「奢侈品」。核潜艇用的惯性导航系统,陀螺仪精密到漂一天误差不到一海里,代价是上百万美元和一整台机柜。你手机里那套几毛钱的 MEMS 芯片(就是刚才说的硅片刻出来的微型机械),精度差了不知道多少个零——但它的任务是撑过一条隧道的一分钟,不是横跨太平洋的三十天。对一分钟来说,够用了。

正确的用法:不当主角,当胶水

所以你手机上惯性传感器的真实角色,不是「独立定位系统」,而是胶水

注意这三种用法里,惯性数据永远在「被纠正」和「纠正别人」之间来回——它知道自己会漂,所以只要一有外界信号,就赶紧对表清零,把滚起来的雪球敲碎。可「什么时候信 GPS、什么时候信惯性、信多少」,这不是拍脑袋能决定的,需要一套精密的加权机制。这套机制有个名字,也是第九章的主角:卡尔曼滤波——把所有「都不太准」揉成「比较准」的数学炼金术。

你的手机怎么知道你在哪 · 王建硕
费曼式写法 · 由多个 AI 代理撰写与互相审校