Wi-Fi 定位只能到 5~10 米?RTT 和 CSI 让 Wi-Fi 开始回答"第几层"——从指纹匹配到物理测距的路线换代(wifi定位sdk) szthrk.cn

一、开篇:把 Wi-Fi 从"气味"用成"尺子"

十年里,Wi-Fi 定位的教科书定义几乎等于指纹匹配:终端扫一圈接入点,把收到的信号强度列表拿去和离线采集的指纹库比对,匹配出最像的位置。这个方法把 Wi-Fi 当"气味"闻——闻得出大概方位,闻不出精确距离。行业里 Wi-Fi 扫描定位的标注精度普遍在 5~10 米量级,前提是接入点部署密度和指纹库新鲜度都达标。

而指纹库恰恰是最难伺候的部分:接入点增减、信道变更、设备位置搬移,都会让指纹库悄悄衰减,精度在没人察觉的地方一路下滑。维护指纹库的人力成本,成了 Wi-Fi 楼层定位规模化部署的最大拖累。

于是行业开始换思路:能不能不闻气味,直接量距离?这一篇拆解 Wi-Fi 定位的两条换代路线——RTT 往返测距与CSI 信道状态信息——看它们如何把 Wi-Fi 从"气味"用成"尺子",以及在楼层判定这件事上,各自能走到哪一步。

二、问题定义:指纹法的三个先天约束

在讲新路线之前,先把指纹法的约束摆清楚,因为换代路线正是冲着这三条来的:

要突破,就得换一个对距离更敏感的物理量。RTT 用的是信号的飞行时间,CSI 用的是信道对子载波的响应——两者都比 RSSI 对空间结构敏感得多。

三、技术原理:一条路线量时间,一条路线量信道

RTT(Round-Trip Time)路线。IEEE 802.11mc 标准引入了 FTM(Fine Timing Measurement,精细时间测量)机制:终端向支持该机制的接入点发起测距会话,双方交换带精确时间戳的帧,终端记录自己发出与收回的时间,接入点记录收到与回应的时间,两两相减消掉接入点的处理时延,剩下的就是信号往返飞行时间。乘以光速再除以二,得到终端到接入点的距离。到同一层多个接入点的距离都有了,三边定位求交点,平面位置和楼层归属一起解出来。类比:RSSI 像听喇叭声猜远近,RTT 像对着山崖喊话掐表算距离——后者对距离的响应是线性的、物理的,不随环境"心情"漂移。802.11az(下一代定位标准)在 mc 的基础上改进了测距效率、安全性与抗多径设计,原理一脉相承。

CSI(Channel State Information)路线。Wi-Fi 物理层用的是 OFDM 调制,一个信道里并行跑着几十个子载波。RSSI 只把整条信道的能量加总成一个数,CSI 则把每个子载波各自的幅度和相位都展开记录——相当于把"这条巷子好不好走"细化成"巷子里每一段路各有多窄、各拐多少弯"。这些细粒度响应里编码了多径结构,而多径结构由空间布局决定,所以 CSI 对位置、对楼层结构远比 RSSI 敏感。工程上既可以用 CSI 做更细粒度的指纹匹配(细指纹替代粗指纹),也可以训练模型直接从 CSI 序列判层。

一张拓扑图看清两条路线的分野:RTT 路线的链路是"测距会话—距离组—三边解算—楼层判定",输出的是几何距离;CSI 路线的链路是"子载波采集—特征提取—指纹/模型—楼层判定",输出的是统计匹配。前者偏几何,后者偏学习。

四、方案对比:Wi-Fi 家族与近邻技术怎么选

| 技术路线 | 物理量 | 典型能力量级 | 基础设施改造 | 终端要求 | 楼层判定方式 |

| --- | --- | --- | --- | --- | --- |

| Wi-Fi RSSI 指纹 | 信号强度 | 5~10 米(标注条件值) | 仅需既有 Wi-Fi 覆盖 | 任意可扫描终端 | 指纹匹配 |

| Wi-Fi RTT(802.11mc/az) | 往返飞行时间 | 米级测距(以实测为准) | 接入点需支持并开启 FTM 角色 | 终端与系统需支持测距会话 | 测距三边解算 |

| Wi-Fi CSI | 子载波幅度/相位 | 视模型与采样而定(以实测为准) | 需可开放 CSI 输出的网卡与驱动 | 采集端定制化程度高 | 细指纹/模型判层 |

| 蓝牙 RSSI 信标 | 信号强度 | 3~5 米(标注条件值) | 需部署信标 | 任意可扫描终端 | 信标判层/指纹 |

表里两个"标注条件值"要强调前提:信标布置密度与安装高度、遮挡与人体吸收、多径与指纹漂移、终端扫描周期,都直接影响实际表现,数字不是无条件的承诺。RTT 与 CSI 的能力量级受部署几何与终端支持度影响更大,选型时应以现场实测为准。

五、技术细节:换路线之前要想清楚的六件事

终端支持度是 RTT 路线的第一道门。 测距会话要求终端与接入点双方都支持。安卓阵营从较新版本系统起逐步开放了 RTT API,苹果阵营长期未开放对等接口——这意味着 RTT 定位天然面向安卓为主的作业终端。做人员定位的终端是自研卡片设备时,选模组阶段就要把测距能力列进规格,后期补不了。具体机型的支持情况以终端厂商资料为准。

