# 用WiFi信号感知人体姿态

## 什么是CSI?

CSI(Channel State Information,信道状态信息)是WiFi信号在传播过程中受到环境影响后的状态数据。简单说,当人在WiFi信号覆盖区域内移动时,会对信号造成干扰,这些干扰信息就藏在CSI里。

## ESP32能做到什么?

普通ESP32(¥25一颗)就能采集CSI数据!远比之前需要¥200的USRP设备便宜。

## 基本思路

1. **数据采集**:ESP32扫描WiFi包,提取CSI的幅度和相位信息
2. **信号处理**:通过相位展开、异常值去除、滑动平均等算法提取有效信号
3. **特征提取**:从处理后的信号中提取方差、能量、频谱特征
4. **状态分类**:基于特征判断状态——空房/静止/活动中/躺下/跌倒

## 关键技术点

- **相位增强**:原始CSI幅度对微动(呼吸)不敏感,需要结合相位信息
- **呼吸检测**:FFT频域分析,从噪声中提取呼吸波形
- **多节点融合**:多个ESP32协同工作,区分是一个人在走动还是多个人在不同房间

## 实际效果

在我们的CareBear原型上,双节点可以:
- ✅ 准确判断房间是否有人
- ✅ 区分走路和静止
- ✅ 检测呼吸(验证生命迹象)
- ⚠️ 跌倒检测阈值需进一步校准

后续会分享更多技术细节和代码实现,敬请期待!