202510
systems

Wi-Fi CSI 用于非接触心跳检测

利用 Wi-Fi 信道状态信息(CSI)的相位和幅度变化,实现非接触实时心跳监测。通过信号滤波、子载波选择和 AI 模型,在低成本设备上部署,误差小于 1.5 bpm,适用于家庭被动健康监测。

Wi-Fi 技术早已渗透到日常生活,但其信道状态信息(CSI)作为一种细粒度无线感知手段,正悄然开启非接触式生命体征监测的新时代。传统心跳监测依赖可穿戴设备或接触式传感器,不仅不便于长期使用,还可能引发皮肤不适或隐私泄露问题。相比之下,基于 Wi-Fi CSI 的方法利用日常环境中已有的无线信号,通过捕捉人体胸腔微小运动引起的信号扰动,实现被动、实时的心跳检测。这种技术无需额外硬件改动现有 Wi-Fi 路由器,只需软件层面的信号处理,即可达到临床级别的准确性,为智能家居和远程医疗提供革命性解决方案。

CSI 是 Wi-Fi 信号在多径传播过程中的物理层信息,主要包括幅度和相位两个维度。当人体心跳时,胸腔的周期性扩张与收缩会改变信号的传播路径,导致 CSI 值发生微弱波动。这些波动频率通常在 0.8–2.0 Hz 范围内,对应正常成人静息心率 48–120 bpm。研究表明,通过分析这些变异,可以精确提取心跳信号,而无需直接接触人体。例如,加州大学圣克鲁兹分校的 Pulse-Fi 项目利用 Wi-Fi 信号的幅度变化,结合背景噪音过滤算法,实现了心率估算误差低于 1.5 bpm 的性能。该项目在 1–3 米距离内测试,志愿者数据与脉搏血氧仪对比显示高度一致性,即使在坐姿或行走状态下也能维持稳定性。

另一个关键证据来自上海科技大学的研究,他们提出了一种整合幅度和相位信息的非接触心率监测方法。通过旋转投影技术,将 CSI 的幅度和相位融合成单一信号,提高了对微动扰动的敏感度。随后,采用基于心跳子成分比(HSR)的频率域子载波选择算法,从多个子载波中挑选最优的 5–10 个,用于后续处理。实验结果显示,该方法平均准确率达 96.8%,中位误差仅 0.8 bpm,较传统单一幅度分析提升约 20%。这些证据证明,CSI 不仅能捕捉心跳引起的相位偏移(通常 ±5° 左右),还能通过幅度衰减(0.1–0.5 dB)反映生理动态,远优于粗粒度的 RSSI(接收信号强度指示)方法,后者误差往往超过 5 bpm。

要落地实施这一技术,需要一套系统化的信号处理管道。首先是数据采集:使用支持 CSI 提取的网卡,如 Intel 5300 或 Atheros AR9280,在 802.11n/ac 模式下配置 20–40 MHz 带宽。采集频率建议 1000 Hz,确保捕捉心跳的 Nyquist 采样。原始 CSI 数据包含 30 个子载波(典型 2x3 MIMO 配置),每个包记录幅度和相位值。

其次,进行预处理以消除干扰。静态环境下的多径效应会导致低频漂移,可用高通滤波器(截止频率 0.5 Hz)去除。动态噪音如人体晃动或外部干扰,则通过 Hampel 滤波器或小波去噪(db4 小波,5 层分解)处理。子载波选择是核心步骤:计算每个子载波的方差或 HSR 值(心跳频段功率与总功率比),阈值设为 0.1 以上,选择前 20% 子载波。融合后信号可进一步用 PCA(主成分分析)降维,保留 95% 方差。

心率估计采用频域分析:对处理后信号进行 FFT(快速傅里叶变换),窗长 10–30 秒(重叠 50%),在 0.8–2.0 Hz 带内找峰值。峰值位置 f(Hz)转换为 bpm 为 60*f。为提升鲁棒性,结合多子载波峰值平均,或用自相关函数验证周期性。AI 增强可选:训练轻量 CNN 或 SVM 模型,在 Raspberry Pi 上推理,输入为 CSI 时序特征,输出心率。模型训练数据集可从公开 MIT-BIH 数据库扩展,模拟 CSI 扰动。

部署参数需考虑实际场景。硬件:ESP32(5–10 美元)或 Raspberry Pi 4(30 美元),天线间距 λ/2(2.4 GHz 时约 6 cm)。距离阈值 1–5 米,环境要求室内无强金属反射。监控要点包括:实时误差阈值设 5 bpm,若超标触发警报;多用户场景下,用方向性天线或时分复用隔离信号;功耗优化,每 5 秒采样一次,闲置模式下休眠。

潜在风险包括隐私泄露——CSI 可能无意捕获位置信息,故需本地处理数据,不上传云端。另一个限制是环境敏感性:在多人或高动态场景下,准确率降至 85% 以下,可通过 Kalman 滤波融合 IMU 辅助。回滚策略:若 CSI 失效,fallback 到蓝牙穿戴设备。

总体而言,Wi-Fi CSI 非接触心跳检测不仅是技术创新,更是健康管理的范式转变。通过上述参数和清单,开发者可在现有基础设施上快速原型化,推动从被动感知到主动干预的智能系统演进。(字数:1028)