RuView 实验 R9 深度解读:RSSI 指纹拓扑——时间邻近是否等于特征邻近?
2026/9/10 6:29:57 网站建设 项目流程

RuView 实验 R9 深度解读:RSSI 指纹拓扑——时间邻近是否等于特征邻近?

【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView

R9(RSSI fingerprint topology)是 RuView 开源仓库中 SOTA 研究循环(2026-05-22,共 41 个研究 tick)的关键一环,用于回答一个决定产品路径的问题:仅凭 RSSI(接收信号强度)能否完成基于指纹的室内定位?本指南以 R9 实验文档 为骨架,结合同目录 R8、R5、R12 三个姊妹实验与 示例代码,完整还原实验设计、判定逻辑、结果解读与可执行的复现/改进路线。读完你将掌握:RSSI 指纹定位的科学检验范式、K-NN 时间邻近性升幅(lift)指标的构造方法,以及为什么"低带宽模态下计数比定位更容易"这一核心结论直接约束了 RuView 纯 RSSI 部署的边界。

实验动机:R8 的必然追问

R8(RSSI-only person count)刚刚证明了一个反直觉的事实:把 56 个子载波按频带求均值得到 RSSI 代理信号后,一个仅有 656 个参数、输入维度 20 的微型 MLP,在人员计数任务上达到了59.1% 的准确率,保留了全 CSI 模型(cog-person-count v0.0.2,62.3%)约 94.82% 的能力

这个结果自然引出 R9 的核心问题:RSSI 能否进一步承担"指纹定位"任务?

  • 如果成立:整个"手机/智能音箱/电视被动计数并定位家中人员"的故事就能解锁——任何带 WiFi 芯片的设备都成为感知节点;
  • 如果不成立:R8 的商业化价值就被限定在"仅计数"这一窄场景内。

R9 选择了一个最干净的、非循环论证的检验设计:不直接测量定位误差(那需要标注位置真值),而是检验一个拓扑性质——记录中的时间邻近是否预测 RSSI 特征空间中的邻近。一份 30 分钟的单一房间录音,一个操作员移动;如果相邻时间戳的 RSSI 序列在特征空间中是彼此的最邻近点,说明指纹信号真实存在;如果每个查询的 K-NN 在时间上是随机的,指纹就溶解进了噪声。

方法与指标:时间邻近性 × 余弦相似度

R9 的五步实验流程(与源码 r9_rssi_fingerprint_knn.py 完全对应):

  1. 构造 RSSI 代理:取 1,077 个成对(paired)CSI 窗口,将每个[56 子载波 × 20 帧]的窗口按子载波求均值,聚合成[20]维的"RSSI 随时间变化"信号(band-mean per frame,与 R8 构造方式一致)。这一聚合恰好模拟了真实非 CSI WiFi 芯片上报的每包 RSSI 字段;
  2. Z-score 标准化:跨全部样本做标准化,匹配真实芯片自动增益控制(AGC)的行为;
  3. 全对余弦相似度矩阵:计算完整的1077 × 1077相似度矩阵;
  4. K-NN 检索:对每个查询点找 top-K(K=5)最邻近样本(排除自身);
  5. 时间邻近性度量:统计这 5 个最邻近样本中有多大比例来自查询时间戳±60 秒以内的窗口,并与随机基线对比。

随机基线的构造是关键的方法学细节:对每个查询,计算所有其他样本中落在 ±60 秒内的比例——它捕获了"即使 5-NN 是随机抽取的,由于数据集本身的时间分布,也会纯靠巧合命中"的平凡效应。核心指标定义为:

Lift = K-NN 落在时间窗口内的比例 / 随机基线

从源码看(第 91-125 行),程序还内置了判定阈值的显式逻辑,这让结论完全可复现、无主观成分:

  • lift >= 3.0STRONG:RSSI 序列携带稳定的空间指纹;
  • lift >= 1.5MODERATE:RSSI 指纹有效但噪声显著;
  • elseWEAK:仅凭 RSSI 的指纹定位在该数据上不可靠。

实验结果:2.18× 升幅,判定 MODERATE

实验结果表格(数据同时落在 R9 文档 与 r9_rssi_fingerprint_results.json 两份产物中):

指标数值
5-NN 落在 ±60s 内比例0.169
随机基线0.077
对随机的升幅(Lift)2.18×
逐查询标准差0.183

判定结论——MODERATE(中等):低于"强指纹"的 ≥3× 阈值,但远高于 1× 随机水平。信号真实存在,但噪声很大。

值得注意逐查询标准差高达 0.183(与均值 0.169 同量级),说明不同查询点之间的指纹稳定性差异极大:某些窗口的 5-NN 高度时间邻近,另一些则接近随机。这也解释了为何不能仅凭整体均值就下"指纹可用"的结论。

三种合理解释与判别路径

R9 文档明确指出,2.18× 的中等升幅与以下三种解释均一致,且各对应不同的改进方向:

  1. 20 帧窗口太短:每个窗口约 2 秒 CSI,操作员移动时,带均幅度随身体姿态、呼吸相位、步态相位变化,2 秒不足以捕获稳定指纹。改用 60 帧窗口(约 6 秒,3 倍时间上下文)可能将升幅提升到 3-4×;
  2. 单房间数据的指纹空间太小:单一房间内,"指纹"只能编码"人在房间哪里"这个 1-2 米分辨率的子问题,RSSI 不具备这种带宽。而多房间数据的指纹是范畴性不同的(房间 A vs 房间 B vs 走廊),K-NN 升幅可能跳到 5-10×;
  3. Band-mean 丢弃了逐子载波形状:R5 证明计数任务的信号是频带分散的,但定位任务的信号可能恰恰需要逐子载波结构——不同房间反射出不同的多径轮廓,对频带的扩散方式不同。R8 的"RSSI 保留 95% 计数能力"并不能直接迁移到定位任务。

