Hotdry.

Article

WiFi CSI 空间感知实战:用 ESP32 实现无摄像头存在检测与生命体征监测

基于 ESP32 的 WiFi CSI 采集与信号处理 Pipeline,涵盖硬件参数配置、存在检测与呼吸监测的工程化实现要点。

2026-05-22wireless-systems

从 RSSI 到 CSI:为什么需要细粒度信号信息

传统的 WiFi 感知依赖 RSSI(接收信号强度指示),但它只能反映整体信号能量的变化,无法区分多径传播中的细微扰动。Channel State Information(CSI)则提供了物理层级别的丰富数据 —— 包含每个子载波的幅度和相位信息,能够捕捉到人体移动、姿态变化甚至胸腔微小振动对射频信号的影响。

这种细粒度特性使 CSI 成为构建隐私友好型空间感知系统的理想选择。与摄像头不同,CSI 感知不采集任何图像信息,仅通过分析信号传播特征实现存在检测、定位追踪和生命体征监测。对于智能家居、养老监护和安防场景,这意味着可以在不侵犯隐私的前提下获得连续的空间感知能力。

硬件选型与 ESP32 配置参数

实现 CSI 采集的关键在于选择支持 CSI 暴露的硬件。ESP32 系列(特别是 ESP32-WROOM 和 ESP32-WROVER)是目前成本最低且文档最完善的方案,单模块价格通常在 5-10 美元区间。

核心配置清单

CPU 时钟频率:设置为 240MHz(最大值)。较低的时钟频率可能导致 CSI 采样率不足,影响后续信号处理精度。

UART 波特率:根据具体板型选择最高可用速率,建议配置为 2Mbps。CSI 数据量较大,高波特率可减少传输瓶颈。

CSI 采集模式:必须通过固件启用被动 CSI 采集模式。ESP32 可以在不关联 AP 的情况下嗅探信道上的 802.11 帧并提取 CSI。

信道与 MAC 过滤:在采集前配置目标信道号和发射端 MAC 地址过滤,减少无关流量干扰,降低后续数据清洗负担。

网络拓扑设计

典型的部署采用一发一收或一发多收架构。发射端可以是任意 WiFi 设备(路由器、手机或另一块 ESP32),持续发送数据包维持信道占用。接收端 ESP32 捕获这些帧的 CSI 信息并通过串口或 WiFi 回传到处理节点。

对于覆盖更大区域或提高定位精度,建议使用多接收节点部署,利用空间分集对抗多径衰落。

信号处理 Pipeline:从原始数据到可行动洞察

原始 CSI 数据包含 52 个子载波(20MHz 带宽)的幅度和相位信息,采样率取决于数据包发送频率,通常配置为 100-1000Hz。直接使用时域波形往往被噪声淹没,需要系统性的预处理流程。

预处理阶段

带通滤波:人体活动频率通常在 0.1-20Hz 范围内,而呼吸频率约为 0.2-0.5Hz(12-30 次 / 分钟)。使用合适的带通滤波器可以抑制高频噪声和低频漂移。

相位解卷绕:CSI 相位存在 2π 跳变,需要通过解卷绕算法恢复连续相位。对于生命体征监测,相位差分比绝对相位更稳定。

子载波选择:并非所有子载波对目标信号同样敏感。通常选择中心频率附近的子载波,避开受硬件缺陷影响较大的边缘子载波。

特征提取与分类

对于存在检测任务,常用的特征包括:

  • 幅度方差:人体存在时信号波动显著增大
  • 相位变化率:反映目标移动速度
  • 子载波间相关性:多径环境变化导致相关性下降

生命体征监测则需要更精细的处理。呼吸引起的胸腔位移约为 4-12mm,对应 CSI 相位变化极其微弱。通常采用以下策略:

  • 使用相位差分消除载波频率偏移和采样频率偏移
  • 应用 PCA 或 ICA 分离混合信号成分
  • 通过 FFT 或自相关分析提取周期性呼吸频率

应用场景与性能边界

存在检测与定位

基于 CSI 的存在检测在静态环境下可以达到 95% 以上的准确率。Amazon Research 的实验表明,在家庭环境中利用 CSI 进行房间级定位,通过多接收器融合可以实现亚米级精度。关键在于环境校准 —— 家具位置变化会改变多径特征,需要定期更新基线模型。

生命体征监测

呼吸监测相对成熟,在 1-3 米距离内可以达到 ±1 次 / 分钟的精度。心跳监测则更具挑战性,因为心脏跳动引起的体表位移仅为 0.1-0.5mm,且呼吸谐波可能掩盖心跳信号。实际部署中建议:

  • 受试者与天线保持 0.5-2 米距离
  • 采用正交极化天线减少多径干扰
  • 使用自适应滤波分离呼吸和心跳成分

活动识别与跌倒检测

通过分析 CSI 时间序列的时频特征,可以识别行走、坐下、跌倒等日常活动。跌倒检测对延迟敏感,通常要求端到端延迟低于 500ms,这需要边缘端预处理和轻量级分类模型。

生产部署检查清单

将 CSI 感知系统从原型推进到生产环境,需要考虑以下工程要素:

环境适应性:建立动态基线更新机制,应对日间温度变化、家具移动等环境漂移。可以采用滑动窗口统计或在线学习算法。

多径干扰抑制:在复杂多径环境(如金属家具较多的房间)中,考虑使用定向天线或波束成形技术聚焦目标区域。

功耗优化:ESP32 持续采集 CSI 的功耗约为 100-150mA。对于电池供电场景,可采用间歇采集策略,在保证检测灵敏度的前提下降低占空比。

数据安全:CSI 数据虽然不包含图像,但仍可能泄露居住者的生活习惯。建议本地处理敏感任务,仅上传聚合后的匿名化统计信息。

法规合规:确保发射功率符合当地射频法规(如 FCC 或 CE 认证要求),避免干扰其他无线设备。

参考资料

  • Wi-ESP: A tool for CSI-based Device-Free Wi-Fi Sensing - WRL KIST Lab
  • WiFi Sensing with Channel State Information: A Survey (ACM Computing Surveys 2019)
  • On CSI-Based Vital Sign Monitoring Using Commodity WiFi (ACM Health 2020)
  • RuView GitHub Repository: https://github.com/ruvnet/RuView

wireless-systems

内容声明:本文无广告投放、无付费植入。

如有事实性问题,欢迎发送勘误至 i@hotdrydog.com