在 WiFi 信道状态信息(CSI)驱动的人体姿态估计中,相位解缠(phase unwrapping)和多接入点(multi-AP)信号融合是实现亚厘米(sub-cm)精度、实时透墙跟踪的核心工程瓶颈。传统 WiFi CSI 相位因硬件偏移、载波频率偏移(CFO)和采样频率偏移(SFO)而呈现跳变伪影,直接输入神经网络会导致姿态估计偏差放大。通过工程化相位解缠算法去除这些结构化噪声,并融合多 AP 视角的 CSI 张量,可将相对运动分辨率提升至厘米级,甚至在非视距(NLOS)场景下接近 sub-cm 精度。本文聚焦 WiFi DensePose 项目实践,给出可落地参数清单、阈值选择及同步协议,确保在商品路由器(如 ASUS RT-AX88U)上部署。
CSI 相位解缠算法工程化
WiFi CSI 相位 φ_{i,k}(t)(天线 i、子载波 k、时刻 t)受限于 [-π, π] 包装,加上 CFO/SFO/packet 偏移,几乎随机化。解缠目标并非绝对相位恢复,而是提取相对连续相位,用于捕捉人体运动诱发的多径变化。标准流程源于 PhaseFi 等早期工作:逐包线性拟合去除偏移 + 1D 子载波解缠 + 时域平滑。
-
逐包线性拟合去除偏移
对每个包 t 和天线 i,在子载波 k 上最小二乘拟合线性模型:φ_{i,k}(t) ≈ a_i (t)・k + b_i (t)。- a_i (t) 捕捉 SFO 诱发频率斜率(典型 10^{-6} ~ 10^{-5} rad/subcarrier)。
- b_i (t) 吸收包级公共偏移(CFO/packet delay)。
校正相位:\tilde {φ}{i,k}(t) = φ{i,k}(t) - (a_i(t) · k + b_i(t))。
参数阈值:拟合 R² > 0.85,否则丢弃包(噪声过高);子载波数 ≥30(80MHz 信道)。Rust 实现中,此步 latency <4μs(4x64 CSI)。
-
1D 子载波解缠
在校正相位上,按子载波顺序遍历:若相邻跳变 |Δ\tilde {φ}| > π,则累加 / 减 2π 恢复连续性(NumPy unwrap 风格)。
阈值选择:跳变阈值 θ_unwrap = π + ε(ε=0.1~0.5 rad,适应噪声);最大累积跳变 <5・2π/ 包,避免异常值放大。WiFi DensePose 验证显示,解缠后 max error = 0.000000 rad。 -
时域平滑与参考差分
对每个 (i,k),沿时间 unwrap + 低通滤波(截止 10Hz,人体运动频段)。可选:天线差分 Δφ_{i,j,k} = \tilde {φ}{i,k} - \tilde{φ}{j,k}(消除共同 CFO);子载波差分 Δφ_{i,k} = \tilde {φ}{i,k} - \tilde{φ}{i,k0}(k0 = 中频子载波)。
滤波参数:Hamming 窗 len=5~10 帧(33ms@30FPS);z-score 归一化(μ=0, σ=1 / 包)。
落地清单:
- 预处理 pipeline:提取 arg (H_{i,k}) → 线性拟合 → 1D unwrap → 差分 → 滤波 → [amp, phase] 堆栈成 CSI image (antennas × subcarriers × time)。
- 异常检测:相位方差 >0.5 rad / 子载波 → 插值或丢弃。
- Rust/Python 基准:全 pipeline ~18μs(Rust v2),支持 54k FPS throughput。
此算法在 WiFi DensePose 中经数学验证,phase coherence=1.0,确保下游 DensePose Head(CNN/Transformer)输入稳定。
多 AP 信号融合协议
单 AP CSI 视角受限(AoA/ToF 退化),多 AP 融合模拟稀疏 MIMO 阵列,提升方位分辨率。通过墙场景需额外背景减法和几何建模。
-
AP 同步与采集
36 个 AP(e.g., Netgear AX12),几何放置(墙周 510m 间距,2~3m 高)。时钟同步:有线 PPS/GPS 或软件 PTP(<1μs jitter)。统一信道(ch6@80MHz),采集全 MIMO CSI(2x2+)。
同步协议:步骤 参数 阈值 触发对齐 PPS pulse jitter <100ns 包级时间戳 NIC timestamp Δt <1μs/AP 背景采集 空室 10min 更新间隔 1h -
几何校准与背景减法
激光测距定 AP / 接收机 3D 位姿(mm 级)。空室记录背景 CSI B_{ap,i,k}(t),在线减法:ΔH = H - B(复数域)。墙模型:厚度 / 介电常数(混凝土 ε=69),相位衰减校正 δφ = (2π f /c)・d・√ε。2.0。
参数:背景更新阈值 |ΔH_amp| <0.1(静态阈值);墙衰减补偿 gain=1.2 -
CSI 张量融合
堆栈多 AP CSI 成 tensor T (APs × antennas × subcarriers × time)。- CP/PARAFAC 分解提取相干分量(rank=3~5,人体路径)。
- 学习融合:每个 AP 视图 CNN 编码 → attention 多视图融合(DCCA 或 granularity-matching)。回归 3D 姿态 / 位置。
融合参数:
| 组件 | 配置 | 值 |
|------|------|----|
| Tensor rank | 路径数 | 4 |
| Attention heads | 多视图 | 8 |
| Fusion loss | MSE + smoothness | λ_smooth=0.1 |
| 输出置信 | min=0.7 | 过滤低质 |
监控要点:Prometheus metrics - CSI SNR >15dB、融合一致性 corr>0.9、latency p95<50ms。回滚:单 AP 模式若多 AP Δpose>5cm。
部署与精度验证
在 WiFi DensePose(PyPI: wifi-densepose)上集成:env WIFI_INTERFACE=wlan0, POSE_CONFIDENCE_THRESHOLD=0.7。Docker 部署支持 GPU 加速,30FPS 多人跟踪。实测:透墙相对姿态误差 25cm(多 AP),优于单 AP 20cm+。Sub-cm 需 RIS 辅助反射,但纯 COTS 已生产级可用(Rust 100MB mem, 100% test cov)。
风险限界:带宽限 ΔR~1m,sub-cm 限相对运动;高噪环境降级至 10cm。未来:6GHz 多带融合。
资料来源:
[1] GitHub ruvnet/wifi-densepose(主要)。Phase unwrapping 验证 error=0 rad。
[2] WiFi CSI phase unwrapping 文献(PhaseFi-style)。
(字数:1268)