三种解释无法在单房间数据上区分,但文档给出了最可执行的判别方案:一旦多房间数据落地,重跑本实验,寻找升幅的范畴性跳变——若 2× 附近(房间内)跳到 8-10×(跨房间),则解释 (2) 成立,指纹定位的 RSSI 路线被证实可行。

事实边界:本实验证明与未证明的

R9 文档对结论边界保持高度自律:

已证明的:

  • RSSI 序列不是纯噪声——存在与时间邻近相关的结构,只是其强度不足以支撑当前窗口大小下的单房间指纹定位;
  • 纯 RSSI 定位存在清晰的改进路径:更长窗口、多 AP RSSI(利用wifi-densepose-wifiscan的 BSSID 列表作为额外维度)、与计数/姿态输出的融合作为辅助线索。

未证明的:

  • 未证明跨房间 RSSI 指纹定位无效——恰恰相反,单房间数据本身就是本实验最可能的失败来源,而非底层能力的失败;
  • 未测量 CSI 的 K-NN 表现,CSI 指纹定位是否更好仍是开放问题,是有价值的后续实验。

研究线程互证:计数易、定位难的对称性

R9 的价值在与其他线程的对照中才完全显现:

  • R8 对照(计数):RSSI 保留 95% 计数信号(59.1% vs 62.3%);R9 对照(定位):RSSI 在单房间条件下丢失 ≥ 一半的定位信号(2.18× 仅略高于随机 1× 的两倍)。两者构成有意义的非对称性——在低带宽模态下,计数比定位更容易。这也被 04-rssi 目录 README 量化总结为:"RSSI 保留约 95% 的计数能力,但仅保留约 30% 的定位能力";
  • R5 支撑(频带分散性):R5 子载波显著性实验 测出计数任务信号在 56 个子载波上频带分散(max/mean 比仅 2.85×,top-8 子载波分布在整个频带而非集中于单一频段),解释了为什么计数能扛过频带积分、而定位可能需要逐子载波形状;
  • R12 印证(结构性漂移):R12 RF 天气映射实验(结构漂移检测,判定 WEAK)继承了同样的约束:RSSI 是 CSI 协方差矩阵的迹,连完整的 top-10 奇异值谱都无法检测约 1.4 dB 的 3 子载波衰减,RSSI 单独更不可能看到结构性漂移——这类任务需要 CSI 逐子载波或多 AP 指纹。

部署含义:什么时候该用纯 RSSI

基于 R8 + R9 的对称性结论,04-rssi README 给出了明确的部署矩阵(对齐 ADR-113 放置矩阵):

适合纯 RSSI 的场景:cog-presence(二值占用)、cog-person-count(人数统计)、极度成本敏感的部署(如 R19 家禽规模养殖)。

不适合纯 RSSI 的场景:cog-vital-signs(需要 CSI 逐子载波形状)、cog-pose-estimation(需要 CSI 多站几何)、cog-quantum-vitals(ADR-114,需要 CSI 与 NV 量子传感器融合)。

实操复现指南

仓库中的 r9_rssi_fingerprint_knn.py 是纯 NumPy 实现、零框架依赖,可在任意 Python 3.9+ 环境直接运行:

python examples/research-sota/r9_rssi_fingerprint_knn.py \ --paired data/paired/wiflow-p7-1779210883.paired.jsonl

注:脚本路径需按仓库实际布局调整为examples/research-sota/04-rssi/r9_rssi_fingerprint_knn.py,并确认data/paired/下的成对数据文件存在(当前仓库可见的数据清单中该路径未包含,运行前请核对数据文件)。

脚本支持的参数及默认值:

参数默认值说明
--paired(必填)成对 CSI 窗口 JSONL 文件路径
--k5最近邻数量 K
--temporal-window-s60.0时间邻近窗口 ±W 秒
--outexamples/research-sota/r9_rssi_fingerprint_results.json结果 JSON 输出路径

运行后会在终端打印与仓库 结果 JSON 相同结构的字段:n_samplesktemporal_window_sknn_within_window_fractionrandom_baselineliftper_query_within_fraction_stdevverdict。修改--temporal-window-s--k即可快速做敏感性分析。

后续路线图

R9 文档列出的本线程下一步(每条都可直接转化为一次实验):

  1. 60 帧窗口复测:3 倍时间上下文,观察升幅是否跳变;
  2. 多 AP 特征化:用wifi-densepose-wifiscan的 BSSID-RSSI 元组构造[N_AP × 20]矩阵(仓库中该 crate 的 BssidRegistry / NetshBssidScanner 等实现 已具备多 BSSID 扫描能力),每个可见 AP 成为一个特征维度;
  3. 多房间数据重测:等待多房间数据落地(对应 issue #645),寻找范畴性升幅跳变(房间内 2× → 跨房间 8-10×);
  4. 直接测 CSI K-NN:检验定位信号是否藏在逐子载波形状中,而非频带积分里。

延伸阅读

  • 实验产物: R9 实验文档、源码 r9_rssi_fingerprint_knn.py、结果 JSON
  • 姊妹实验:R8 RSSI-only 计数(含源码 r8_rssi_only_count.py)、R5 子载波显著性、R12 RF 天气映射
  • 汇总视角:SOTA 研究循环总结 与 04-rssi 目录 README(计数 vs 定位非对称性的量化归纳)

【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询