第 18 章:RTT / FTM 测距 — 用 “喊话 + 掐表” 算距离
"光速是已知的。所以只要量准时间,时间就能变成距离——Wi-Fi 也能当尺子用。"
¶ 本章导读
前三章讲的都是 "怎么把数据传过去"。这一章讲一件听起来不太像 Wi-Fi 本职的事:用 Wi-Fi 测距离。
你打开手机地图,在商场里它能给你定位到 "你在 3 楼 A 区星巴克门口"——GPS 在室内基本失灵,靠的就是 Wi-Fi 测距。原理朴素得惊人:两台设备互相发一帧、各自掐表记录收发时刻,算出信号往返用了多少时间(RTT,Round-Trip Time),再乘以光速、除以二,就得到距离。
这套机制在 IEEE 802.11 标准里叫 FTM(Fine Timing Measurement,精细时间测量)——由 802.11mc(2016)首次引入,802.11az(2024 并入 802.11-2024)做了重大增强。它常被产品文档称为 Wi-Fi RTT 或 Wi-Fi Location。
用 "喊话 + 掐表" 算距离,也就是回声测距。 想象你站在山谷里对着对面的山喊一声,听到回声。如果你知道声音的速度,又掐表量出 "喊出去" 到 "听见回声" 之间的时间,就能算出山有多远。FTM 干的就是这事,只不过把 "声音" 换成 "无线电波"(光速传播),把 "喊一声听回声" 换成 "发一帧收一帧"。因为电波太快(30 万公里 / 秒),所以掐表必须精确到纳秒甚至皮秒级。
这一章沿这条线展开:
- 测距的核心原理:RTT 与距离的换算
- 角色:ISTA(发起方)与 RSTA(响应方)
- 经典 FTM(802.11mc):t1/t2/t3/t4 四个时间戳如何交换、如何算 RTT
- 测量调度:Burst、FTMs Per Burst、Min Delta FTM
- 误差来源:为什么室内测距没那么准
- 802.11mc vs 802.11az:差在哪、为什么 az 精度更高
- 802.11az 增强:基于 NDP 的测距、TB / Non-TB、安全测距、LMR
- 应用:三边测量如何实现室内定位
本章的技术细节对照
80211-2024.pdf(IEEE Std 802.11-2024)的 Clause 11.21.5(Timing Measurement)、11.21.6(FTM procedure)及 Clause 9(帧格式)逐条标注。
¶1 核心原理 — 时间怎么变成距离
¶1.1 一个朴素的物理公式
无线电波在空气中以光速 c ≈ 3×10⁸ m/s 传播。如果信号从 A 到 B 再回到 A,总共用了时间 RTT,那么:
1 | 单程时间 = RTT / 2 |
你朝对面山喊一声、听到回声用了 2 秒,声速约 340 m/s,那么山的距离 = 340 × 2 / 2 = 340 米。Wi-Fi 测距完全同理,只是 "声音" 换成光速电波。
¶1.2 为什么需要纳秒级精度
这里有个让人头皮发麻的数字:光在 1 纳秒(10⁻⁹ 秒)内走约 0.3 米。
| 时间误差 | 对应距离误差 |
|---|---|
| 1 ns | ≈ 0.3 m |
| 10 ns | ≈ 3 m |
| 1 ms(普通网络时延量级) | ≈ 30 万米 |
这就解释了为什么不能用 "ping 的往返时间" 来测距——普通时延测量精度太粗。FTM 必须在 PHY 层精确捕获 "帧的前导码出现在天线接口的那一刻",精度要到纳秒甚至皮秒级。FTM 帧里的 TOD/TOA 时间戳字段以皮秒为单位(§9.6.7.33)——正是这个量级,才撑得起上面说的 "纳秒甚至皮秒级" 捕获精度。
用秒表给百米跑计时还行,但给 "光跑过一个房间" 计时,相当于要分辨出 "千万分之一秒" 的差别——这就是 FTM 工程上最难的地方。
¶2 角色与帧 — 谁发起,谁响应
FTM 是不对称的,两个角色(§11.21.6.1):
| 角色 | 全称 | 比喻 | 谁来当 |
|---|---|---|---|
| ISTA | Initiating STA(发起方) | 喊话的人(想知道自己在哪) | 通常是手机 |
| RSTA | Responding STA(响应方) | 对面应答的山 / 已知位置的基站 | 通常是位置已知的 AP |
想定位的设备(ISTA)通常和多个位置已知的 RSTA 分别测距,再用三边测量算出自己的位置。
协商:先打个招呼
FTM 开始前要协商(§11.21.6.3):
| 帧 | 缩写 | 作用 |
|---|---|---|
| FTM Request | IFTMR(initial FTM Request) | ISTA 发起,请求测距,携带 FTM Parameters / Ranging Parameters |
| initial FTM | IFTM | RSTA 响应(应在 10 ms 内),含 FTM/Ranging Parameters 和 Status |
协商内容包括:测量格式与带宽、调度参数、每个 burst 发几帧等。
¶3 经典 FTM(802.11mc)— t1/t2/t3/t4 的舞蹈
这是 FTM 最经典、最该理解的部分。一次测量交换捕获四个时间戳(§11.21.6.4):
| 时间戳 | 在谁的钟上 | 含义 |
|---|---|---|
| t1 | RSTA | RSTA 发出 FTM 帧的时刻 |
| t2 | ISTA | ISTA 收到 FTM 帧的时刻 |
| t3 | ISTA | ISTA 发出 Ack 的时刻 |
| t4 | RSTA | RSTA 收到 Ack 的时刻 |
¶3.1 舞蹈的关键:t1、t4 要 "事后补发"
注意一个巧妙之处:RSTA 发 FTM 帧的瞬间(t1),它自己也不知道未来的 t4(Ack 还没回来)。所以 FTM 帧成对发送(§11.21.6.4):
- RSTA 发第一个 FTM 帧(FTM_1),双方各自掐表:RSTA 记 t1、ISTA 收到记 t2。注意 FTM_1 里携带的 t1/t4 字段填的是
(0, 0)——因为这是第一帧,还没有上一轮的时刻可填(§11.21.6.4,Figure 11-45)。 - ISTA 回 Ack,ISTA 记 t3,RSTA 收到记 t4。
- RSTA 在下一个 FTM 帧(FTM_2,即 follow-up)里,把上一轮捕获的 t1 和 t4 告诉 ISTA——这两个值是 RSTA 自己钟上的原始时刻(不做任何频偏修正)。
这样 ISTA 就集齐了 t1、t2、t3、t4 四个值。所以 "第 N 帧带第 N−1 轮的 t1/t4" 是常态:每个 FTM 帧既给本轮掐 t1,又捎回上一轮的结果。
山(RSTA)喊出回声的瞬间,它并不知道你什么时候听到。所以它先喊一声(记下 "我几点喊的"=t1),等你应答传回来(记下 "我几点听到你应答"=t4),再在下一句话里把 "我几点喊的、几点听到你" 一并告诉你。你这边自己记着 "我几点听到山的喊声"=t2、"我几点应答的"=t3——四个时刻凑齐,就能算账了。
¶3.2 RTT 计算
集齐四个时间戳后:
1 | RTT = (t4' − t1') − (t3 − t2) |
- (t4' − t1'):RSTA 从 "发出 FTM" 到 "收到 Ack" 的总耗时——RSTA 捎回的 t1/t4 是它自己钟上的原始值,ISTA 要先换算成自己钟上的 t1'、t4'(补偿两台钟的频率偏移)。
- (t3 − t2):在 ISTA 的钟上,从 "收到 FTM" 到 "发出 Ack" 的处理停留时间。
- 两者相减,扣掉 ISTA 端的处理停留,剩下的就是信号在空中往返的纯飞行时间(RTT)。
然后 距离 = c × RTT / 2。
为什么相减能消掉时钟不同步的影响? 关键是把所有时刻折算到同一台钟上:RSTA 捎回的 t1/t4 是它自己钟上的原始值,ISTA 必须先把它们换算成自己钟上的 t1'/t4'(标准式 11-5 就是这么做的,换算要补偿两台钟的频率偏移),再和本就在 ISTA 钟上的 t3、t2 相减。这样 (t4'−t1') 与 (t3−t2) 都在 ISTA 钟上,时间差就准了。这是 FTM 设计的精髓——它求的是 "时间差",不是 "绝对时刻",但前提是先折算到同一时间基准。
附带福利:算时钟偏移。同样这四个值,用
[(t2−t1)−(t4−t3)]/2还能算出两台设备的时钟偏移(§11.21.5,式 11-4)。所以 FTM 既能测距,也能用于设备间时钟同步(IEEE 802.1AS 就用到了它)。
¶4 测量调度 — Burst 与多次取平均
单次测量误差大,FTM 用多次测量取平均降噪。调度参数(§11.21.6.3):
| 参数 | 含义 |
|---|---|
| Burst(突发) | 一组连续的 FTM 测量帧 |
| FTMs Per Burst | 每个 burst 里发多少个 FTM 帧 |
| Burst Duration | 一个 burst 持续多久 |
| Burst Period | 两个 burst 之间的周期 |
| Min Delta FTM | 相邻两个 FTM 帧之间的最小间隔 |
| ASAP | 置 1 表示 "尽快开始" 测量 |
这组参数里最要紧的分岔是 ASAP:置 1 表示 "尽快开始",RSTA 把协商用的 initial FTM 帧本身当作第一个 burst,收到 IFTMR 后 10 ms 内就启动,并顺手掐下该帧与对应 Ack 的收发时刻(§11.21.6.4.2.1);置 0 则改按 Partial TSF Timer 指定的 TSF 时刻启动,便于把多个测距会话错峰调度。ASAP 管的本质是 "何时起跑"——立即开测,还是等约定的 TSF 时刻错峰起跑。
其余字段管 "密度与节奏":Burst Duration 是 4 bit 编码(Table 9-322,250 µs 到 128 ms)、Min Delta FTM 是相邻两帧最小间隔(100 µs)、Burst Period 是相邻两个 burst 的间隔(100 ms)、Number of Bursts Exponent 决定总 burst 数(2 的指数次方,§9.4.2.166)——四者合起来圈定整个会话的时长与帧密度:Burst Duration 定一组测多久、Min Delta FTM 定组内两帧多密、Burst Period 定组与组隔多久、Bursts Exponent 定总共几组。
一次 FTM 会话怎么结束?Burst 数发完就自然收尾;若 RSTA 满足不了请求,它在 initial FTM 里把 Status Indication 置 2(Request incapable,别再发同样的请求)或 3(Request failed,Value 字段给出需等待的秒数),会话当场终止(Table 9-321)。
对着山喊一声测一次可能不准(风声干扰)。于是连喊十声(一个 burst 里多个 FTM 帧)取平均,过一会儿再喊一组(下一个 burst),用统计的方式把误差磨平。
¶5 误差来源 — 为什么室内测距没那么准
理想很美好,现实有噪声。FTM 测距的主要误差来源:
| 误差来源 | 说明 | 比喻 |
|---|---|---|
| 多径(Multipath) | 信号经墙壁、家具多次反射,"绕远路" 的回波比直达路径晚到,干扰对 "第一条直达路径" 的判定 | 山谷里到处是回声,分不清哪个是 "对面那座山" 的直接回声 |
| 时间戳精度 | 1 ns 误差 = 0.3 m,PHY 捕获时刻的抖动直接放大成距离误差 | 秒表分辨率不够 |
| 处理延迟不确定性 | t2→t3 之间的处理停留若有抖动,相减后无法完全消除 | 应答快慢不稳定 |
| 带宽限制 | 带宽越窄,时间分辨率越差。FTM 支持更宽带宽(如 80/160 MHz)来提升分辨率 | 喊话越短促,越能听清回声的精确时刻 |
| 时钟频偏 | ISTA 把 RSTA 钟上的 t1/t4 换算成 t1'/t4' 时要估两钟频率差,晶振频偏估不准就有换算残差;标准要求时间戳时钟与发送中心频率、符号时钟同源(§11.21.6.4.1) | 两把秒表走速不一致 |
| 非视距(NLOS) | 直达路径被墙 / 人体挡住而大幅衰减,first path 退化为某条反射路径,飞行时间偏长 → 距离被高估 | 山被雾挡,只能听绕山的回声 |
多径和 NLOS 的差别要分清:多径是直达路径还在、只是被反射回波污染;NLOS 是直达路径干脆被挡住、只能靠更长的反射路径——后者把距离系统性测长。
"时间分辨率" 是什么? 就是你的 "秒表"能区分出两个时间点靠多近还算两个的最小间隔——两个回波若间隔比它还小,就糊成一团、分不出先后。这在多径里最要命:分辨率粗,直达回波和紧随的反射回波糊成一个 "大包",挑不出最先到的那条直达路径;分辨率细,才能把它们分成两个尖峰、精准锁定 first path。
它约等于 "1 ÷ 带宽"(信号处理铁律:频域带宽越宽,时域脉冲就能做得越尖锐短促)。所以 20 MHz → 约 50 ns(≈ 15 m,根本没法室内定位),160 MHz → 约 6.25 ns(≈ 1.9 m),再配合算法插值压到亚米级。一句话:带宽越宽 → 脉冲越尖 → 时间分辨率越细 → 到达时刻测得越准。
这套 "带宽→脉冲→分辨率" 的关系,落到山谷回声里就一目了然——回声类比:对山喊一声拖长的 "啊——"(窄带宽),直达回声和绕山反射糊成一片混响,听不出起点;改成拍一下清脆的 "啪!"(宽带宽),两声清清楚楚分开,第一声的时刻一掐就准。"啪" 越短促 = 带宽越宽 = 时间分辨率越细。
这条 "带宽→分辨率" 的链子落到测距上,就决定了测距精度的量级。
FTM 测距精度通常在米级到亚米级。802.11az 通过更宽带宽、NDP 探测、多天线等手段把精度推向亚米级。多径是室内测距最大的敌人——这也是为什么 "第一条直达路径(first path)" 的检测在 az 里被特别强调。
¶6 802.11az 增强 — 下一代测距
802.11mc 的 FTM 用普通的管理帧(Action 帧)测距。802.11az(Next Generation Positioning,NGP)做了系统性增强(§11.21.6)。
¶6.1 先理清:az 和 mc 到底差在哪、为什么更准
先说最关键的共识:两者算距离的物理是同一个(RTT × 光速 ÷ 2),公式都没变。差别不在 "怎么算",而在 "怎么把那个往返时间测得更准、更安全、更高效"。而测距精度的命门只有一句话——你能多精确地判定 "信号到达天线的那一刻"(Time of Arrival)。az 就是冲着这点全面发力。
| 维度 | 802.11mc(2016) | 802.11az(2024) |
|---|---|---|
| 测时刻的载体 | 普通 Action 管理帧(FTM 帧),带完整数据载荷 | NDP(空数据包),只有 PHY 前导码、几乎没载荷 |
| 训练序列 | 无专用机制 | HE-LTF(可重复多次),专为估计到达时刻设计 |
| 带宽 | 较窄 | 支持 80 / 160 MHz,时间分辨率更高 |
| 多天线 | 基本没有 | 支持多空间流(STS),从空间维度分辨多径 |
| 安全 | 无 | Secure HE-LTF,防距离欺骗 |
| 效率 | 一对一 | TB 触发式可一次给多个 ISTA 测距 |
为什么 az 精度高?三个杠杆:
- 更宽的带宽 → 更高的时间分辨率(最重要)。时间分辨率 ≈ 1 / 带宽(20 MHz≈50 ns≈15 m,160 MHz≈6.25 ns≈1.9 m,详见 18.5 节那段解释),带宽越宽越能从多径里锁定直达路径。
- 专用 HE-LTF → 精确估计到达时刻。NDP 把数据载荷全剥掉,只留一段已知的训练序列;接收端拿收到的信号和已知序列做相关,能锐利地定位 "第一个能量峰"。还能重复多次取平均压噪(规范里
I2R Rep/R2I Rep字段控制)。 - 多天线(STS)→ 分辨多径。室内最大的敌人是多径(反射回波淹没直达路径),az 用多空间流从空间维度把直达路径和反射路径分开,专挑那条 first path。
mc 是 "能测距"——用普通管理帧测往返时间,精度米级、一对一、不设防;az 是"测得准、测得安全、测得多"——用 NDP + HE-LTF + 更宽带宽 + 多天线把" 到达时刻 " 估到亚米级,再加密防欺骗、用触发式一对多。精度提升的根子就是带宽 + 专用 LTF + 多天线这三件事,让 az 能从一堆反射回波里精准锁定那条直达路径的到达瞬间。
回声测距比喻:mc 像 "喊一整句话、听整句的回声来估时刻"——句子越长越听不清回声的精确起点;az 改成 "只发一个短促清脆的拍子(NDP/LTF)",回声的起始瞬间一下就清楚了;带宽更宽 = 拍子更短促;多天线 = 多只耳朵从不同方向听,能分清哪个是直达回声、哪个是绕墙的杂音。
¶6.2 基于 NDP 的测距
az 不再用携带数据的 Action 帧测时刻,而是用 NDP(Null Data Packet,空数据包)——只有 PHY 前导码、没有数据载荷的帧。前导码里的 LTF(Long Training Field)正是用来精确估计到达时刻的。接收端拿收到的 HE-LTF 与本地已知序列做互相关,得到一列相关峰——时间上最早的峰对应直达路径,延后的峰对应反射路径。带宽越宽,相关峰的主瓣越窄,最早峰与反射峰分得越开、越容易锁定直达路径的到达时刻。当直达与反射路径的间隔小于相关峰主瓣宽度时,重叠峰糊成一团,此时可改用 MUSIC、ESPRIT 等超分辨率算法——它们同属子空间类,靠对接收信号做特征分解把主瓣内重叠的峰拆开;但直达波与反射波同源相干、会让特征分解失效,需先做空间平滑预处理(把天线阵列切成若干重叠子阵、对各子阵协方差矩阵取平均以去相关),代价是计算量远高于单峰搜索——逼近真 first path。再深一层还有 root-MUSIC(多项式求根替代谱峰搜索)与二维角度 - 时延联合估计,把多径的到达角与时延一并解出。
回声测距比喻:相关峰就像山谷里的一串回声——你喊一声,直达的回声最先回来(最早的那个峰),绕山反射的混响随后接踵而至(延后的峰)。测距要做的,就是在满山谷的混响里分辨出第一声:认准最早出现的那个尖峰,它才是直达路径(first path),后面那些都是绕远路的反射。带宽越宽、这一声越短促清脆,第一声和混响分得越开,就越容易锁定。
测准到达时刻是单帧的事,一次完整测距还要来回各发一帧——测距用两个方向的 NDP(§11.21.6.4.4):
| NDP | 方向 | 时间戳 |
|---|---|---|
| I2R NDP | ISTA → RSTA | t1 = TOD(I2R NDP),t2 = TOA(I2R NDP) |
| R2I NDP | RSTA → ISTA | t3 = TOD(R2I NDP),t4 = TOA(R2I NDP) |
TOD = Time of Departure(出发时刻),TOA = Time of Arrival(到达时刻)。
RTT 公式本质不变(§11.21.6.4.4):
1 | RTT_ISTA = (t4 − t1) − (t3' − t2') |
(t2'、t3' 是 ISTA 把 RSTA 钟上的时刻换算到自己钟上的值)。
¶6.3 TB 与 Non-TB 两种模式
| 模式 | 全称 | 调度方 | 特点 |
|---|---|---|---|
| TB Ranging | Trigger-Based(触发式) | RSTA 主导 | RSTA 发 Trigger 帧统一调度,可一次给多个 ISTA 测距(类似上行 OFDMA),效率高 |
| Non-TB Ranging | 非触发式 | ISTA 主导 | ISTA 在可用窗口内自行择机发起,调度更灵活 |
还有 Passive TB Ranging(被动式):一个 PSTA(Passive STA)只 "偷听" 别人的测距交换,靠 TDOA(到达时间差)的双曲线交点估计自己的位置,自己不主动发帧(§11.21.6.1.3)。
¶6.4 安全测距 — 防止 "距离欺骗"
测距被用于门禁、汽车数字钥匙等安全场景,于是出现了距离欺骗攻击(伪造时间戳让系统以为你就在门口)。802.11az 引入 Secure HE-LTF(安全 LTF)(§11.21.6.3):
- LTF 序列由 Secure-LTF-Key-Seed 加密生成,攻击者无法预测 / 伪造。
- 安全测距要求先建立 PTKSA(成对密钥安全关联),并依赖 PMF(受保护管理帧)——
URNM-MFPR字段为 1 时强制。
普通测距像 "喊话听回声",但坏人可以提前录好回声、抢先播放,骗你以为他很近(距离欺骗)。安全测距给每次 "喊话" 加了只有双方才知道的暗号(Secure LTF),录播的假回声对不上暗号,骗不过去。
¶6.5 LMR — 测量报告
测量结束后,时间戳 / 测量结果通过 LMR(Location Measurement Report,位置测量报告)帧反馈(§9.6.7.49)。NDP 本身只有前导码、带不了时间戳,所以捕获到的 t 值要靠 LMR 这种带载荷的帧专门回传——这正是 az "测时刻" 和 "报时刻" 分开的设计:
| LMR 方向 | 谁发 → 谁收 | 捎回哪两个时刻 |
|---|---|---|
| R2I LMR | RSTA → ISTA | t2、t3 |
| I2R LMR(可选) | ISTA → RSTA | t1、t4 |
ISTA 默认收 R2I LMR 拿到 t2/t3(自己本就有 t1/t4),即可算 RTT。若双方协商了 I2R LMR Feedback,ISTA 把 t1/t4 也回给 RSTA,于是 RSTA 那侧也能独立算出 RTT(RTT = (t4'−t1') − (t3−t2))。
¶7 应用 — 三边测量实现室内定位
单个 RTT 只能告诉你 "离某个 AP 有多远"——也就是你在以该 AP 为圆心、半径为该距离的圆(球面)上。要确定具体位置,需要多个已知位置的 RSTA:
| RSTA 数量 | 能确定 |
|---|---|
| 1 个 | 你在一个圆上(位置不定) |
| 2 个 | 两圆相交,缩小到 2 个点 |
| 3 个 | 三圆相交于一点 → 确定二维位置(三边测量 Trilateration) |
| 4 个 + | 可解三维位置 + 提升精度(抗噪声) |
只知道 "离 A 山 300 米",你可能在以 A 为圆心的整个圆周上。再知道 "离 B 山 200 米"" 离 C 山 250 米 ",三个圆唯一地交在一点——那就是你的位置。商场里的 Wi-Fi 室内导航就是这么干的。
三个圆交于一点,也像在山谷里同时听三座山的回声——每一声划出一个距离圆,三声交点就从满山谷的混响里把你定位出来。
而 "已知位置" 这个前提,FTM 过程本身就能解决:ISTA 在 FTM Request 帧里带一个 Measurement Type=LCI 的请求,RSTA 就在 IFTM 帧里回一份 LCI(Location Configuration Information,位置配置信息)报告,把自己的坐标——纬度、经度、海拔三个字段按各自最佳已知分辨率上报、默认 WGS84 大地基准(还可附离地高度、天线摆放等子要素)——告诉 ISTA;同一条款还支持 Location Civic(位置市政信息)报告,回传门牌号、街道等邮政地址,供地图导航直接使用(§11.21.6.7)。
这也呼应了第 17 章:Wi-Fi Aware 的服务发现里有个 NAN Ranging flag——发现服务时可以联动 FTM 测距,实现 "只和近距离的设备 / 服务交互"。
¶8 完整流程串讲
把全章串起来,手机用 FTM 在商场定位的逐帧过程如下图——左路是经典 FTM(mc)、右路是 az 的 NDP 测距,两路最终都为算 RTT 集齐 t1/t2/t3/t4:
读图要点:① 协商(IFTMR/IFTM)两路通用;②A 经典 FTM 用 Action 帧——
FTM_1(t1/t4 字段填 0)+ Ack +FTM_2follow-up 把上轮 t1/t4 捎回;②B az 改用只有前导码的 NDP——I2R NDP取 t1/t2、R2I NDP取 t3/t4,再用 LMR 把时间戳回传(NDP 自己带不了)。无论哪路,最后都是RTT=(t4−t1)−(t3−t2)→ 距离 → 三边定位。
用文字再串一遍:
1 | 1. 协商 手机(ISTA)向某 AP(RSTA)发 IFTMR(FTM Request) |
¶9 本章总结
| 机制 | 作用 | 回声测距比喻 |
|---|---|---|
| RTT → 距离 | 距离 = c × RTT / 2 | 喊话听回声、用时间算距离 |
| 纳秒级精度 | 1 ns = 0.3 m,须 PHY 层精确捕获 | 千万分之一秒的秒表 |
| ISTA / RSTA | 发起方 / 响应方(已知位置) | 喊话的人 / 对面的山 |
| t1/t2/t3/t4 | 四个收发时间戳 | 双方各记 "几点发、几点收" |
| RTT=(t4−t1)−(t3−t2) | 扣掉处理停留,求纯飞行时间 | 折算到同一时钟基准,免对表 |
| Burst / 取平均 | 多次测量降噪 | 连喊多声取平均 |
| 多径误差 | 反射回波干扰直达路径判定 | 山谷里分不清哪个是直接回声 |
| mc vs az | 同一物理;az 用 NDP+ 宽带宽 + 多天线把到达时刻估得更准 | 短促拍子 + 多耳朵听回声 |
| NDP 测距(az) | 用空数据包前导码精确测时 | 更短促清晰的 "喊话" |
| TB / Non-TB | 触发式(多用户高效)/ 非触发式(灵活) | 统一指挥 / 各自择机 |
| Secure HE-LTF | 防距离欺骗 | 喊话加暗号,假回声骗不过 |
| 三边测量 | 3 个 RSTA 定位一点 | 三个距离圆交于一点 |
Wi-Fi RTT/FTM 的精髓是:把 "光速 × 时间 = 距离" 这个朴素物理,用纳秒级的收发时间戳精确实现——发一帧、收一帧、算时间差,Wi-Fi 就从 "传数据的网" 变成了 "测距离的尺"。 配合多个已知位置的 AP,它让室内定位成为可能;802.11az 又把它推向亚米级精度和抗欺骗的安全测距。
至此,我们走完了 WiFi"另一面" 的四个协议:Wi-Fi Direct(设备直连)、Miracast(无线投屏)、Wi-Fi Aware(邻居感知)、RTT/FTM(精确测距)。它们的共同点是——都不依赖 "连上 AP 上网" 这个传统范式,而是让设备之间直接发现、连接、协作、感知。 导读章对四者做了统一定位与比喻索引,可回头总览。