在线演示:真实 CSI 幅度热图回放(256 子载波)

作者 Wu Jun · 更新于 2026-10-11 · 约 3 分钟

下面这段回放用的是真实抓包(GL-MT6000 / MT7986,5GHz HE80,256 子载波,约 60 秒), 浏览器只加载完整测量组的降采样版本(347 帧 × 64 个子载波)以便流畅播放。原始记录为 2,777 条链记录 / 347 个 bit15 完整组 / 1 条未闭合尾部记录;脱敏源文件与采集方式公开 [1] [2]。

← 时间纵轴:子载波(下=低频,上=高频)
绿线:逐测量运动指标(相邻测量幅度变化均值)蓝线:当前播放位置

怎么看这张图

幅度热图视角(默认)

多普勒 / 时频谱视角

下面那条绿线在两个视角下都显示,是运动指标(相邻测量幅度变化均值),可以直接当"有没有在动"的廉价判据。

这条数据是怎么来的

项目 值
采集设备 GL.iNet GL-MT6000(MT7986A + MT7976),OpenWrt + mt76 CSI
频段/带宽 5GHz / HE80 / ch44
子载波/链路 256 / 2Tx × 4Rx
测量率 约 5.79 个完整组/秒(→ 多普勒可观测上限 0–2.89 Hz)
原始数据 2,777 条链记录 / 347 个完整组 / 1 条尾部残片,2.8MB,SHA-256 已公开
浏览器内 幅度 347 帧 × 64 子载波;多普勒 347 帧 × 32 频率格(同一时间轴,逐频率背景扣除 + 分位数归一化)
完整性 只使用 bit15 闭合的完整测量组,尾部未闭合记录不参与播放

这份回放能说明什么

可以 不可以
看到同一份真实抓包随时间的幅度变化 证明某个模型在所有房间都准确
检查解析、降采样和可视化是否一致 把颜色当绝对 dBm 或绝对功率
观察低速运动/呼吸频段的相对能量 从 5.79Hz 采样恢复步行微多普勒
用公开 SHA-256 验证源文件未变 把“未检测到运动”当成“房间无人”

浏览器没有连接你家路由器,也不会上传数据;所有画面都在本地由静态资源计算。 如果只想验证解析器,先下载 10 秒样例;如果要重算本页统计,使用上方 60 秒源文件和 manifest。

想自己复现这条链路:复现教程 · Python 处理 · 工具与数据

参考与数据来源

本文的每条外部结论都标注来源与证据等级(分级标准);标注 E 级的是本项目可复现的实测数据。

  1. E 级 · 本项目实测 本项目 10 分钟实测抓包(57,293 条 / 600.0 s,SHA-256 00373f83…95e2)
    Router CSI Lab · 2026
    okwujun.pw/zh/datasets/ · 核实: 分片重组逐字节校验通过(2026-10-11) · 本地原始母片 SHA-256 为 00373f83…95e2;公开下载的是去标识派生文件,SHA-256 为 527466ce…a440,两者不可混用。
  2. E 级 · 本项目实测 Router CSI Lab — GL-MT6000 (MT7986) Wi-Fi CSI dataset, 10 s sample + 10 min capture
    Router CSI Lab · 2026
    doi:10.5281/zenodo.23434789 · 核实: CC BY 4.0;SHA-256 已发布;Zenodo DOI 10.5281/zenodo.23434789 · 数据集已获 Zenodo DOI(10.5281/zenodo.23434789),可直接引用。