接入点改造是第二道门。 存量办公网的接入点大多不支持 FTM responder 角色,开启 RTT 意味着一批接入点要更换或固件升级,还要逐台验证测距功能确实可用。预算测算时把这一项算足,RTT 的"复用既有 Wi-Fi"才有意义——复用的是布线与供电,不一定复用设备本身。

非视距让 RTT 偏大。 飞行时间测的是首达路径,墙体、人体、金属隔断挡住直射路径时,信号绕行,测距结果系统性偏大。楼层判定恰好最关心穿楼板路径——上下层接入点的斜穿路径就是典型的非视距场景。应对办法是把测距对象约束在同层接入点为主,跨层测距结果降权使用,并结合楼层先验做合理性校验。

CSI 的工程化门槛要如实评估。 CSI 数据的获取依赖可开放 CSI 输出的网卡与配套驱动,主流商用接入点并不会默认吐出 CSI。历史上CSI研究多用特定型号网卡加开源驱动实现采集,采集链路定制化程度高、吞吐与实时性都要专门设计。把它当成研究型、定制型路线来立项,而不是当成"升级固件就能用"的快赢方案。 CSI 模型对训练环境依赖强:A 栋训出的模型换到 B 栋要重训,这一点与指纹库衰减是同类问题,只是衰减得慢一些。

与信标路线的关系是互补不是替代。 蓝牙信标方案部署自由度高、终端门槛低,Wi-Fi RTT 距离信息更物理、指纹维护成本低。楼宇里两者并存很常见:信标管日常判层,RTT 作为测距校准源在楼梯口、电梯厅这类关键位置补精度。同一台终端上蓝牙扫描与 Wi-Fi 扫描共存也是常态,关键是平台侧把两类证据统一到同一套楼层判定状态机上,而不是各判各的。

踩坑:测距会话的调度开销。 RTT 测距是主动会话,终端高频发起测距会显著增加功耗与信道占用。上报周期驱动的按需测距(结合运动状态分档:静止时降频、移动时升频)比固定高频轮询务实得多,这个权衡逻辑与任何无线定位终端的功耗设计一脉相承。

与既有业务 Wi-Fi 的共存问题。 办公楼里的 Wi-Fi 网络首先是为业务服务的,定位测距是"搭车"能力,搭车不能干扰主人。测距会话占用空口时间,终端数量大、会话频率高时,业务侧的吞吐会受感知;反过来,业务网络的重连风暴、固件升级批量重启,也会让测距会话成片失败,定位侧表现成"某天下午楼层判定突然变差"。工程上要做的两件事:一是测距会话的频度与业务网络负载联动,高峰时段主动降频;二是把接入点的在线状态纳入定位系统的健康监控——定位信标管理里逐台录入设备 MAC 并监测其状态的纪律,在 Wi-Fi 侧同样适用,接入点掉线要能在监控界面直接看到,而不是等轨迹变差了才倒查。

过渡期的混合方案值得专门设计。 从指纹法切到 RTT 不是一夜之间的事:接入点分批改造、终端存量逐步替换,中间会有长达数月的混跑期。混跑期的正确姿势是把两类证据送进同一个楼层判定状态机(这正是本系列第一篇的架构价值):有 RTT 能力的终端用测距证据,没有的继续走指纹,状态机统一裁决,而不是两套并行系统各出各的楼层号。混跑期还有一个隐性收益——两路证据同时在线的时段,正好用来做指纹库的"体检":RTT 测距给出的真实位置与指纹匹配的位置做对比,偏差大的区域就是指纹衰减最严重的区域,指纹库的重采工作因此有了优先级排序,不再是大海捞针。等 RTT 覆盖到位,指纹库可以收缩到 RTT 覆盖不到的角落,维护量随之下降。

六、局限与边界

RTT 与 CSI 都不是"打开开关就升级"的技术。RTT 受终端生态与接入点改造双重约束,短期内更适合新部署或重点楼宇;CSI 的采集与建模门槛决定了它主要活在定制项目与研究中。对绝大多数存量楼宇,Wi-Fi 扫描加蓝牙信标的组合仍是性价比基线,换代路线是"关键位置的增强",不是"全楼推倒重来"。

还要明确能力边界:RTT 给出的是米级测距,楼层判定仍需要楼层先验与判定状态机的配合——距离解算得再准,没有楼宇数据模型(楼层的划分、层高、首层海拔)承接,测距结果变不成楼层号。这一步不是 Wi-Fi 技术本身能解决的。

七、结论

Wi-Fi 定位的换代方向清晰:从闻气味的指纹匹配,走向量时间的物理测距与看信道的细粒度感知。RTT 解决指纹库的维护之痛,CSI 打开细粒度感知的想象空间,但两者都背着终端生态与基础设施改造的包袱。

给一个可执行的选型判断:先盘点你手里的三张清单——终端能不能发起测距会话、接入点有几成支持 FTM、现场有没有人力维护指纹库。 三张清单里两成以上缺口,就先用信标加扫描的基线方案跑起来;清单齐了,再在楼梯口、电梯厅这类楼层判定最敏感的位置上 RTT,用最小的改造范围换最关键的判层收益。