目录

    📡 技术幻灯片 · 33 页 + 附录 · 数据全部标注一手来源

    用光速当尺子:
    WiFi FTM 精细时间测量完全指南

    从 802.11mc 到 802.11az/bk —— 室内定位如何从「猜」走向「量」

    RTT = (t₄ − t₁) − (t₃ − t₂)  d = RTT × c / 2
    核校截止 2026-08-056 个部分 · 33 页正文 + 2 页附录一手来源 30+
    PART 1

    定位技术全景
    为什么你的手机在商场里找不到自己

    室外定位在 2005 年就解决了,室内定位到 2026 年仍然没有统一答案。这一部分回答:GPS 进门后到底发生了什么,为什么 RSSI 和指纹这两条主流路线都撞在同一堵墙上。

    1. GPS 一进门就瞎了
    2. 四条技术路线
    3. RSSI 天生不准
    4. 指纹不 scale
    5. 换一把尺子
    1.1 Slide 1.1

    一个尴尬的事实:GPS 一进门就瞎了

    不是"变得不准",是根本收不到 —— 这是一道功率预算题

    −128.5 dBm
    GPS L1 C/A 到达地表的规范最小功率(IS-GPS-200)
    −25 dB
    常规室内额外衰减(深室内 >35 dB)
    −140 dBm
    手机 GNSS 捕获灵敏度门限
    1/22
    室内信号功率相对捕获门限,差 13.5 dB
    −120−134−148 −162−175 dBm 手机捕获门限 −140 dBm 跟踪门限 −145 dBm −128.5−143.5 −153.5−168.5 到达地表软室内(窗边) 常规室内深室内 ↓ 已在门限之下 13.5 dB
    图 1.1|GPS 功率预算瀑布:常规室内衰减 25 dB 之后,信号掉进"捕不到星"的灰色区域。
    数据来源:IS-GPS-200(−158.5 dBW)、MDPI Sensors 24(5):1416(室内衰减三档)、GPS World(手机灵敏度)

    为什么室内需求是 <1 米(不是营销话术,是监管硬线)

    指标数值统计口径来源
    GPS 空间信号 URE≤ 2.0 m日均全球,95% 概率GPS.gov
    手机 GPS 开阔天空4.9 m 半径典型值GPS.gov
    FCC E911 垂直(z 轴)±3 m80% 室内呼叫FCC 2020
    楼层间距(需求推导)3–4 m建筑常识
    零售"货架级"目标< 0.1 m802.11bk 目标arXiv:2509.03901
    GPS 不是在室内"变得不准",而是根本收不到——常规室内衰减 25 dB 之后,信号比手机的捕获门限还低 13.5 dB,功率只剩 1/22;而 FCC 那条 ±3 米的垂直硬线又要求你能分清楼层。供给和需求之间隔着的不是一个百分比,是一个数量级。
    1.2 Slide 1.2

    室内定位的四条技术路线

    本质是:你拿信号的哪个属性当尺子

    物理测量(有解析几何模型)

    • 测强度 RSSI —— 路径损耗反推距离
    • 测时间 ToF / RTT —— FTM 在这里
    • 测角度 AoA / AoD —— 天线阵列测入射角

    模式匹配(靠数据库)

    • 测特征 指纹 / CSI / 地磁 / 视觉
    • 离线建库 + 在线匹配
    • 没有物理模型,只有相似度

    这个划分决定了它们的失效方式完全不同:物理测量在多径下有偏(可建模、可治理),模式匹配在环境变化下失效(只能重建库)。

    低成本 × 高精度 0.05 m0.2 m 1 m5 m12 m UWB 802.11bk 蓝牙信道探测 视觉 VIO WiFi AoA BLE AoA 802.11az WiFi RTT (mc) 地磁指纹 BLE 信标 RSSI 指纹 RSSI 三边定位 部署 + 维护成本 → ↑ 精度更高(对数) 气泡大小 ≈ 终端普及度;橙色为 Wi-Fi FTM 家族
    图 1.2|精度 × 部署成本四象限。左上角的绿色高亮区只有三个点:WiFi RTT / 802.11az / 802.11bk —— 全篇的论点就是这个框。
    数据来源:arXiv:2509.03901 Table 2、SpotFi (SIGCOMM'15)、MDPI Sensors 21(11):3589、Bluetooth SIG

    综述给出的标准级横向对比(arXiv:2509.03901 Table 2)

    UWB蓝牙信道探测Wi-Fi 802.11
    带宽500 MHz / 1 GHz40 × 2 MHz20–320 MHz
    功率谱密度−41.3 / −31.3 dBm/MHz17 dBm/MHz17 dBm/MHz
    LOS 精度<0.1 m1–2 m0.4 m(az)|<0.1 m(bk)
    LOS 作用距离<15 m10 m50+ m
    需独立射频?否(需专用芯片)是(已装在墙上)

    关键读法:UWB 精度赢,但作用距离只有 <15 米、功率谱密度低 58 dB —— 覆盖同样面积需要的锚点数量是 Wi-Fi 的数倍。这是 UWB 十年没铺开的根本原因,不是技术不行,是账不划算。

    比精度表更有洞察的一张表:四条路线的"失效方式"

    路线在多径下在 NLOS 下环境变化时换台设备时
    测强度抖动(随机)有偏(偏远)直接失效系统性偏差
    测时间有偏(可分首径则可解)有偏(可建模/可学习)基本不受影响固定偏置,一次校准可消
    测角度多径假峰(超分辨可解)有偏基本不受影响取决于阵列一致性
    测特征被吸收进特征被吸收进特征直接失效需跨设备校准
    四条路线不是四种精度,是四种失效方式:测强度的东西怕环境变、测特征的东西怕数据库过期,而测时间的东西只怕多径 —— 而多径可以靠带宽和算法治,环境变化和数据库过期治不了。这就是为什么连蓝牙都在从 RSSI 改宗 Channel Sounding。
    1.3 Slide 1.3

    RSSI 为什么天生不准

    模型本身没错,错在参数不可知 —— 路径损耗模型的四重崩塌

    RSSI(d) = A − 10·n·log₁₀(d)   ITU-R P.1238 写作 N·log₁₀ d,N = 10n
    别把 ITU 的 N 当成教科书的 n。ITU 办公室 N=30 就是 n=3.0,差 10 倍。PPT 上直接放 ITU 表务必加一列换算。

    崩塌一:路径损耗指数 n 在同一栋楼里就漂 2.2 倍

    ITU-R P.1238-7 官方结论段(900–2000 MHz)给出的漂移范围:

    场景N(ITU)n(教科书)说明
    走廊、超市长货架通道181.8波导效应,比自由空间还小
    有直射径 / 大开间(商场、体育馆)202.0自由空间损耗主导
    常规办公室 2.4 GHz303.0ITU Table 2
    绕障碍、穿墙、隔间式办公楼404.0同一栋楼里,n 变化 2.2 倍

    而你的定位算法只能假设一个 n。真实 n=3 却按 n=2 算,10 米会被估成 31.6 米(3.2 倍),30 米估成 164 米(5.5 倍)。

    −40−60−80−100 1 m25 102550 m 同一个 −70 dBm 读数 ↓ n=1.8n=2.2n=3.0n=4.0 → 答案可以是 5.6 m(n=4)、10 m(n=3)、23 m(n=2.2)或 46 m(n=1.8)
    图 1.3|RSSI-距离曲线族(A = −40 dBm)。蓝色带为 n=3.0 时 ±10 dB 的阴影衰落 1σ。
    数据来源:ITU-R P.1238-7 Table 2 / Table 4 / 结论段

    崩塌二~四:随机、人体、设备,三层误差叠在模型误差之上

    误差源量级能否消除来源
    ① 模型层n 随场景漂移 1.8 → 4.0距离估计偏 2–5 倍需现场标定,换场景失效ITU-R P.1238-7
    ② 随机层阴影衰落 σ(对数正态)8–17 dB(5.8 GHz 办公室达 17)空间相关,时间平均无效ITU Table 4
    ③ 人体层朝向 / 遮挡≤5 dBm(同一点换个朝向)不可预测RADAR, INFOCOM 2000
    ④ 设备层芯片/天线/固件差异刻度不一,可见 AP 集合都不同只能靠差分/排序绕开Kjærgaard 2011

    为什么平均救不了:把 σ=10 dB 压到 1 dB 需要 100 个独立样本,但阴影衰落是空间相关的 —— 同一位置反复采样拿到的是同一个衰落值。时间平均只能压掉快衰落,压不掉阴影衰落。这是物理天花板,不是工程问题。

    把 σ 翻译成距离:全页最有杀伤力的一步计算

    n=3.0、σ=10 dB → 距离估计的 1σ 乘性误差 = 10^(10/30) = 2.15×

    真实距离−2σ−1σ中心+1σ+2σ95% 区间宽度
    2 m0.430.932.04.39.38.9 m
    5 m1.082.325.010.823.222.1 m
    10 m2.154.6410.021.546.444.2 m
    20 m4.319.2820.043.192.988.6 m
    RSSI 的问题不是"不够准",是它测的根本不是距离。ITU 自己的表就写着:同一栋楼从走廊走进隔间,路径损耗指数从 1.8 跳到 4.0;办公室的阴影衰落标准差是 10 dB。把这两个数代进公式,一次 RSSI 读数对应的 95% 距离区间是 2 米到 46 米 —— 你拿到的不是一把尺子,是一个概率云。
    1.4 Slide 1.4

    指纹定位为什么不 scale

    不是不准,是不划算 —— 26 年过去了,实地部署的数字没有本质变好

    开山之作就定下了精度天花板:RADAR(微软研究院, INFOCOM 2000)

    980 m²
    测试场地(3 层楼的 2 层,50+ 房间)
    280
    采样点 = 70 物理点 × 4 朝向,每点 ≥20 样本
    2.94 m
    中位误差(25/75 分位:1.92 / 4.69 m)
    3
    基站数量

    这就是"3–5 米天花板"的原始出处。26 年后行业实地部署仍是 5–10 米(Mappedin 2026 指南),而同一份指南给 Wi-Fi RTT 的口径是优化部署下 1–2 米

    指纹定位WiFi RTT 实验室 1.8 m 实地 5–10 m 落差 4.2 倍 ↑ 1.0 m 实地 1–2 m  落差 1.5 倍 指纹法从论文走到现场会掉一个档,RTT 不会 数据来源:Mappedin《High-accuracy WiFi indoor positioning》2026 指南

    采集成本是原罪,而且是超线性的

    RADAR 的采集密度是每 3.5 m² 一个采样点。按这个密度线性推算:

    场地面积采样点数纯采集工时(60 s/点)
    RADAR 原始测试楼层980 m²280~4.7 h(论文实测参数)
    一层中型商场10,000 m²~2,857~48 h
    五层商场50,000 m²~14,286~238 h(约 30 人日)
    机场航站楼200,000 m²~57,143~952 h(约 119 人日)

    ※ 按 RADAR 公开采集密度线性推算,不含建图、对齐、清洗与后续重测。

    公开基准数据集的规模,说明这件事有多重

    UJIIndoorLoc(2014,西班牙 Jaume I 大学,第一个公开 RSS 数据集):3 栋楼、4–5 层、约 108,703 m²、933 个参考点21,049 条样本、520 个 WAP、25 台不同设备、20 位采集者

    为一栋楼建一份能用的指纹库,需要 20 个人、25 台设备、两万多次采样。这就是"不 scale"的具体形状。

    指纹会过期 —— 而且是断崖式,不是渐进式

    UJI 团队跨越 2 年多(2019-02 → 2021-03)的连续长期数据集:7,446,538 条 Wi-Fi 样本,探测到 2,711 个不同的 AP。核心结论是:定位性能在指纹库与测试数据同一天采集时明显最好,虽然退化随时间累积,但只有当 Wi-Fi 基础设施发生显著变化时才导致大的定位误差

    关键洞察

    退化不是均匀老化,是被"AP 换了 / 改了功率 / 装修了"这类离散事件打断的。所以你无法排一个"每季度重测一次"的运维计划 —— 你根本不知道什么时候需要重测。

    顺带一个数字

    2 年里在一栋楼探测到 2,711 个不同 AP,而 UJIIndoorLoc 建库时只有 520 个射频环境的换手率本身就是指纹法的敌人。

    别说"指纹库每 X 个月就要重测"。UJI 的长期数据集明确说退化是事件驱动的断崖,不是时间驱动的渐变;定量退化曲线在他们的另一篇论文里,不要编具体米数。
    指纹定位不是不准,是不划算:RADAR 用 980 平米配 280 个采样点换来中位 2.94 米,26 年后行业实地部署仍然是 5–10 米;而 UJI 那份跨 2 年的数据集告诉你,同一栋楼里冒出过 2,711 个不同的 AP —— 你辛苦画的那张射频地图,从画完那天起就在被 IT 运维、装修队和人流悄悄改写,而且是断崖式改写。
    1.5 Slide 1.5

    换个思路:如果 WiFi 能直接告诉你「多远」

    换尺子的真正理由不是"时间比强度准",而是 —— 误差的形状变了

    c = 299,792,458 m/s ≈ 30 cm / ns  (英文口径更好记:光速 ≈ 1 foot / nanosecond)

    RSSI 的误差随距离放大

    ∂d/∂RSSI = d·ln10/(10n) —— 与 d 成正比。
    10 米处 1 dB 值 0.80 米;30 米处 1 dB 值 2.51 米

    ToF 的误差与距离无关

    ∂d/∂t = c/2 —— 是个常数。
    3.3 ns 的时间戳精度 = 全程 ±1 米,2 米处和 30 米处一样。

    35 m261790 RSSI(n=3, σ=10 dB) 1σ 误差随距离线性张开 ToF ±1 m — 全程恒定 010 m20 m30 m 真实距离 →  一个不断张开的喇叭 vs 一条贴地的直线
    图 1.5|误差-距离对照。这是全 Part 1 想说的那件事,浓缩成一张图。

    误差预算:1 米精度到底需要多准的时间戳

    时间量光走的距离(单程)折算测距精度(÷2)现实中谁有这个精度
    1 μs300 m150 m标准 802.11 TSF 计时器
    100 ns30 m15 m
    10 ns3 m1.5 m旧标准时间戳分辨率
    6.67 ns2 m1 m← 1 米精度的 RTT 预算
    3.3 ns1 m0.5 m单个时间戳的精度要求
    1 ns30 cm15 cm
    0.1 ns (100 ps)3 cm1.5 cmFTM 时间戳字段的分辨率

    1 μs → 0.1 ns,这是 10,000 倍的提升。FTM 就是这一万倍的名字。

    说"1 米精度 ≈ 3 ns 时间戳精度"时,要说清是单个时间戳。因为要除以 2,1 米测距误差对应的是 6.67 ns 的 RTT 误差;四个时间戳各有独立误差 σ_t 时,RTT 误差合成为 2σ_t,所以单时间戳预算约 3.3 ns。

    但时钟不是唯一瓶颈 —— 带宽才是硬约束

    MobiCom'18 原话:"20 MHz 信道的 Wi-Fi 信号每 50 纳秒才采样一次,这段时间里信号已经跑了 15 米。"

    信道带宽采样间隔原始距离分辨率(单程)对应标准
    20 MHz50 ns15 m802.11mc 最低配置
    40 MHz25 ns7.5 m
    80 MHz12.5 ns3.75 m802.11mc 常用
    160 MHz6.25 ns1.88 m802.11az
    320 MHz3.125 ns0.94 m802.11bk

    这解释了三代标准的精度阶梯:1–2 m → 0.4 m → <0.1 m,本质上是 20→160→320 MHz 带宽 + 超分辨算法一起推出来的。

    实测证明理论可达,也划出了边界(MobiCom'18,Intel 8260/8265 + 开源驱动)

    换尺子的关键不在于"时间比强度准",而在于误差的形状变了:RSSI 的误差是一个随距离张开的喇叭(10 米处 1σ 区间就有 4.6–21.5 米),而飞行时间的误差是一条水平线(3.3 ns 的时间戳精度 = 全程 1 米)。代价是你得把 Wi-Fi 的时间戳从 1 微秒(150 米!)做到 100 皮秒(1.5 厘米)—— 一万倍

    Part 1 主要来源:ITU-R P.1238-7 · IS-GPS-200 · FCC E911 (2020) · GPS.gov · arXiv:2509.03901(AGH + Intel 综述,180+ 篇)· RADAR, INFOCOM 2000(微软)· MobiCom'18 Rutgers WINLAB · UJIIndoorLoc (2014) · PMC9698900(UJI 两年长期数据集)· SpotFi, SIGCOMM 2015 · Mappedin 2026 指南 · MDPI Sensors 24(5):1416

    PART 2

    FTM 的物理与数学
    四个时间戳的游戏

    一条减法算式让收发双方不需要同步时钟,这是 FTM 能在消费级设备上落地的全部秘密。但从"公式成立"到"米级精度",中间隔着采样率、多径、硬件延迟和统计学四道关。

    1. 核心方程
    2. 纳秒从哪来
    3. 多径这个敌人
    4. 硬件延迟常数
    5. Burst 与统计
    6. 从距离到坐标
    2.1 Slide 2.1

    核心方程:为什么不需要时钟同步

    一条减法,消掉了整个产业级的难题

    ISTA(手机 · 发起方) RSTA(AP · 响应方) FTM 帧 t₁ 发出(RSTA 本地钟) t₂ 到达(需 ToA 估计) 处理时延 t₃ − t₂ ACK t₃ 发出(ISTA 本地钟) t₄ 到达(需 ToA 估计) 下一帧回传 t₁, t₄ → ISTA 才算得出这次的 RTT RTT = (t₄ − t₁) − (t₃ − t₂)
    图 2.1|FTM 一次帧交换的四个时间戳。t₁/t₃ 是"计划发射时刻",硬件可精确给出;t₂/t₄ 需要 ToA 估计 —— 在多径叠加里找出最早到达的那一路径,这才是精度的真正瓶颈。
    RTT = (t₄ − t₁) − (t₃ − t₂)  d = RTT × c / 2

    精妙之处在那个减法

    一个容易忽略的工程细节

    n 次帧交换只能算出 n−1 个 RTT。因为第 i 次的 t₁、t₄ 要靠第 i+1 帧带回来 —— 所以一个 burst 最少 2 帧,burst size = 2 实际等于"只测一次、无平均"。

    FTM(双程 RTT)

    ✅ 无需时钟同步
    ✅ 只需两台设备
    ✅ 结果与天线增益、发射功率无关
    ❌ 需要对方配合应答

    TDoA / TOA(基站侧)

    ❌ 要求所有基站纳秒级同步
    ❌ 铺光纤 / GPS 授时
    ✅ 终端可以只发不收
    在 Wi-Fi 上部署不现实

    FTM 的全部聪明之处就在那个减号:它不追求"两只钟走得一样准",而是让每只钟只测量自己身上发生的那段间隔。把同步问题变成了减法问题 —— 这是它能跑在几十块钱的芯片上,而 TDoA 只能跑在基站机房里的原因。
    2.2 Slide 2.2

    纳秒从哪里来

    时间戳打在物理层,分辨率靠信道估计,上限由带宽决定

    第一步:时间戳打在 PHY 层,不是 MAC 层

    第二步:采样率不够,靠信道估计补

    这里有个反直觉的矛盾:20 MHz 带宽的接收机每 50 ns 才采样一次,而我们要的是纳秒级。怎么办?

    原始距离分辨率 Δd ≈ c / (2·BW) 20 MHz 15 m 采样间隔 50 ns 802.11mc 最低配置 40 MHz 7.5 m 80 MHz 3.75 m 802.11mc 常用 160 MHz 1.88 m 802.11az 320 MHz 0.94 m 802.11bk(只在 6 GHz 有) 带宽每翻一倍,能分开的两条路径就近一半 —— 这是三代标准精度阶梯的物理原因
    图 2.2|带宽决定原始距离分辨率。理论支撑是 Cramér-Rao 下界:带宽越大,ToA 估计的方差下界越低。
    别把"分辨率"和"精度"混为一谈。20 MHz 的分辨率是 15 米(能分开两条路径的最小间隔),但配合插值,单条干净 LOS 路径的测距精度可以做到 1–2 米。分辨率限制的是"多径能不能分开",不是"单峰能测多准"。
    FTM 的纳秒来自三层叠加:PHY 层打点绕开 MAC 抖动(1 μs → 100 ps 的字段分辨率),信道估计 + 插值把峰位估到亚采样精度,而带宽决定了这套办法在多径面前的上限。三代标准的演进,本质上只做了最后一件事 —— 把带宽从 80 拉到 320 MHz。
    2.3 Slide 2.3

    多径:FTM 最大的敌人

    要找的是"最早到的",不是"最强的" —— 而这两者经常不是同一条

    时延 →(信道冲激响应) 幅度 首达径 LOS ← 我们要的就是它 最强径(反射) 取它 = 距离偏大 系统性正偏差 NLoS 下首径被完全遮挡 → 只剩反射径可选
    图 2.3|多径环境下的信道冲激响应。正确做法是取首达峰,即使它更弱。

    三个后果

    所以判断难度的关键指标不是"有没有直视",而是"周围有多少强反射面"。金属货架、玻璃幕墙、长走廊比一堵石膏板墙更难对付。

    材料导电性决定 NLoS 偏置大小(爱丁堡大学实测,三部手机 RMSE)

    遮挡材料RMSE 范围RSSI 变化(Pixel 2)机理
    无遮挡 LOS0.32–0.82 m−74.3 dBm基准
    木质0.54–1.25 m低损耗介质
    玻璃0.50–0.90 m低损耗介质
    金属2.26–2.94 m−84.3 dBm趋肤效应,直射径几乎完全被反射
    多径不是噪声,是偏差。噪声可以靠多测几次平均掉,偏差不行 —— 你测一万次,每一次的反射径都比直射径长同样那一截。这就是为什么 FTM 的工程重点不在"测得更多",而在"能不能把首径从一堆反射里挑出来",而这件事的能力上限由带宽决定。
    2.4 Slide 2.4

    那个恼人的常数:硬件延迟偏置

    量级最大、最容易治,也最容易被跳过的一类误差

    误差长什么样:斜率 ≈ 1,截距 ≠ 0

    但它不是"每 AP 一个 offset"这么简单 —— 是三维的

    偏置是(机型 × AP 型号 × 频段)的函数。UPC 实测标定表(单位:米,✗ = 该组合根本测不出来):

    设备Google AP 5 GHzGoogle AP 2.4 GHzLinksys 5 GHzLinksys DFSLinksys 2.4 GHz
    Pixel 3a−0.50+11.72−1.52−1.39+14.54
    Pixel 4a+1.94−0.74+1.28+1.30+2.35
    Pixel 6 Pro+1.64+0.19
    Xiaomi Mi 10T+3.24+64.91+2.58+67.73
    67.73 m
    小米 2.4 GHz 上的固定偏置 —— 不标定的 2.4 GHz FTM 等于没有
    4 倍
    同为 5 GHz,Pixel 2 (0.45 m) 与 Redmi K20 (1.85 m) 的偏置差距
    ≈ 0
    常数补偿后各距离上的 RMSE

    单边 vs 双边测距

    双边(标准 FTM)

    responder 把 t₂/t₃ 回传给 initiator,处理时延被精确扣除。精度 1–2 m(标定后)。代价:对方必须支持 FTM 并愿意应答。

    单边(非合作测距)

    只测"发出 NDP → 收到 ACK"的时间差,对方的内部处理时延 t_proc 未知,只能统计估计精度 3–4 m。好处:不需要对方支持 FTM。详见 Slide 4.4。

    互操作性:第二类"根本测不出来"

    四类误差里,只有一类不需要任何算法就能治好 —— 系统偏差,而它恰恰是量级最大的那一类(2.4 GHz 上能到 65 米)。工程队伍最常犯的错,是跳过一张标定表,直接去调卡尔曼的参数。
    2.5 Slide 2.5

    Burst 与统计:为什么一次测量不够

    精度不是免费的 —— 它是用信道时间买来的

    Burst 是什么

    标准差是免费的质量指标 —— 别扔掉它

    distanceStdDevMm 大 = 多径严重或信道拥塞,可直接用作定位解算的置信度权重(1/σ²)。这是 FTM 相对 RSSI 的一个隐性优势:它会告诉你自己这次测得准不准。

    3.5 m2.61.70.90 测距标准差 σ BS=5:收益 90% 已到手 BS=8:推荐上限 25811 14172023 2629 Burst Size → Pixel 3a @2.4G Pixel 4a @5G Mi 10T 数据:Zola & Martin-Escalona, Computer Communications 229 (2025) 107980,每机每 AP 5 万样本
    图 2.5|burst 平均只有第一步值钱:BS 从 2 到 5 标准差降 30–70%,之后基本平坦。BS>8 的小改善"并不总能 justify 注入网络的额外定位流量"。

    精度是用时间买的:厂商侧的同一条曲线

    135 cm
    1 个 burst 的 P90 测距误差
    39 cm
    32 个 burst 平均后的 P90 —— 代价是测量时间 ×32
    20–30 ms
    单个 burst 耗时(含最多 5 次测距)
    < 1 s
    32 个 burst 的总耗时

    时间成本的另一面(实测单次测距耗时):Pixel 3a 从 BS=2 的 212 ms 涨到 BS=29 的 333 ms;Pixel 6 Pro 380 → 587 ms;Mi 10T 均值 0.86–1.70 s,且标准差高达 1.5 s

    Android RangingResult 的关键字段怎么用

    字段含义怎么用
    getDistanceMm()本次会话的距离估计(毫米)主值,但必须先减去标定偏置
    getDistanceStdDevMm()距离标准差解算权重 1/σ²;也是多径严重程度的诊断信号
    getRssi()本次测距的 RSSI与路损模型距离比对 → LoS/NLoS 判别、离群剔除
    getNumAttemptedMeasurements()
    getNumSuccessfulMeasurements()
    尝试 / 成功帧数成功率 <90% 应报警(互操作性失效的信号)
    getStatus()成功 / 失败原因区分"AP 不支持"与"信道太忙"
    一次 FTM 会话不是"一次测量",而是几十次测量的统计平均 —— 把 90% 误差从 1.35 米压到 0.39 米,靠的不是更好的算法,而是把 32 个 burst 的时间从信道里买下来。精度、刷新率、吞吐量三者共用同一份预算,你只能挑两个。
    2.6 Slide 2.6

    从一个距离到一个坐标

    三边测量、加权最小二乘、GDOP —— 以及为什么 AP 不能站成一条线

    三边测量与加权最小二乘

    GDOP:几何精度因子 —— 布点的第一原则

    定位误差 ≈ GDOP × 测距误差   精度大致与响应 AP 数量的 平方根 成反比
    ✓ 正三角布局 GDOP 小 误差椭圆接近圆形 ✗ 近共线 镜像解 出现关于该直线的镜像二义性 两个解无法区分 ✗ 同侧聚簇 误差椭圆被拉成长条 径向准、切向差
    图 2.6|三种 AP 布局的几何精度。好布局的特征:密度大致均匀、无死区、不聚簇;凸包角落处效果变差(那里拿不到各方向的约束)。

    好消息

    室内"为覆盖优化的 AP 布局"通常也适合定位 —— 覆盖要求本身就倾向于均匀铺开、不聚簇。

    坏消息

    室外或跨楼层就不成立:AP 全聚在楼内、全在用户一侧,几何条件急剧恶化。跨楼层定位的实测 MAE 是 2.34 m,比同层隔墙的 1.26 m 差近一倍。

    时间维度:卡尔曼 / 粒子滤波 + PDR

    从距离到坐标这一步,决定成败的往往不是解算算法,而是那几台 AP 站在哪里。GDOP 是从 GNSS 直接搬过来的概念:测距误差乘上一个由几何决定的放大系数才是最终的定位误差 —— AP 排成一条线时,这个系数会趋于无穷。

    Part 2 主要来源:IEEE 802.11-2016 / 802.11az-2022 · arXiv:2509.03901 · MobiCom'18 (Rutgers WINLAB) · Zola & Martin-Escalona, Computer Communications 229 (2025) · MDPI Algorithms 15(12):464(爱丁堡)· NIST RF Ranging (2024) · Qualcomm Wi-Fi Ranging 白皮书 · Horn, Appl. Sci. 14(17):7805 (MIT) · developer.android.com WifiRttManager

    PART 3

    三代标准演进
    802.11mc → az → bk

    mc 把测距做成了却忘了上锁,az 把锁装上了却装不进手机,bk 把精度推到 UWB 门口却卡在一道频谱审批题上。三代标准,三种不同性质的困境。

    1. mc (2016)
    2. mc 的三个坑
    3. az (2022)
    4. bk (2025)
    5. 三代对照 + 三个时间点
    6. 完整会话时序
    3.1 Slide 3.1

    802.11mc (2016):把测距塞进一次维护性修订

    它以"顺带"的方式进入 Wi-Fi,也就以"顺带"的方式被产业忽略了两年

    FTM 是搭"维护性修订"的车进标准的

    能力边界(权威口径:arXiv:2509.03901 Table 13,作者含 802.11az 任务组主席)

    项目802.11mc
    正式标准编号IEEE 802.11-2016(REVmc roll-up)
    发布2016 年 12 月
    带宽20–80 MHz
    频段2.4 / 5 GHz
    典型精度1–2 m
    测距模式仅点对点(STA ↔ AP)
    MU-MIMO / 单 TxOP 内完成✗ / ✗
    MAC 帧保护 / PHY LTF 保护✗ / ✗ —— 安全机制为零
    被动测距
    终端 APIAndroid 9 (2018) Wi-Fi RTT
    别给 mc 写"部分支持 160 MHz"。权威对照表口径是 mc 上限 80 MHz,160 MHz 是 az 才引入的 —— 写错了会和 az 的卖点冲突。

    这是个可以调的协议:FTM 会话参数的标准取值范围

    时间参数

    • burst duration:250 μs – 128 ms
    • min delta FTM(连续两帧最小间隔):以 100 μs 为单位
    • burst period:以 100 ms 为单位
    • ASAP=1 时建议首帧 ≤10 ms 内发出

    一个工程细节

    FTM 帧走 voice access category (AC_VO),以降低信道接入延迟。

    测距会话的信道和带宽不必等于 BSS 的工作信道 —— 这也是"开 FTM 会额外吃信道时间"的原因之一(可能要切信道)。

    FTM 的第一次亮相不是发布会,是一次例行的标准合并 —— 它以"顺带"的方式进入 Wi-Fi,也就以"顺带"的方式被产业忽略了整整两年,直到 Android 9 给了它一个 API 才算真的存在。
    3.2 Slide 3.2

    mc 的三个坑

    测不到 · 测得慢 · 测得不可信

    坑 1 · 测不到

    FTM 是请求-响应模型,完全依赖响应方的配置。手机端有 API 不等于测得到 —— 必须有一台愿意应答的 AP。

    实地普查:5 GHz Responder 开启率 0.17%–1.56%(主动探测约 3%)

    坑 2 · 测得慢

    CSMA/CA 规则照常适用,FTM 帧要和数据帧一样竞争信道。

    单次测量 ~30 ms → 一个 AP 每秒最多服务约 30 个终端(还没算普通流量)

    坑 3 · 不可信

    时间戳明文传输,管理帧不加密,LTF 训练序列采用公开、确定性的结构

    攻击成本:只发帧开头的 LTF 就够了

    坑 1 的实证:能力"存在但不可达"

    时间地点5 GHz Responder 开启率
    2020-10阿布扎比0.17%
    2020-10波士顿 Back Bay1.56%(最高)
    2020-10比利时 Hasselt0.17%
    2020-10苏黎世0.25%
    2021-10波士顿 Back Bay1.36%
    2021-12Hasselt0.26%

    2.4 GHz 几乎全为 0.00–0.01%。厂商集中度极高:所有 responder 里 99.78% 是 Google 的设备,initiator 里 61.11% 是三星。爱丁堡 2022 年的调查也印证:面向消费者、官方声明支持 RTT 的 AP 只有 Google Wi-Fi / Nest Wi-Fi Router / Nest Wi-Fi Point 三款

    与其说"AP 默认关闭",不如说 "FTM 的可用性不取决于终端,而取决于对面那台 AP 有没有被人打开这个开关" —— 这个说法有双重实证支撑,也更准确。

    坑 3 的四类攻击(无认证的直接后果)

    攻击机制后果
    窃听 / 被动追踪估计多次 FTM 交换的差分 ToA,解多点定位方程组用户被隐蔽跟踪,受害者毫无察觉
    伪造 (spoofing)冒充 AP 返回假时间戳;或在会话中抢先发 ACK距离结果任意操纵
    LTF 前缀攻击甚至不必发完整 ACK —— 只发帧开头的 LTF 就够了攻击成本极低
    重放 (replay)拦截并重放合法的 FTM 响应绕过基于距离的门禁
    mc 把"用光速当尺子"这件事做成了,却忘了给尺子上锁 —— 在 mc 里,把距离改短的成本,仅仅是比合法设备早一点发出一段谁都能算出来的固定波形。
    3.3 Slide 3.3

    802.11az:把尺子锁起来

    正式编号 IEEE Std 802.11az-2022 —— 网上普遍写的"az-2023"是发布日期,不是编号

    az-2022
    正式编号(2022-12-03 批准 / 2023-03-03 发布)
    Amendment 4
    Enhancements for Positioning
    160 MHz
    带宽上限(mc 是 80)
    < 1 m
    典型精度目标(LOS 口径 0.4 m)
    别说 az 已"作废"。它的状态显示 Superseded,是因为已合并进 IEEE 802.11-2024 roll-up —— 这是转正,不是废止

    技术核心一:PASN —— 让"未关联也能安全测距"成立

    技术核心二:secure HE-LTF —— 把训练序列本身变成密文

    PTK(经 PASN 或 WPA2/WPA3 建立) 内嵌 KDK(Key Derivation Key) secure LTF key seed(PTK 生命周期内有效) + secure LTF counter(每次测量递增) 保证一次性 复用即完全失效 KDF → Validation SAC + 双方各自的 LTF 生成密钥 比特映射到活跃子载波上的 64-QAM 符号 → 伪随机波形 活跃子载波数:20 MHz → 122 个 40 MHz → 242 个 80 MHz → 498 个
    图 3.3|secure HE-LTF 的密钥派生链。这是 az 唯一真正的新东西。
    别写 secure LTF 的具体密钥位长。两篇论文口径不一(128-bit vs AES-256),用"基于 AES 的单次性伪随机序列"最稳

    技术核心三:MU 测距 —— 三种新模式

    TB / NTB

    触发式与非触发式测距。AP 用 802.11ax MU-MIMO 同时为多个终端测距,最高 8×8

    被动测距

    AP 广播帧,终端只接收不发射,基于 TDoA 做双曲定位。并发终端数理论上无上限,且终端无法被追踪。

    单 TxOP 内完成

    用短的 PHY 层 NDP 替代 mc 的较长 MAC 帧,整个协议压进一个 TxOP → 可扩展性 + 省电 + 大幅减少占用信道时间。

    实测:az 相对 mc 到底强在哪(Arista 等,企业级 AP,105 次 FTM 交换/会话)

    但决定成败的还是标定,不是协议版本(真值 6 m)

    配置20 MHz40 MHz80 MHz
    未校准 responder71.89 m47.89 m66.07 m
    已校准 responder10.96 m7.45 m6.36 m(误差 0.36 m)
    az 的关键不是把精度从 1–2 米推到 1 米以内 —— 而是把那把尺子的刻度本身变成了只有通信双方才知道的密码:攻击者可以听到波形,却无法预先算出下一段该长什么样。
    3.4 Slide 3.4

    802.11bk (2025):320 MHz,以及一个中国式死结

    正式名 Amendment 3: 320 MHz Positioning(2025-05-28 批准 / 2025-09-05 发布)

    bk 干的事情非常单一

    把带宽从 160 拉到 320 MHz,其余全部继承 az(包括全套安全机制)。官方 scope 原文写得很直白:"enhances the Fine Timing Measurement protocol to make use of 320 MHz wide channels available with the IEEE 802.11be PHY and MAC"。

    bk 没有发明新机制,它是一次"把 az 接到 Wi-Fi 7 的 PHY 上"的适配。理论支撑是 Cramér-Rao 下界:带宽越大,ToA 估计的方差下界越低。

    为什么这一步是冲着 UWB 去的

    UWB蓝牙信道探测Wi-Fi FTM (bk)
    带宽500 MHz / 1 GHz40 × 2 MHz320 MHz
    功率谱密度−41.3 / −31.3 dBm/MHz17 dBm/MHz17 dBm/MHz(高出近 60 dB)
    硬件需专用芯片需 BT 5.4+你家里已经有的那台路由器

    UWB 带宽更大,但发射功率谱密度被压得极低(比 Wi-Fi 低约 58 dB),所以作用距离有限(LOS <15 m)、且需要专门硬件。Wi-Fi 到 320 MHz 时带宽已接近 UWB 的量级,而功率高出近 60 dB,硬件还是现成的。

    死结:320 MHz 信道只存在于 6 GHz 频段

    5 GHz 频段物理上排不下连续 320 MHz。所以 bk 的全部价值,完全押在 6 GHz 对 Wi-Fi 开放这一件事上。

    美 / 加 / 韩 欧盟 / 英 / 日 / 印 / 澳 中国 592564257125 MHz 全部 1200 MHz 免许可开放给 Wi-Fi Wi-Fi 480 MHz 固定与卫星业务 未明确划分(技术试验) 已划给 IMT(5G/6G) 2023-07 划分 · 2026-05 批复 6G 试验,事实锁定 320 MHz ← 一条 802.11bk 信道需要这么宽 中国那一条上,这把尺子目前放不下
    图 3.4|全球 6 GHz 频谱划分对照(截至 2026-08)。中国是主要经济体中唯一没有把任何 6 GHz 频谱开放给 Wi-Fi 的国家。

    中国 6 GHz 政策时间线(本 Part 信息量最大的一页)

    802.11bk 把 Wi-Fi 测距推进到 UWB 的门口,代价是它把全部筹码押在了 6 GHz 上 —— 于是一个纯粹的物理层精度问题,在中国变成了一道频谱行政审批题。
    3.5 Slide 3.5

    三代对照 · 以及那三个不同的时间点

    标准发布 ≠ 芯片出货 ≠ 你能买到

    特性802.11mc802.11az802.11bk
    正式编号IEEE 802.11-2016 (REVmc)IEEE 802.11az-2022IEEE 802.11bk-2025
    修订案标题—(维护性 roll-up)Amendment 4: Enhancements for PositioningAmendment 3: 320 MHz Positioning
    批准 / 发布2016 年2022-12-03 / 2023-03-032025-05-28 / 2025-09-05
    信道带宽20–80 MHz20–160 MHz20–320 MHz
    工作频段2.4, 5 GHz2.4, 5, 6 GHz2.4, 5, 6 GHz
    典型精度1–2 m<1 m<0.1 m(目标)
    一站对多站测距
    MU-MIMO最高 8×8最高 8×8
    单 TxOP 内完成 / LTF 重复✗ / ✗✓ / ✓✓ / ✓
    MAC 帧保护
    PHY 层 LTF 保护
    被动测距
    终端 APIAndroid 9 (2018)Android 15 (2024, NTB)
    Android 16 (2025, secure ranging)
    截至 2026-08 无公开终端支持
    802.11mc802.11az802.11bk 201620182020 202220242026 发布 → API +2 年 → 买得到 +3 年 ? 发布 3 年半,「真的买得到」这一格仍未闭合 2025-09 发布,后两格空白 标准发布 OS 有 API 真的买得到
    图 3.5|虚线未闭合的那一格,就是整页的论点。

    ③ 的实测证据(2026 年 3 月的一手硬件测试)

    设备声称实测结果
    Google Pixel 9aAndroid 支持 az未发现任何 secure FTM 功能
    Google Nest Wifi Pro新一代 AP实际未对外暴露 802.11az 能力
    Aruba AP-734企业级 AP极少数公开宣称支持 secure FTM 的产品之一
    某开发板(NDA,未点名)声称完全符合 802.11az只实现了 PMF,没有 secure HE-LTF,没有任何物理层保护。厂商确认:受架构限制,不支持也不计划支持

    这里有一个特别值得点破的层次 —— 三种不同程度的"不可用":

    "支持 802.11az"这个说法在市场上是没有约束力的 —— 它可以只意味着"管理帧加密了",而距离本身依然可以被改。
    802.11az 发布已经三年半,安全测距在纸面上完备、在 Android API 里可调用、在你手上的旗舰机里测不出来 —— 标准的时间和产品的时间从来不是同一条时间轴,而 az 卡住的恰恰是它唯一真正新增的那一层:物理层。
    3.6 Slide 3.6

    一次完整的 FTM 会话

    从扫描到上报,以及 PASN 到底插在哪一步

    ISTA(手机) RSTA(AP) ① 发现 Beacon / Probe Response 检查 Extended Capabilities 里的 FTM Responder / Initiator 能力位 ② PASN az 新增 mc 无此段 authentication 帧交换 ⇄ 🔑 建立 PTKSA → PTK → 内含 KDK ③ 协商 Initial FTM Request(携带 Ranging Parameters) ACK Initial FTM_1(responder 可修改参数) burst 数 · burst size · duration 250μs–128ms · min delta FTM · 信道与带宽(可与 BSS 不同)· ASAP ④ 测量 FTM_2 (回传 t₁,₁ 和 t₄,₁) → ISTA 此时才算得出第 1 个 RTT ACK FTM_3 (t₁,₂, t₄,₂) … 共 n 帧 → n−1 个 RTT az 场景:NDP 里的 HE-LTF 由 KDK 派生的密钥生成(secure HE-LTF) ⑤ 上报 LMR(Location Measurement Report)
    图 3.6|完整会话时序。PASN 位于阶段 ① 与 ③ 之间,是一次独立的 authentication 帧交换,不属于 FTM 帧序列本身。

    这个位置正是攻击面所在

    时间开销与刷新率

    ~30 ms
    单次测量典型耗时
    ~30 个
    一个 AP 每秒最多服务的终端数(还没算数据流量)
    20–30 ms
    单 burst 实测(含最多 5 次测距)
    < 1 s
    32 个 burst 的总耗时

    这正是 az 引入 MU 测距和被动测距的动机:mc 的点对点模型在密集部署下会先撞上信道时间的墙,而不是精度的墙。

    精度 ↔ 开销的权衡(Qualcomm 实测,2×2、5 GHz、80 MHz)

    平均的 burst 数90% 分位测距误差叠加 Kalman 跟踪后
    1135 cm不到 0.5 秒即可压到 5 cm (P90) / 7 cm (P99)
    3239 cm

    功耗

    别编 FTM 的绝对功耗数字(mJ / mW)。目前没有可引用的一手实测,用"短 NDP / 单 TxOP / 可完全被动"这类机制性表述最稳。
    一次 FTM 会话不是"一次测量",而是几十次测量的统计平均 —— 把 90% 误差从 1.35 米压到 0.39 米,靠的不是更好的算法,而是把 32 个 burst 的时间从信道里买下来。精度、刷新率、吞吐量三者共用同一份预算,你只能挑两个。

    Part 3 主要来源:IEEE SA 官方页面(802.11az/7226、802.11bk/11117)· arXiv:2603.18687(KU Leuven COSIC + JKU Linz,2026-03,含商用设备实测)· arXiv:2511.17935(Arista,mc vs az 实测)· arXiv:2509.03901(AGH + Intel,含 az 任务组主席 Jonathan Segev)· arXiv:2303.03766(TII)· Qualcomm Wi-Fi Ranging 白皮书 · 工信部 2026-05-08 批复 ·《无线电频率划分规定》2023-07-01 施行 · source.android.com/docs/core/connect/wifi-rtt

    PART 4

    从实验室到现场
    工程现实与误差治理

    厂商说 21 厘米,学术说亚米,第三方实测说 3 米 —— 三个数字都没撒谎,因为它们回答的根本不是同一个问题。这一部分讲清楚:误差从哪来、怎么治、以及测距这件事的伦理边界在哪。

    1. 真实精度三档
    2. 误差解剖与治理
    3. 混合定位
    4. 非合作定位
    5. 隐私与安全
    4.1 Slide 4.1

    真实精度到底是多少

    三档精度差了一个数量级,而且每一档的口径都不一样

    厂商宣称

    受控条件、自家参考设计、P90 口径。
    21 cm(室内 LoS,5 GHz/80 MHz,32 burst)
    11 cm(点对点)
    <10 cm(加 Kalman)

    回答的是:"芯片能做多好"

    学术实测

    标定后、算法处理后、静态为主。
    67% 亚米级,90.5% RMSE<2 m
    前提:"只要 AP 偏置做过标定"

    回答的是:"标定之后能做多好"

    消费级实测

    未标定、含运动、含遮挡。
    MAE 3.04 m,RMS 4.96 m
    同期 UWB-A 整体 MAE 0.27 m —— 差 11 倍

    回答的是:"用户口袋里真实发生了什么"

    把学术那档拆开看,才是真相

    条件亚米级比例样本
    全 LoS 环境95.2%21 组试验
    整体(静态,已标定)67%42 组试验
    含 NLoS 的环境38%21 组里 7 组
    一旦人走动起来22.2%全部动态试验

    NIST 分场景实测:本 Part 最硬的一张表

    9 m630 2.350.451.26 2.348.661.021.32 LoS 走廊LoS 户外隔墙 跨楼层办公覆盖住宅覆盖住宅极限 LoS 走廊反而比隔墙 NLoS 差 1.9 倍 Wi-Fi RTT (MAE) UWB-A (MAE) NIST《A Performance Comparison of Wi-Fi RTT and UWB for RF Ranging》(2024-03) 测距 1–100 m,10 Hz,三脚架 1.55 m
    图 4.1|整体口径:Wi-Fi RTT MAE 3.04 m / RMS 4.96 m;UWB-A MAE 0.27 m。但下面那个覆盖率反转更重要。

    覆盖率反转 —— FTM 真正的工程位置

    住宅极限对角 16 组测点:Wi-Fi RTT 全部 16 组出结果,UWB-A 和 UWB-B 只有 6 组能测出来。车库 9 个点,也只有 Wi-Fi RTT 全部给出估计。

    精度输、覆盖赢。

    最反直觉的一条

    真正排第二的影响变量不是"LoS/NLoS",是多径环境类型。NIST 的解释:走廊里"有数百条来自墙、地板、天花板、两端墙面的反射路径",而穿一两道干墙只是衰减 + 一点延迟。

    "有没有直视"不如"周围有多少强反射面"重要。

    为什么 90 分位比均值更有意义

    六变量影响排序(按量级与可控性重排)

    #变量量级证据是否可工程控制
    1带宽带宽每翻倍误差约减半;平台 KPI 20→80 MHz 从 8 m 收到 2 m可(选 5 GHz / 80 MHz)
    2多径环境(走廊/金属/开阔)同为 LoS,走廊 2.35 vs 户外 0.45;金属遮挡 RMSE 涨 3 倍部分(布点避金属长廊)
    3AP / 机型标定未标定偏置最高 67.73 m完全可控,收益最大
    4机型 × AP × 频段组合Pixel 6 Pro 配 Linksys 5 GHz 采样成功率 0.00%可(选型验证)
    5用户运动静态 σ 0.038–0.205 m → 行走 σ 0.367–1.135 m不可控,只能靠融合
    6burst 数BS 2→5 标准差降 30–70%,BS>8 几乎无收益可,但收益早饱和
    FTM 的三档精度不是同一个东西的三种测法,而是三个不同的问题:厂商测的是"芯片能做多好",学术测的是"标定之后能做多好",消费级测的是"用户口袋里真实发生了什么"。工程上你只能拿到第三档,除非你自己动手把它拉到第二档。
    4.2 Slide 4.2

    误差解剖:四类误差、四种药、四个诊断信号

    先学会判断自己遇到的是哪一类,再谈治理

    随距离增长 → ↑ 零均值 ↓ 非零均值 随机噪声 静态 σ 0.04–0.21 m|行走 σ 0.37–1.14 m 药:burst 平均(2→5)+ 滤波 诊断:stdDevMm、滑窗方差、成功率 σ 降 30–70%;P90 135→39 cm(32 burst) 离群点 NLoS × 运动|拽走均值、方差不动 药:先剔除,后滤波 诊断:残差峰度、与 PDR 预测的马氏距离 遗传滤波+离群检测:静态 49.2% / 动态 47% 系统偏差 5 GHz 0.24–1.85 m|2.4 GHz 11.7–67.7 m 药:(机型×AP×频段)标定表 诊断:回归截距≠0 且斜率≈1 补偿后各距离 RMSE ≈ 0 ← 收益最大 多径正偏 走廊 LoS 平均误差 +1.91 m|金属 2.26–2.94 m 药:首径检测 / 中位数 / 截尾均值 诊断:RTT−RSSI 模型距离;残差恒正 RSSI 离群检测:NLoS 静态 +41.3% 第五类在定位层:几何劣化 GDOP —— 药是布点优化 + 门限剔除,诊断是可见 AP 数与方位圆方差
    图 4.2|误差四象限。横轴"是否随距离增长",纵轴"是否零均值" —— 两个问题就能定位到象限,象限决定用哪种药。

    为什么标定表是第一优先级

    偏置是(机型 × AP × 频段)三维的,不是"每 AP 一个 offset"。Xiaomi Mi 10T 在 2.4 GHz 上的固定偏置是 64.91 / 67.73 米 —— 不标定的 2.4 GHz FTM 等于没有。(完整标定表见 Slide 2.4)

    而这一项完全可控、成本最低、收益最大:一次线性回归、一张查找表,就能把 RMSE 拉到接近 0。

    burst 平均的收益天花板

    Burst Size258142029
    Pixel 4a @Google 5G1.150.670.680.670.660.66
    Pixel 3a @Google 2.4G3.321.091.041.081.251.05
    Pixel 3a @Linksys 5G0.920.620.600.590.570.59
    单位:测距标准差 (m)。配套时间成本:Pixel 3a 212→333 ms,Pixel 6 Pro 380→587 ms

    BS=5 时收益的 90% 已经到手,BS>8 的小改善"并不总能 justify 注入网络的额外定位流量"。

    第六类"误差":根本测不出来

    互操作性失效在论文里罕见但工程上致命 —— Pixel 6 Pro + Linksys Velop 5 GHz 的采样成功率是 0.0000(10 个 burst size 配置全是 0)。而且不是越新越贵越好:Pixel 6 Pro 是当时最新款,反而最不稳定。选型必须做交叉验证矩阵,成功率 <90% 就该报警。

    四类误差里,只有一类不需要任何算法就能治好 —— 系统偏差,而它恰恰是量级最大的那一类(2.4 GHz 上能到 65 米)。工程队伍最常犯的错,是跳过一张标定表,直接去调卡尔曼的参数。
    4.3 Slide 4.3

    混合定位:工程价值 80% 在融合层

    测距是原料,融合才是产品

    提供什么致命短板
    FTM / RTT绝对距离约束,与天线增益、发射功率无关单点噪声大、NLoS 正偏、需 ≥3 AP、耗电与信令开销
    RSSI免费、无需 AP 配合、密集可用分辨率粗;但特别适合当 LoS/NLoS 判别器
    PDR连续相对位移,高频率、零基础设施误差随时间累积漂移(超过约 70 m 行进距离即不可靠)
    地图硬约束(墙不能穿)需要底图 —— 但这是零硬件成本的一刀
    平均定位误差 2.58 m 纯 RTT 指纹 CNN 59.4% < 3 m 1.21 m + 粒子滤波 81.2% < 2 m 0.41 m + PDR + 地图 94.2% < 1 m ÷2.1 ÷3.0 总计 ÷6.3 HPIPS, Sensors 2020, 20, 6795 约 800 m² 场地、8 个 AP、毫米级光学动捕做真值
    图 4.3|融合阶梯。总提升 6.3 倍,其中滤波贡献 2.1 倍,PDR + 地图再贡献 3.0 倍 —— 四倍的提升出自不产生任何一次测距的那一层。

    RSSI 融进来的两条独立价值

    ① 当离群检测器(不参与解算,只判真伪)

    把 RSSI 路损模型推的距离和 RTT 距离对比,差太多就丢掉这次测量。
    NLoS 环境静态改善 41.3%、动态 14%。

    ② 当互补特征(真正参与解算)

    不确定性区间宽度对比(90% 置信):混合最紧;纯 RTT 比混合宽 4–50%;纯 RSS 比混合宽 100–200%
    融合不只提精度,更提"置信度可信"。

    滤波器选择的实测排名(与单历元最小二乘基线比)

    算法静态平均改善动态平均改善
    粒子滤波32%
    粒子滤波 + RSSI 离群检测40%
    网格滤波 + RSSI 离群检测40%
    遗传滤波 + RSSI 离群检测49.2%(最佳)47%

    动态场景的关键证据:单历元最小二乘平均 RMSE 2.79 m,且"位置估计不能正确跟随行人路径,多数情况下把行人放进了错误的房间"。作者由此直接得出"PDR 模型在定位算法中的重要性"。这句话就是"80% 价值在融合层"的最佳注脚。

    工程分工建议

    角色技术更新率职责
    绝对锚FTM / RTT低(0.2–1 Hz,受 burst 耗时 212 ms–1.7 s 限制)消除 PDR 漂移,给全局坐标
    相对连续PDR / IMU高(50–100 Hz)提供轨迹连续性与航向
    真伪判别RSSI与 RTT 同步LoS/NLoS 判定、离群剔除
    硬约束室内地图静态禁止穿墙、吸附到通道
    把 FTM 当主定位源,会得到一串在房间之间乱跳的点;把 FTM 当 PDR 的,才会得到一条能用的轨迹 —— 从 2.58 m 到 0.41 m 的六倍提升里,有四倍出自不产生任何一次测距的那一层。
    4.4 Slide 4.4

    非合作定位:AP 不开 FTM 的时候怎么办

    一个不需要任何 AP 配合的系统,打败了楼里已经装了企业级 FTM AP 的官方服务

    不用 FTM,用"数据帧 + ACK"

    众包轨迹反推 AP 位置:两阶段设计

    阶段一 · AP 发现与定位

    行人在户外用 GPS 定位;进楼后 GPS 丢失,改用惯性航迹推算(PDR)继续维持位置,沿途持续对所有可见 AP 做单向测距。多条轨迹的测距集合 → 反解 AP 坐标 → 存为锚点。

    每楼层收 10 条行人轨迹行进估计里程超过 70 m 就截断(超过这个距离 PDR 已不可靠)。

    AP 定位误差中位数 1.43 m

    阶段二 · 客户端定位

    新用户进楼,从数据库取锚点,只靠单向测距做多边定位。检测到 AP <3 个的点直接丢弃(欠定)。

    跨 4 栋校园楼实测:均值 3.41 m、中位数 3.06 m、标准差 1.63 m

    MIT 的平行路线给出同一条线:单边 RTT 对非合作 AP,"典型 3–4 m"。两个独立来源重合。

    平均定位误差(含标准差误差棒) 13.33 m iOS Core Location 11.01 m RSSI 指纹 SOTA (XGBoost / RF) 7.71 m Android FLP + Aruba 楼里真装了 FTM AP 3.41 m PeepLoc 非合作 不需要任何 AP 配合
    图 4.4|同一批测试点上的四系统对比。PeepLoc 归因于官方方案的两个缺陷:客户端与 AP 之间未校正的设备异质性(= Slide 4.2 的标定问题),以及 AP 坐标本身有误差。

    精度上限从哪来(可诚实讲的天花板)

    隐私争议 —— 这一页必须点破的一层

    同一个原语,两种伦理后果

    同样的"NDP → ACK"测距,可以让手机定位自己,也可以让第三方定位屋里任何一台开着 Wi-Fi 的设备。Wi-Peep 的原始设定就是用一架带 GPS 的无人机绕楼飞,定位楼里的设备。

    四条争议

    • AP 主人从未同意成为定位锚点,也没有退出机制
    • 众包出的 AP 坐标数据库本身是建筑内部结构的敏感测绘
    • 同一原语可用于被动定位屋内设备(无人机 / 隔墙)
    • 802.11az 的到来并不解决它 —— az AP 部署后其位置反而可以被众包模型推断或精化
    非合作定位最刺眼的地方不是它只有 3.41 米,而是它在一栋已经部署了企业级 FTM AP 的楼里,比官方定位服务还准一倍多 —— 这说明合作式定位真正的瓶颈从来不是协议,而是没人去做标定和 AP 测绘;而它最刺眼的伦理后果是,让 AP"配合"这件事,从此变成了可选项。
    4.5 Slide 4.5

    隐私与安全:能被测量的距离,就能被伪造

    今天任何把 FTM 距离当作信任凭证的设计,都是错的

    攻击面一:伪造距离 —— 三个层次,加密都拦不住

    手法时间粒度实测效果加密能防住吗
    逻辑层注入伪造 response 帧1 ps目标 15 m,实得 14.20–15.26 m(1000 次会话)❌ 否
    逻辑层重放整个会话1 ps4 m → 1.72 m;20 m → 19.40 m❌ 否
    混合层重放 + 改 PHY 参数(不改任何时间戳)100 ns20 MHz:−3877 m;16-QAM:+916 m;组合可把 20.24 m 压到 2.40 m❌ 否
    物理层ACK 欺骗把受害者"搬"到攻击者位置,误差 ≤1.47 m;副作用 σ 飙至 11.58 m❌ 否
    物理层Overshadow 重放 / 提前径注入1 ps需功率高于合法信号❌ 否
    信令层Cicada(预测前导码 / 载荷)预测准确率 99%❌ 否
    这些攻击在帧被加密保护时依然成功 —— WPA3-Personal 也无济于事,因为共享口令可推出密钥;且重放 / 物理层攻击不依赖解密。伪造 2–20 m 的距离,平均偏差不超过 75 cm:攻击者不仅能骗,还骗得很精准。

    混合层最精彩的一击:不改时间戳,只改物理层参数

    真值 15.61 m 20 MHz 带宽 −3877.20 m 40 MHz 带宽 −1476.09 m 短保护间隔 +138.14 m QPSK 1/2 +616.92 m 16-QAM 1/2 +915.73 m 一个不改时间戳的重放,能让 15.6 米变成 −3877 米 机理:改变帧的 OFDM 符号数,从而改变 t₃ 注入窗口约 1.5 ms,反复重发即可命中

    厂商固件的"防线"参差不齐

    网卡接受的距离范围会话终止PHY 校验Min-Delta 校验
    Qualcomm Snapdragon 855[−22.5, +∞]
    Intel AC-8260 v31[−∞, +∞]
    Intel AX-200 v55[−∞, +∞]
    Intel AX-200 v57/58[0, +100]

    没有一款做物理层校验,全部允许重传;只有最新的 Intel 固件做 Min Delta FTM 窗口校验。作者的定性判断:这暴露的是协议设计的根本缺陷 —— 能代答 ACK 的对手就能随意改距离,根本解法必须保护 ACK 帧本身

    攻击面二:位置追踪 —— MAC 随机化是漏的

    产业侧:从"探针盒子"到"被动 FTM 观察者"

    上一代:Wi-Fi 探针

    手机 Wi-Fi 开着就会发 probe request,探针盒子据此拿到 MAC。央视 3·15 曾曝光:商场、超市、写字楼在用户毫不知情下抓取 MAC,有厂商将其转为 IMEI 进而关联手机号。

    MAC 随机化普及后这条路基本被打断,行业大规模转向计算机视觉。

    FTM 把这件事升级了一个维度

    探针盒子只能知道"有一台设备在附近",而被动 FTM 观察者能知道"这台设备在哪个坐标",精度到米级。

    而且 MAC 随机化在 FTM 场景下本来就是漏的(序列号可关联)。

    802.11az 的防护现状:设计得对,落地得糟

    机制解决什么弱点2026 年落地
    PMF 受保护管理帧MAC 层时间戳伪造完全依赖前置密钥;Personal 模式下同口令设备可推出 PTK开发板有实现
    PASN 预关联协商免关联建密钥独立模式不保证双向认证 → 中间人部分
    Secure HE-LTF物理层距离缩短计数器复用即失效;零功率 GI 射频难做;仿真显示波形贴近甚至超出发射频谱模板几乎无(连"全兼容"开发板都缺)

    落地障碍是硬的,不是懒:零功率 GI 要求发射链在单个 OFDM 符号内快速受控开关,与围绕循环前缀设计的传统射频不兼容;加 secure HE-LTF 要新的基带硅片,是数年设计周期,而高保障用例太少,厂商没有商业动机。

    降级攻击:模式级 —— 阻断 secure FTM 请求,逼对方回落到传统 EDCA 测距;波形级 —— 转发未受保护的变体,使 responder 改用确定性训练序列。而配置越严格(拒绝不安全回落),反而越容易被简单干扰打瘫(DoS)。

    结论建议(可直接引用)

    secure FTM "更适合中低风险应用,而非高保障的访问控制" —— 适合室内导航与分析,不适合作为无钥匙进入或基于距离的授权的主要安全锚。高风险场景必须用 802.1X 企业网做双向认证,并强制要求 PTK 与 secure HE-LTF。

    合规速查

    中国:《个人信息保护法》把行踪轨迹列入敏感个人信息;GB/T 45574-2025 明确把"连续精准定位轨迹信息"列入。米级 FTM 轨迹 → 单独同意 + PIA + 最小必要 + 加密存储
    欧盟:位置数据属 GDPR 个人数据,需合法性基础(通常是同意),高风险需 DPIA。

    802.11az 把安全做对了 —— 但对 2026 年货架上的手机来说它约等于不存在:Pixel 9a 上测不到任何 secure FTM,唯一公开宣称支持的是企业级 AP。所以今天任何把 FTM 距离当作信任凭证的设计(开锁、支付、门禁)都是错的;而反过来,任何以为"关掉定位就不会被定位"的用户也是错的 —— 明文时间戳让旁观者拿到的精度和参与者一模一样。

    Part 4 主要来源:arXiv:2509.03901(综述)· MDPI Algorithms 15(12):464(爱丁堡,消费级实测)· NIST RF Ranging (2024-03) · Raja & Groves, J. Navigation (UCL, 2025-12) · Zola & Martin-Escalona, Computer Communications 229 (2025) · HPIPS, Sensors 2020, 20, 6795 · arXiv:2506.18317(UIUC PeepLoc)· Schepers et al., ACM WiSec'21(攻击实证)· Schepers & Ranganathan, PoPETs 2022(2)(隐私)· arXiv:2603.18687(az 安全与落地)· Sensors 2026, 26, 284 · Horn, Appl. Sci. 14(17):7805 (MIT) · GB/T 45574-2025 ·《个人信息保护法》第 28/29 条

    PART 5

    产业格局
    WiFi FTM 在定位战争中的位置

    基础设施侧已经就绪,瓶颈全部在终端侧。而占据高价值场景的那一半终端,压根不在牌桌上 —— 这决定了 FTM 会先在哪里跑通。

    1. 芯片与 AP 侧
    2. 终端侧的结构性问题
    3. 四方对比
    4. bk 会终结战争吗
    5. 落地场景盘点
    5.1 Slide 5.1

    芯片与 AP 侧:基础设施已经就绪

    墙上那台路由器早就能测距了,问题从来不在这一侧

    芯片侧

    企业级 AP 侧

    已经就绪的部分

    芯片能力有了,企业级 AP 有了,标准有了,Android API 有了。边际部署成本接近零 —— 复用已经装在天花板上的 Wi-Fi。

    没就绪的部分

    存量 AP 绝大多数没打开 responder(实地普查 5 GHz 开启率 0.17%–1.56%);而更根本的问题在下一页 —— 终端

    FTM 的产业困境很少见:它不缺技术,不缺标准,甚至不缺硬件 —— 它缺的是有人去把那个开关打开。而愿意打开开关的前提,是终端侧有足够多的设备真的会用它。
    5.2 Slide 5.2

    终端侧:Android 有,iOS 没有

    这是 FTM 生态最大的结构性问题

    🤖 Android —— 有 API,但支持面窄

    • Android 9 (2018)WifiRttManager,支持 802.11mc
    • Android 15 (2024):支持 802.11az NTB 测距(API 35);CHARACTERISTICS_KEY_BOOLEAN_NTB_INITIATOR 查询能力
    • Android 16 (2025):加入 secure ranging,并推出统一的 Ranging 模块 —— 把 UWB、蓝牙信道探测、蓝牙 RSSI 测距、Wi-Fi RTT 收进同一套 API
    • 现实骨感:支持 RTT 的机型比例仍然不高,Pixel 系列最可靠

    🍎 Apple —— 不在牌桌上

    Apple 至今未开放 FTM API,走的是自家 UWB 路线(U1/U2 芯片 + Nearby Interaction 框架)。

    这不是疏忽,是战略选择:UWB 精度更高、Apple 能完全控制生态(AirTag、数字车钥匙、精确查找)。

    占据高价值场景的一半终端,压根不参与 FTM。

    而"支持"这个词在 Android 上也是打折的

    2026 年 3 月的一手硬件测试(详见 Slide 3.5):Pixel 9a 实测未发现任何 secure FTM 功能;某开发板声称"完全符合 802.11az",实测只做了 MAC 层 PMF,跳过了 PHY 层 secure HE-LTF,厂商确认因架构限制不做也不计划做

    由此推出一个重要判断

    FTM 更可能在 B 端先跑通,而不是 C 端手机导航。

    因为 B 端场景(资产追踪、AGV、工牌、巡检终端)有三个 C 端没有的条件:终端型号可控(可以只采购支持 RTT 的设备)、AP 可控(自己的场地,想开就开)、可以做标定和测绘(有专人、有预算)。而这三件事恰恰是 Part 4 证明的、决定精度的全部要素。

    FTM 的技术曲线和它的商业曲线是脱节的:技术上它已经能做到亚米级,但商业上它卡在"iOS 不玩、Android 支持面窄、AP 开关默认关"这三件互为因果的事情上。谁都不愿意先动 —— 这是典型的双边市场冷启动问题,而 B 端是唯一可以绕开它的地方。
    5.3 Slide 5.3

    竞争格局:FTM vs UWB vs BLE vs 5G

    四条路线,各有一块别人抢不走的地盘

    Wi-Fi FTMUWBBLE AoA5G 定位
    典型精度1–2 m (mc)
    <1 m (az)
    <0.1 m (bk 目标)
    <0.1 m(LOS)0.3–1 m(办公室)
    1–3 m(一般商用)
    1–3 m(室内需密集部署)
    现有基础设施✅ 已装在天花板上❌ 需专用锚点⚠️ 需带阵列的 AP/信标⚠️ 室内需 small cell
    终端渗透率Android 部分机型
    iOS 完全没有
    高端机(iPhone 11+、部分安卓旗舰)几乎所有手机(只需能收 BLE)所有手机(但需网络侧支持)
    作用距离(LOS)50+ m<15 m10–30 m蜂窝级
    功率谱密度17 dBm/MHz−41.3 dBm/MHz(低 58 dB)17 dBm/MHz
    单锚点成本≈ 0(复用)高(专用硬件)很高
    功耗(终端侧)中(Wi-Fi 收发)低(脉冲)极低
    典型场景室内导航、资产盘点、楼宇数字车钥匙、精确查找、工业高精客流分析、人员/资产追踪广域室内外连续定位

    三个必须点破的取舍

    这不是一场"谁精度更高"的竞赛。UWB 赢在能当信任凭证,BLE 赢在不需要终端配合,FTM 赢在不需要新硬件。三条护城河互不重叠 —— 所以最终格局大概率是分层共存,而不是谁替代谁。
    5.4 Slide 5.4

    802.11bk 会终结这场战争吗

    短答案:不会。但它会重画分界线

    如果 bk 的 0.1 m 兑现

    UWB 的精度护城河消失 —— 两者都进入分米级,而 FTM 的作用距离长 3 倍以上、功率谱密度高 58 dB、硬件是现成的。

    在纯"我想知道东西在哪"的场景里,UWB 就没有理由了

    但 UWB 短期无法被替代的地方

    数字钥匙:CCC 标准已锁定 UWB,汽车厂商的设计周期以年计。
    安全测距:UWB 的抗中继攻击是物理层设计,而 FTM 的 secure HE-LTF 连"全兼容"开发板都没实现
    功耗:UWB 脉冲式收发比 Wi-Fi 省电得多,无源标签场景无解。

    更有用的预测框架:按"是否需要专用标签"分层

    被定位物自带 Wi-Fi 手机 · 平板 · AGV · 巡检终端 · 工牌 → 用 Wi-Fi FTM 边际成本 ≈ 0,只要 AP 开了 responder bk 落地后精度进分米级 被定位物无源 / 无 Wi-Fi 托盘 · 工具 · 商品 · 车钥匙 · 行李 → 用 UWB / BLE 标签 必须贴一个东西上去,那就选最优的那个 数字钥匙场景 UWB 已被标准锁定 分界线不是精度,是「有没有必要额外贴一个标签」

    真正该盯的三个变量(而不是精度数字)

    ① 6 GHz 频谱政策

    320 MHz 信道只存在于 6 GHz。中国 6425–7125 已划给 IMT,5925–6425 未定 —— bk 的 0.1 m 在中国目前没有落脚点。业界视 2026–2027 为最后窗口。

    ② iOS 是否开放 FTM

    这是最大的单一变量。一旦开放,FTM 的终端渗透率一夜之间翻倍,AP 厂商打开开关的动机随之出现。Apple 目前没有任何迹象要这么做。

    ③ az 芯片真实出货量

    不是"宣称支持",而是PHY 层 secure HE-LTF 真的做进硅片的出货量。这需要新的基带设计,数年周期。

    一个反向风险:如果 UWB 因数字钥匙普及而边际成本趋近于零(每台手机、每辆车都标配),FTM"不用新硬件"的成本优势会被侵蚀 —— 那时 UWB 也变成了"已经装好的东西"。
    bk 不会终结战争,因为战争的分界线从来不在精度那条轴上。真正的分界线是"被定位的那个东西,自己会不会说话" —— 会说话的(有 Wi-Fi 的)用 FTM,不会说话的贴标签,而贴什么标签取决于你要不要用这个距离去开锁。
    5.5 Slide 5.5

    谁在真的用它:落地场景盘点

    按"需要什么精度、能接受什么成本、当前用什么方案"三问,找 FTM 的真实切入点

    场景精度需求成本容忍度当前主流方案FTM 的机会
    仓储物流
    AGV / 叉车定位、库位核验
    0.1–0.5 m
    (库位级)
    UWB、二维码地标、SLAM⚠️ 精度暂不够,bk 落地后是最佳场景(AGV 都带 Wi-Fi)
    办公楼宇
    工位/会议室占用、访客引导、应急疏散
    1–3 m
    (房间级)
    BLE 信标、Mist BLE AoA、人工✅ 最现实的切入点 —— 精度够、AP 自己的、终端可控
    零售
    商品级导航、客流热力
    货架级 <0.5 m
    (导航 1–2 m)
    低(要算 ROI)Wi-Fi 探针(已被 MAC 随机化打断)、计算机视觉⚠️ 客流分析有隐私红线;商品级导航要等 bk
    制造业
    工具与在制品追踪
    0.3–1 mUWB、RFID⚠️ 多为无源资产,属于"要贴标签"那一侧
    医院
    设备/病床/人员定位
    1–3 m
    (房间级)
    中高BLE 信标、RTLS 专用系统✅ 房间级够用,且医院 Wi-Fi 覆盖本来就密
    C 端室内导航
    商场 / 机场找路
    1–3 m极低地图 App 的 Wi-Fi 指纹 + PDRiOS 缺席使其无法成为主方案

    三条选择场景的经验规则

    1. 1️⃣ 先看终端型号能不能控。能控(企业采购、自有设备)→ FTM 可行;不能控(面向公众的 C 端)→ FTM 只能当辅助源,不能当主方案。
    2. 2️⃣ 再看精度需求落在哪一档。房间级(1–3 m)→ 今天的 mc 就够;亚米级 → 需要标定 + 融合 + LoS 环境;分米级 → 等 bk 和 6 GHz。
    3. 3️⃣ 最后看被定位的东西有没有 Wi-Fi。没有 → 这个场景根本不属于 FTM,别硬上。
    FTM 最真实的切入点不是那些精度要求最高的场景(那些是 UWB 的),也不是用户最多的场景(那些卡在 iOS 上),而是"终端可控 + 精度要求房间级 + AP 是自己的"这个交集 —— 办公楼宇和医院。听起来不性感,但那是唯一三个条件同时成立的地方。

    Part 5 主要来源:Qualcomm Wi-Fi Ranging 白皮书 · arXiv:2603.18687(Aruba AP-734 / Pixel 9a 实测)· NIST RF Ranging (2024)(UWB 对比与覆盖率反转)· arXiv:2509.03901 Table 2(四方带宽/PSD/精度对比)· source.android.com/docs/core/connect/wifi-rtt · Android 15/16 发布说明 · Car Connectivity Consortium 数字钥匙标准 · Schepers FTM 无线普查数据集(AP 开启率)

    PART 6

    动手玩起来
    从一台手机到一套系统

    几十块钱、两块开发板,一个下午就能把 FTM 的噪声量级摸清楚。而从这个 Demo 到能用的系统,中间隔着的 80% 工作量既不是算法也不是协议。

    1. 最低成本实验
    2. ESP-IDF 跑通
    3. Android Demo
    4. Demo 到系统
    5. 未来三主线
    6. 三句话总结
    6.1 Slide 6.1

    最低成本的第一次实验

    先建立对噪声量级的直觉,再决定要不要押注

    方案 A · 手机 + AP(最快)

    • 一台支持 RTT 的 Android 手机 —— Pixel 系列最可靠(Pixel 3a/4a 在文献里表现最稳)
    • 一台开启 FTM Responder 的 AP —— Google Wi-Fi / Nest Wi-Fi Router / Nest Wi-Fi Point 是官方声明支持 RTT 的消费级选择
    • App:WifiRttScan(Google 官方示例)
    • ⚠️ 优先用 5 GHz。2.4 GHz 的偏置可能有几十米(见 Slide 2.4)

    方案 B · 两块 ESP32(最省钱)

    • 两块支持 FTM 的 ESP32 系列开发板,成本几十元
    • 一块配成 AP(FTM responder),一块配成 station(FTM initiator)
    • 跑 ESP-IDF 自带的 examples/wifi/ftm
    • 好处:ESP 之间互测比 ESP ↔ 手机稳定得多 —— 跨厂商互操作性是主要的坑
    ESP32 系列里不是每一款都支持 FTM(初代 ESP32 不支持),且 initiator / responder 角色的支持情况因型号而异。下单前务必核对 ESP-IDF 当前版本的芯片能力表。

    第一步要看的三个数字

    distance
    距离本身 —— 先在已知真距下看它偏了多少(这就是你的标定常数)
    stdDev
    标准差 —— 静止时应在 0.04–0.21 m,行走时会涨到 0.37–1.14 m
    成功率
    成功/尝试帧数比 —— 低于 90% 说明这个机型×AP 组合有问题

    先别急着写定位算法。把手机放在距 AP 1 米、3 米、5 米、10 米的地方各采一组,画一张"报出距离 vs 真实距离"的散点图 —— 你会立刻看到那条斜率≈1、截距≠0 的直线,那就是 Part 2 讲的系统偏差。

    这个实验的价值不在于得到什么数字,而在于亲眼看到误差的结构:一条平移的直线(可标定)、一片抖动(可平均)、几个野值(要剔除)。看过一次之后,Part 4 讲的所有治理手段都会变得显而易见。
    6.2 Slide 6.2

    用 ESP-IDF 跑通 FTM

    官方示例就在 examples/wifi/ftm

    核心 API 骨架

    // 1. 注册 FTM 报告事件
    esp_event_handler_register(WIFI_EVENT, WIFI_EVENT_FTM_REPORT, &ftm_report_handler, NULL);

    // 2. 配置并发起一次 FTM 会话
    wifi_ftm_initiator_cfg_t ftmi_cfg = {
      .resp_mac = { /* responder 的 MAC */ },
      .channel = 6,
      .frm_count = 32,  // burst 内的帧数:0/8/16/24/32/64
      .burst_period = 2, // 单位 100 ms
    };
    esp_wifi_ftm_initiate_session(&ftmi_cfg);

    // 3. 在事件回调里读结果
    wifi_event_ftm_report_t *e = (wifi_event_ftm_report_t *) event_data;
    e->rtt_raw / e->rtt_est  // 往返时延(ns)
    e->dist_est          // 估计距离(cm)
    e->ftm_report_data     // 每帧的详细数据

    ※ API 签名以你安装的 ESP-IDF 版本为准(近几个大版本有过字段调整),务必对照本地 esp_wifi.h 与示例 README。

    参数怎么调

    参数作用建议
    frm_count一个 burst 里的 FTM 帧数先试 8 或 16。Part 2 已证明收益在 5 帧左右就饱和,32 帧只是把时间成本翻倍
    burst_periodburst 之间的周期(100 ms 为单位)按你的刷新率需求定;连续测距对功耗和信道都是负担
    channel测距使用的信道优先 5 GHz,带宽越大分辨率越好

    标定流程(这一步不能省)

    1. 1️⃣ 在空旷处、LOS 条件下,把两块板固定在 1 / 3 / 5 / 10 米四个已知距离上
    2. 2️⃣ 每个点采一组(至少几十次会话),记录 dist_est中位数(不是均值 —— 分布右偏)
    3. 3️⃣ 对"报出距离 vs 真实距离"做线性回归,斜率应接近 1,截距就是你的标定常数
    4. 4️⃣ 把这个常数存进查找表,按(设备型号 × 对端型号 × 频段)三维索引
    跨厂商互操作性是最大的坑。ESP ↔ ESP 通常很稳,ESP ↔ 手机、手机 ↔ 第三方 AP 就可能出现"成功率 0%"这种情况(Part 4 有实测:Pixel 6 Pro + Linksys Velop 5 GHz 完全测不出来)。换组合之前先测成功率,别先写算法。
    把两块 ESP32 放在桌上互测一小时,你会得到比读十篇论文更扎实的直觉:原来那个"距离"是会跳的,原来它天生偏了 1.5 米,原来换个信道数字就全变了。这些都是文档不会告诉你的东西。
    6.3 Slide 6.3

    写一个最小的 Android 定位 Demo

    从 N 个距离解算一个坐标,代码不到 100 行

    前置检查与权限

    // AndroidManifest.xml
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-feature android:name="android.hardware.wifi.rtt" />

    // 运行时检查设备是否真的支持
    val ok = packageManager.hasSystemFeature(PackageManager.FEATURE_WIFI_RTT)
    val rtt = getSystemService(Context.WIFI_RTT_RANGING_SERVICE) as WifiRttManager
    if (!rtt.isAvailable) { /* 用户可能关了定位开关 */ }

    发起测距

    // scanResults 来自 WifiManager.scanResults,先筛出支持 RTT 的 AP
    val aps = scanResults.filter { it.is80211mcResponder }

    val req = RangingRequest.Builder()
        .addAccessPoints(aps)  // 一次最多 RangingRequest.getMaxPeers() 个
        .build()

    rtt.startRanging(req, mainExecutor, object : RangingResultCallback() {
      override fun onRangingResults(results: List<RangingResult>) {
        val good = results.filter { it.status == RangingResult.STATUS_SUCCESS }
            .map { r ->
                // ① 减掉标定偏置 ② 用 stdDev 当权重
                Measure(
                  d = r.distanceMm / 1000.0 - biasOf(r.macAddress),
                  w = 1.0 / (r.distanceStdDevMm / 1000.0).pow(2),
                  ap = apCoordOf(r.macAddress))
            }
        if (good.size >= 3) solve(good)  // 少于 3 个直接丢弃,别硬解
      }
      override fun onRangingFailure(code: Int) { /* 区分 AP 不支持 vs 信道太忙 */ }
    })

    ※ Android 15+ 若要用 802.11az NTB,需查询 CHARACTERISTICS_KEY_BOOLEAN_NTB_INITIATOR;Android 16 起有统一的 Ranging 模块。API 细节以官方文档当前版本为准。

    加权最小二乘解算的思路(30 行)

    可视化:把误差看出来

    把 AP 位置和解算点画在楼层平面图上,再画出误差椭圆(协方差矩阵的特征向量)。你会立刻看到 Slide 2.6 讲的 GDOP 效应 —— 走到 AP 凸包的角落,椭圆就会被拉成长条。

    这个 Demo 会给你一个残酷但有用的第一印象:点在房间之间乱跳。这不是你写错了,这是 Part 4 说的"单历元最小二乘平均 RMSE 2.79 m,多数情况下把行人放进了错误的房间"。看到这个跳动,你才会真正理解为什么融合层占 80% 的工程价值。
    6.4 Slide 6.4

    从 Demo 到可用系统还差什么

    算法只占工作量的 20%,测绘与运维占 80%

    最贵的一步:AP 位置的高精度测绘

    运维层:三件必须做的事

    标定表管理

    (机型 × AP × 频段)三维查找表。新机型上市要补,新 AP 型号要补。这张表就是你的核心资产。

    AP 变更检测

    AP 被搬动 / 更换 / 改功率 → 定位结果会与 PDR 预测发散。用这个发散量当监控信号,自动触发重测。

    坐标系统一

    楼层平面图、AP 坐标、地图约束、PDR 轨迹必须在同一个坐标系里。多楼层还要处理层高与楼层判定。

    产品级权衡:刷新率 / 功耗 / 精度

    用途需要的刷新率可接受的精度工程含义
    实时步行导航~1 Hz1–3 m必须融合 PDR,FTM 只做低频锚点(单次测距 212 ms–1.7 s,硬顶在这里)
    房间级占用检测0.1 Hz3–5 mmc + 简单三边即可,功耗很低
    资产盘点0.01 Hz1–3 m可以慢慢测、多 burst 平均,精度换时间在这里最划算
    安全授权(开锁)按需❌ 别做 —— 见 Slide 4.5,FTM 距离可被任意伪造
    一句话结论:算法只占工作量的 20%,测绘与运维占 80%。这不是贬低算法,而是说 —— 如果你的团队把时间全花在调滤波器上,而没有一张标定表和一份准确的 AP 坐标,那么再好的算法也救不了这个系统。而这恰恰是 PeepLoc 那个"非合作系统打败官方方案"的案例想说的全部。
    6.5 Slide 6.5

    未来五年的三条主线

    以及一个反向风险

    主线一 · bk + 6 GHz

    802.11bk 已于 2025 年发布,320 MHz 带宽把精度目标推到 <0.1 m

    但完全取决于 6 GHz 频谱政策。中国已把 6425–7125 划给 IMT、5925–6425 未定 —— 这一条在国内目前没有落脚点,业界视 2026–2027 为最后窗口。

    该盯的不是芯片,是工信部的文件。

    主线二 · 感知与定位合流

    802.11bf(WLAN Sensing)让同一套 Wi-Fi 硬件既能定位、又能感知 —— 呼吸检测、跌倒告警、房间内人数统计、手势识别。

    技术底座是同一个:都靠 CSI(信道状态信息)。FTM 测的是"你在哪",bf 测的是"你在干什么"。

    这可能比精度提升更能打开市场。

    主线三 · 终端生态破局

    iOS 是否开放 FTM,是最大的单一变量。

    一旦开放,终端渗透率一夜翻倍,AP 厂商才有动机打开那个开关,整个双边市场才能启动。

    Apple 目前没有任何迹象要这么做 —— 它在 UWB 上的投入(U 系列芯片、Nearby Interaction、数字车钥匙)都指向相反方向。

    反向风险:如果 UWB 因数字钥匙普及而边际成本归零 —— 每台手机、每辆车、每个门锁都标配 UWB —— 那么 FTM"不用新硬件"的核心优势就被侵蚀了,因为那时 UWB 也变成了"已经装好的东西"。CCC 数字钥匙标准锁定 UWB 这件事,长期看比任何精度指标都重要。

    如果只跟踪三个指标

    1. 工信部对 5925–6425 MHz 的划分决定 —— 决定 bk 在中国有没有戏
    2. Apple 是否在某个 iOS 版本里出现 FTM 相关 API —— 决定 C 端有没有戏
    3. 真正把 PHY 层 secure HE-LTF 做进硅片的芯片出货量(不是"宣称支持 az")—— 决定 FTM 能不能进安全场景
    这三条主线里,只有第二条(802.11bf 感知)是纯技术演进,另外两条都是政策和商业决策。这很说明问题:FTM 的天花板已经不是物理问题了。光速这把尺子早就够用,卡住它的是频谱审批表和一家公司的产品路线图。
    6.6 Slide 6.6

    三句话记住 WiFi FTM

    ① 它的本质是

    把每一颗 Wi-Fi 芯片变成一把纳秒级的尺子,用光速做刻度。
    四个时间戳、一条减法,让收发双方不需要同步时钟 —— 这是它能跑在几十块钱芯片上的全部秘密。

    ② 它赢在 / 输在

    赢在不用新硬件;输在终端支持不全、多径难缠、AP 要配合
    而这三个"输"里,只有多径是技术问题 —— 另外两个是商业问题,且互为因果。

    ③ 现在该做的

    如果你在做室内空间相关的产品 —— 买一台 Pixel 和两块 ESP32,先把噪声量级摸清楚,再决定要不要押注。
    一个下午的实验,胜过读十篇论文。你需要亲眼看到那条平移的直线、那片抖动和那几个野值。

    如果只带走一个判断

    FTM 已经不是一个技术问题了。光速这把尺子早就够用 —— 1 纳秒 30 厘米,802.11bk 的标准写得明明白白。真正卡住它的是三件跟物理无关的事:一家公司不开放 API,一份频谱划分文件,以及成千上万台从没被人打开过那个开关的路由器。

    所以判断 FTM 前景的正确方式,不是看下一代标准能到多少厘米,而是看这三件事有没有松动。

    Part 6 主要来源:ESP-IDF examples/wifi/ftmesp_wifi.h · developer.android.com WifiRttManager / RangingRequest / RangingResult · source.android.com/docs/core/connect/wifi-rtt · Google WifiRttScan 示例 App · IEEE 802.11bf (WLAN Sensing) · Car Connectivity Consortium · arXiv:2506.18317(AP 测绘成本的反例证据)

    附 A 附录 A

    术语速查表

    缩写全称一句话解释
    FTMFine Timing Measurement802.11mc 引入的精细时间测量协议,本篇主角
    RTTRound-Trip Time往返时延;Android 把 FTM 能力叫做 Wi-Fi RTT
    ToFTime of Flight飞行时间(单程);RTT 是双程,两者差一个 ÷2
    ToA / ToDTime of Arrival / Departure到达 / 发出时刻。t₂、t₄ 需要 ToA 估计
    TDoATime Difference of Arrival到达时间差定位,需基站间同步 —— FTM 正是为了绕开它
    AoA / AoDAngle of Arrival / Departure测角度定位,需天线阵列(BLE 5.1、SpotFi 走这条路)
    CSIChannel State Information信道状态信息,各子载波的复系数;ToA 超分辨和 WLAN Sensing 的共同底座
    LTFLong Training Field前导码里的长训练字段,ToA 估计所依赖的已知波形
    HE-LTFHigh Efficiency LTF802.11ax 的 LTF;az 的 secure HE-LTF 把它变成伪随机的
    NDPNull Data Packet空数据包;az 用它替代较长的 MAC 帧以省时省电
    PASNPre-Association Security Negotiation预关联安全协商,让"未关联也能安全测距"成立
    PMFProtected Management Frames受保护管理帧(802.11w),az 安全的第一层
    PTK / KDKPairwise Transient Key / Key Derivation Key成对临时密钥 / 密钥派生密钥,secure LTF 密钥链的起点
    LMRLocation Measurement Report测量结果上报帧
    GDOPGeometric Dilution of Precision几何精度因子;定位误差 ≈ GDOP × 测距误差
    LoS / NLoSLine of Sight / Non-Line of Sight视距 / 非视距
    PDRPedestrian Dead Reckoning行人航迹推算(计步 + 陀螺仪),FTM 的黄金搭档
    TSFTiming Synchronization Function802.11 的标准计时器,分辨率 1 μs = 150 米
    TxOPTransmission Opportunity传输机会;az 把整个测距协议压进单个 TxOP
    UWBUltra-Wideband超宽带,FTM 在精度上的主要对手
    附 B 附录 B

    关键文献与标准清单

    标准

    核心论文(按重要性)

    文献贡献
    arXiv:2509.03901
    Kosek-Szott 等(AGH)+ Jonathan Segev(Intel,802.11az 任务组主席)
    最权威的综述,30 页覆盖 180+ 篇;三代能力对照表、UWB/BTCS/Wi-Fi 横向对比的原始出处
    arXiv:2603.18687
    Antonijević 等(KU Leuven COSIC + JKU Linz),2026-03
    最新、最有信息量的一手实测:az/bk 安全机制细节 + 商用设备实测(Pixel 9a 无 secure FTM、开发板只做 PMF)
    arXiv:2511.17935
    Rajendran 等(Arista Networks),2025-11
    mc vs az 定量对比;校准前后的 71.89 m → 6.36 m
    Schepers et al., ACM WiSec'21FTM 安全奠基性工作:距离可任意伪造,加密拦不住
    Schepers & Ranganathan, PoPETs 2022(2)隐私分析:MAC 随机化被序列号侧信道击穿;被动观察者精度等同参与者
    arXiv:2506.18317(UIUC PeepLoc)非合作测距 + 众包 AP 定位,3.41 m 打败楼里的企业级 FTM 方案
    NIST, 2024-03
    A Performance Comparison of Wi-Fi RTT and UWB for RF Ranging
    权威中立的分场景对比;覆盖率反转的证据
    MDPI Algorithms 15(12):464(爱丁堡大学)消费级设备四类误差分解、机型差异、材料遮挡实测
    Computer Communications 229 (2025) 107980(UPC)burst size 收益曲线、(机型×AP×频段)标定表、互操作性失效
    MobiCom'18(Rutgers WINLAB + GM)开源平台上的 FTM 精度评测,"1 ns = 1 foot"的经典表述
    RADAR, INFOCOM 2000(微软研究院)指纹定位开山之作,中位 2.94 m 的原始出处

    工具链与文档

    写这份 PPT 时最重要的一条纪律:所有精度数字都必须带来源、测试条件(带宽、LoS/NLoS、设备型号)和统计口径(均值 / 中位数 / 90 分位)。不接受无条件的"精度 1 米"这类说法 —— 因为正如 Part 4 证明的,同一个"精度"词在厂商、学术和消费级三种语境下指的根本不是同一件事