免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

RuView CSI 边权计算指南:从信道状态信息到射频感知图的多径相干性度量与归一化

RuView CSI 边权计算指南:从信道状态信息到射频感知图的多径相干性度量与归一化 RuView CSI 边权计算指南从信道状态信息到射频感知图的多径相干性度量与归一化【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView导读在 RuView 的多站点 WiFi 感知网络中每一对发射—接收TX-RX节点都定义了空间图上的一条边edge边的权重编码了这两个节点之间无线信道的相干性与稳定性是后续断层成像重建、活动识别与图神经网络推理的输入基础。本文以研究文档 02-csi-edge-weight-computation.md 为骨架系统讲解针对 16 节点 ESP32 网格120 条双向 TX-RX 边、20 Hz 更新率的 CSI 特征提取、链路相干性度量、多径稳定性评分、时间窗滤波、噪声鲁棒性与边权归一化全流程并对照 RuView v2 的 Rust crate 源码给出实现映射。读完本文你将掌握一套可直接落地到 ESP32 聚合器与 Rust 感知服务器的边权计算流水线并理解 RuView 相干性门控coherence gate背后的设计动机。1. CSI 特征提取边权计算的数据基础1.1 CSI 测量模型ESP32 节点运行在 HT2020 MHz信道上时上报的 CSI 是一个复值子载波增益向量。对于 802.11n HT20CSI 向量最多包含 56 个可用子载波索引 -28 到 28剔除空子载波与 DC 子载波。链路 $(i,j)$ 在时刻 $t$ 的 CSI 快照可写为$$ \mathbf{h}_{ij}(t) [H_{ij}(f_1, t), H_{ij}(f_2, t), \ldots, H_{ij}(f_K, t)]^T \in \mathbb{C}^K $$其中 $K \leq 56$$f_k$ 是第 $k$ 个子载波的中心频率子载波间隔 $\Delta f 312.5$ kHz。这 56 维复向量是后续所有边权特征的原始来源——从源码结构看RuView 的 Rust 侧通过 tdm.rsTDM 协议与硬件层收包再在ruvsense系列模块中做归一化与特征计算。1.2 幅度特征幅度响应 $|H_{ij}(f_k, t)|$ 综合反映路径损耗、多径衰落以及人体遮挡/反射引起的信道变化是感知的最直接观测量。文档给出三类核心幅度特征子载波幅度方差SAV, Subcarrier Amplitude Variance。对 $W$ 个包的短窗口$$ \text{SAV}{ij}(k) \frac{1}{W-1} \sum{w1}^{W} \left(|H_{ij}(f_k, t_w)| - \overline{|H_{ij}(f_k)|}\right)^2 $$某个子载波 $k$ 上 SAV 偏高说明该频率上的信道正在被扰动——通常是该子载波所敏感的菲涅尔区内有运动。幅度稳定性指数ASI, Amplitude Stability Index。跨子载波求变异系数倒数平均$$ \text{ASI}{ij} \frac{1}{K} \sum{k1}^{K} \frac{\overline{|H_{ij}(f_k)|}}{\sigma_{|H_{ij}(f_k)|} \epsilon} $$$\epsilon$ 为防止除零的小常数。ASI 越高链路越稳定是边权的直接候选。主成分能量比PCER。对 $K \times W$ 幅度矩阵做 PCA计算第一主成分解释的方差比例静态信道能量集中在 PC1动态信道能量分散到多个成分。值得一提的是RuView 源码中的相干性实现并非直接采用上述公式而是采用“方差倒数加权的高斯似然”形式见 coherence.rsscore sum(w_i * exp(-0.5 * z_i^2)) / sum(w_i) 其中 z_i |current_i - reference_i| / sqrt(variance_i) w_i 1 / (variance_i epsilon)低方差稳定的子载波主导该得分使其对环境漂移敏感、同时容忍身体运动引起的子载波波动——这与本文档 ASI 强调“低变异子载波贡献大”的思路一致可视为 ASI 思想在工程实现中的在线版本。1.3 相位特征ESP32 硬件上报的原始 CSI 相位被多重误差污染采样频率偏移SFO跨子载波的线性相位斜率载波频率偏移CFO所有子载波上的恒定相位偏移包检测延迟PDD每包随机相位跳变本振LO相位噪声慢速随机游走。相位净化Phase Sanitization。提取特征前先做线性回归去除 SFO 与 CFO$$ \hat{\phi}{ij}(f_k, t) \angle H{ij}(f_k, t) - \left(\hat{a}(t) \cdot k \hat{b}(t)\right) $$$\hat{a}(t)$、$\hat{b}(t)$ 是对时刻 $t$ 跨子载波解卷绕相位做最小二乘拟合得到的斜率与截距。相位差稳定性。绝对相位会漂移因此改用相邻子载波相位差$$ \Delta\phi_{ij}(k, t) \angle H_{ij}(f_{k1}, t) - \angle H_{ij}(f_k, t) $$窗口内 $\Delta\phi$ 的时间方差对 CFO/SFO 鲁棒因为二者对所有子载波影响相同这正是 SpotFi 及其后续工作采用的共轭相乘方法的基础。圆相位方差Circular Phase Variance。相位按 $2\pi$ 卷绕需使用圆统计。一组角度 ${\theta_1, \ldots, \theta_W}$ 的圆方差$$ V_{\text{circ}} 1 - \left|\frac{1}{W} \sum_{w1}^{W} e^{j\theta_w}\right| $$$V_{\text{circ}} 0$ 表示相位完全稳定$V_{\text{circ}} 1$ 表示均匀分布完全不稳。RuView 工程侧对相位问题的处理更进一步当 ESP32 在多个 WiFi 信道间跳频时每个信道会引入不同的 LO 相位旋转 $\delta_c$phase_align.rs 通过识别“静态子载波”跨信道幅度方差最低的 30% 子载波估计并剥离各信道偏移再以阻尼 Neumann 迭代精化默认max_iterations 20、容差1e-4、min_static_subcarriers 5。该模块的测试用例覆盖了已知相位偏移的校正如known_offset_corrected并专门验证了非收敛输入会被迭代上限终止ADR-154 相关防护。1.4 多径剖面特征对 CSI 向量做 IFFT 得到信道冲激响应CIR$$ h_{ij}(\tau, t) \text{IFFT}{H_{ij}(f_k, t)} $$20 MHz 带宽对应的时延分辨率为 $1/B \approx 50$ ns即约 15 米的路径长度分辨率。关键 CIR 特征RMS 时延扩展$\tau_{\text{rms}} \sqrt{\overline{\tau^2} - \bar{\tau}^2}$按抽头功率加权。时延扩展稳定说明散射环境静态抽头数Tap Count超过噪声阈值的 CIR 抽头数量。突变提示出现新反射体或遮挡物主抽头比Dominant Tap Ratio最强抽头功率除以总功率。高比值意味着存在占优的视距或镜面反射路径。1.5 包时序特征20 Hz 发包率下包间间隔名义为 50 ms。到达时间偏差可能来自网络拥塞/竞争CSMA/CA 退避、节点重启或固件故障、刻意安排的 TDM 时隙滑动。包抖动 $J_{ij}(t)$ 是链路健康指示器持续高抖动会降低边权估计的时间分辨率应当降低该边的置信度即权重。2. 相干性度量链路“稳定度”的数学刻画2.1 互相关与自相关两条链路 $(i,j)$ 与 $(k,l)$ 的 CSI 幅度时间序列之间的 Pearson 相关衡量二者对环境变化是否“同调响应”$$ \rho_{(ij),(kl)} \frac{\text{Cov}(|\mathbf{h}{ij}|, |\mathbf{h}{kl}|)}{\sigma_{|\mathbf{h}{ij}|} \cdot \sigma{|\mathbf{h}_{kl}|}} $$但对单条链路的边权更相关的是自相干滞后 $\tau$ 的时间自相关$$ R_{ij}(\tau) \frac{1}{W} \sum_{t1}^{W-\tau} \frac{(|\mathbf{h}{ij}(t)| - \bar{h})(|\mathbf{h}{ij}(t\tau)| - \bar{h})}{\sigma^2} $$自相关函数快速衰减说明信道不稳定。去相关时间 $\tau_d$$R_{ij}(\tau)$ 首次跌破 $1/e$ 的滞后直接刻画链路稳定性。2.2 互信息两个 CSI 特征向量 $\mathbf{x}$、$\mathbf{y}$可来自不同子载波组或不同时间窗的互信息$$ I(\mathbf{x}; \mathbf{y}) H(\mathbf{x}) H(\mathbf{y}) - H(\mathbf{x}, \mathbf{y}) $$理论上可用 Kraskov-Stoegbauer-GrassbergerKSG估计器基于联合空间 $k$ 近邻距离捕获相关性无法刻画的非线性依赖。但在 ESP32 聚合器上以 20 Hz 实时运行KSG 过于昂贵。文档给出的替代方案是分箱估计对量化幅度使用 $B 8$–16 个箱每边每次更新计算量 $O(W \cdot B^2)$对 $W 20$、$B 8$ 完全可行。2.3 谱相干子载波 $k$ 上两条链路 CSI 时间序列的幅度平方相干MSC$$ C_{(ij),(kl)}(f) \frac{|P_{(ij),(kl)}(f)|^2}{P_{(ij),(ij)}(f) \cdot P_{(kl),(kl)}(f)} $$$P$ 为 Welch 法估计的互谱密度。对单条链路边权取当前 CSI 与静态参考 CSI 之间的谱相干$$ C_{ij}^{\text{ref}}(f) \frac{|P_{ij,\text{ref}}(f)|^2}{P_{ij}(f) \cdot P_{\text{ref}}(f)} $$跨子载波频率求平均即得标量边权$w_{ij} \frac{1}{K}\sum_k C_{ij}^{\text{ref}}(f_k)$。2.4 相位相量相干RuView 相干性门控的核心度量这是 RuView 相干性门控使用的核心度量。对子载波 $k$ 上长度为 $W$ 的相位测量窗$$ \gamma_{ij}(k) \left|\frac{1}{W} \sum_{w1}^{W} e^{j\hat{\phi}_{ij}(f_k, t_w)}\right| $$即平均相量的模。其性质$\gamma 1$所有相位样本完全相同完全相干$\gamma 0$相位在圆上均匀分布无相干天然对相位卷绕鲁棒操作定义在单位圆上除 CFO 去除外无需相位解卷绕或净化。宽带相量相干。跨子载波平均$$ \Gamma_{ij} \frac{1}{K} \sum_{k1}^{K} \gamma_{ij}(k) $$这是首要边权候选取值 $[0, 1]$、无量纲、在运动下优雅退化。差分相量相干。为去除共模相位漂移对子载波对 $(k, k1)$ 的相位差计算相量相干$$ \gamma_{ij}^{\Delta}(k) \left|\frac{1}{W} \sum_{w1}^{W} e^{j\Delta\phi_{ij}(k, t_w)}\right| $$该变体对 LO 漂移严格更鲁棒是 RuView 相干性门控实际采用的版本。从源码看coherence.rs 的CoherenceState维持一份“参考模板”CSI 观测的指数移动平均与逐子载波方差估计update()在score accept_threshold时以 EMA默认decay 0.95更新参考模板否则递增stale_count并基于得分与陈旧帧数分类漂移剖面Stable/Linear/StepChange见classify_drift。这与本文档“静态参考比较 时间平滑”的思路一一对应且实现了文档 5.5 节 Z-score 门控思想的工程化形态。2.5 复合相干得分将幅度稳定性与相位相干合并为单一权重$$ w_{ij} \alpha \cdot \Gamma_{ij}^{\Delta} (1 - \alpha) \cdot \text{ASI}_{ij}^{\text{norm}} $$$\alpha \in [0.5, 0.8]$ 通常偏向相位相干对小运动更敏感$\text{ASI}^{\text{norm}}$ 为归一化到 $[0,1]$ 的幅度稳定性指数。$\alpha$ 的取值取决于 SNR 区间低 SNR长链路、NLOS下幅度特征更可靠相位噪声主导高 SNR短链路、LOS下相位相干提供更优的运动灵敏度。3. 多径稳定性评分超越整段 CSI 的细粒度分解3.1 动机CSI 向量是所有多径分量的叠加。CSI 稳定不代表环境稳定——可能只是主路径稳定而次路径波动。把信道分解为独立多径分量并追踪其稳定性能为边权提供更丰富的信息。3.2 MUSIC多径分解MUSIC 从 CSI 估计各多径分量的到达角AoA与/或到达时间ToA。空间平滑。单天线如 ESP32下空间平滑用频域 CSI 构造伪阵列把 $K$ 个子载波划分成 $L$ 大小的重叠子阵列$$ \mathbf{R} \frac{1}{K-L1} \sum_{i0}^{K-L} \mathbf{h}_i \mathbf{h}_i^H $$其中 $\mathbf{h}_i [H(f_i), H(f_{i1}), \ldots, H(f_{iL-1})]^T$。特征分解。$\mathbf{R} \mathbf{U}\boldsymbol{\Lambda}\mathbf{U}^H$。$P$ 个最大特征值对应的特征向量张成信号子空间其余 $L-P$ 个特征向量张成噪声子空间 $\mathbf{U}_n$。MUSIC 伪谱。对时延 $\tau$$$ P_{\text{MUSIC}}(\tau) \frac{1}{\mathbf{a}^H(\tau)\mathbf{U}_n\mathbf{U}_n^H\mathbf{a}(\tau)} $$导向向量 $\mathbf{a}(\tau) [1, e^{-j2\pi\Delta f\tau}, \ldots, e^{-j2\pi(L-1)\Delta f\tau}]^T$。ESP32 约束。$K 56$ 个子载波、$L 20$ 时可分辨最多 $P 5$ 个多径分量时延分辨率优于 FFT 极限。$20 \times 20$ Hermitian 矩阵的特征分解约需 15,000 次浮点运算——在聚合节点以 20 Hz 批量处理 120 条边可行但不能在每块 ESP32 上独立运行。3.3 ESPRIT免搜索的直接时延估计ESPRIT 无需伪谱搜索即可给出直接时延估计。取信号子空间 $\mathbf{U}_s$ 的前 $L-1$ 行与后 $L-1$ 行$$ \mathbf{U}_1 \mathbf{U}_s(1:L-1, :), \quad \mathbf{U}_2 \mathbf{U}_s(2:L, :) $$旋转矩阵 $\boldsymbol{\Phi} \mathbf{U}_1^{\dagger}\mathbf{U}_2$ 的特征值为 $e^{-j2\pi\Delta f\tau_p}$可直接提取时延 $\tau_p$。ESPRIT 比 MUSIC 计算量更小无网格搜索、给出闭式时延估计实时运行优先选 ESPRIT。3.4 稀疏多径的压缩感知当多径信道稀疏大时延扩展内只有少数主导路径时可用压缩感知建模$$ \mathbf{h}_{ij} \mathbf{A}\mathbf{x} \mathbf{n} $$$\mathbf{A}$ 为 $K \times G$ 字典矩阵$G \gg K$ 个时延网格点$\mathbf{x}$ 为路径增益稀疏向量$\mathbf{n}$ 为噪声。用 ISTA迭代收缩阈值算法求解$$ \mathbf{x}^{(n1)} \mathcal{S}_{\lambda}\left(\mathbf{x}^{(n)} \mu\mathbf{A}^H(\mathbf{h} - \mathbf{A}\mathbf{x}^{(n)})\right) $$$\mathcal{S}_{\lambda}$ 为阈值 $\lambda$ 的软阈值算子$\mu$ 为步长。对典型 CSI 稀疏度ISTA 在 20–50 次迭代内收敛。RuView 的断层成像模块在体素空间重建中使用带 $\ell_1$ 惩罚的 ISTA见 tomography.rs同一求解器只需把操作域从空间域换成时延域即可复用于逐链路多径分解。3.5 多径稳定性得分MSS给定逐时刻分解出的多径参数 ${(\tau_p, \alpha_p)}_{p1}^{P}$时延与复幅度稳定性计算分三步路径持续性。用匈牙利算法按时延差做最小代价匹配跨时间追踪多径分量。连续 $N$ 个窗口存活的路径贡献持续性得分 $N/N_{\max}$。路径幅度稳定性。对每条被追踪路径 $p$$$ S_p \frac{\bar{|\alpha_p|}}{\sigma_{|\alpha_p|} \epsilon} $$即路径幅度的变异系数倒数。复合多径稳定性得分$$ \text{MSS}{ij} \sum{p1}^{P} \frac{|\alpha_p|^2}{\sum_q |\alpha_q|^2} \cdot S_p \cdot \frac{N_p}{N_{\max}} $$按功率加权的逐路径稳定性平均更强路径权重更高出现又消失低持续性的路径被惩罚。3.6 实时子空间跟踪每步做完整特征分解过于昂贵。改用秩一子空间跟踪算法PAST投影近似子空间跟踪随新 CSI 向量增量更新信号子空间单次更新 $O(LP)$ 而非 $O(L^3)$GROUSEGrassmann 流形秩一更新子空间估计在 Grassmann 流形上操作保证收敛且复杂度 $O(LP)$。对 20 Hz 更新率、$L 20$、$P 5$子空间跟踪每边每次更新约 200 次乘加运算——即使对聚合器也微不足道。4. 时间窗处理在响应性与稳定性之间取平衡4.1 需求边权必须兼顾两个相互冲突的目标响应性100–200 ms 内20 Hz 下 2–4 个包检测到运动起始稳定性避免热噪声或瞬时干扰引起虚假波动。4.2 指数移动平均EMA对当前 CSI 包算出的边权 $w_{ij}(t)$$$ \hat{w}{ij}(t) \beta \cdot \hat{w}{ij}(t-1) (1-\beta) \cdot w_{ij}(t) $$有效记忆长度为 $1/(1-\beta)$ 个包。20 Hz 下的典型取值$\beta 0.9$10 包记忆500 ms响应良好$\beta 0.95$20 包记忆1 s更平滑但更慢$\beta 0.8$5 包记忆250 ms响应最快、噪声最大。EMA 每边每更新只需一次乘加、每边存一个浮点数。120 条边总内存 480 字节。4.3 Welford 在线统计计算运行均值与方差而不存储整个窗口时Welford 算法提供数值稳定的一遍更新n 1 delta x - mean mean delta / n delta2 x - mean M2 delta * delta2 variance M2 / (n - 1)对边权计算对原始相干值做 Welford 统计运行均值即平滑权重、运行方差即置信界。RuView 纵向longitudinal模块用 Welford 统计做生物力学漂移检测见 longitudinal.rs同一基础设施可复用于边权。加窗 Welford。标准 Welford 全程累积滑动窗口需维护最近 $W$ 个值的环形缓冲并做移除更新delta_old x_old - mean mean - delta_old / n delta2_old x_old - mean M2 - delta_old * delta2_old每更新 $O(1)$ 计算、$O(W)$ 内存的精确加窗统计。4.4 边权卡尔曼滤波将真实边权建模为带高斯噪声的随机游走状态方程$w_{ij}(t) w_{ij}(t-1) q(t)$$q(t) \sim \mathcal{N}(0, Q)$观测方程$z_{ij}(t) w_{ij}(t) r(t)$$r(t) \sim \mathcal{N}(0, R)$其中 $z_{ij}(t)$ 是测得的相干/稳定度度量$Q$、$R$ 为过程与测量噪声方差。标量情况下的滤波方程# Predict w_pred w_est_prev P_pred P_prev Q # Update K P_pred / (P_pred R) w_est w_pred K * (z - w_pred) P (1 - K) * P_pred相比 EMA 的优势根据噪声水平自适应平滑强度后验方差 $P$ 充当置信度度量估计稳定后卡尔曼增益 $K$ 自动降低对虚假扰动惯性增大。$Q$ 与 $R$ 的调参$R$ 由测量噪声底相干度量的热噪声方差估计典型 $R \in [0.001, 0.05]$取决于 SNR$Q$ 控制跟踪速度越高响应越快典型 $Q \in [0.0001, 0.01]$比值 $Q/R$ 决定稳态卡尔曼增益运动检测场景 $Q/R \approx 0.1$ 较为平衡。自适应 Q。检测到运动事件如相干性骤降时将 $Q$ 临时放大 10–100 倍让滤波器跟踪快速变化再在 1–2 秒内衰减回基线 $Q$。从源码看RuView 的卡尔曼滤波逻辑位于 pose_tracker.rs且 coherence_gate.rs 的GateDecision正是“门控卡尔曼更新策略”的实现Accept相干 0.85做完整量测更新PredictOnly0.5–0.85只做预测步并将量测噪声放大 3 倍Reject 0.5丢弃量测Recalibrate持续低相干超过max_stale_frames 200帧约 10 s触发重校准管线。4.5 多速率估计同时维护多个时间尺度的边权时间尺度窗口用途快100 ms2 包运动起始检测中500 ms10 包活动分类慢5 s100 包占用/存在基线60 s1200 包静态环境模型快估计提供即时反应慢估计提供“正常”信道行为的参照。感知用边权通常取快慢之比$$ w_{ij}^{\text{sensing}} \frac{\Gamma_{ij}^{\text{fast}}}{\Gamma_{ij}^{\text{slow}} \epsilon} $$接近 1.0 表示相对基线无变化显著低于 1.0 表示存在主动扰动。这种比值法自动适配每条链路的基线差异。4.6 计算预算20 Hz × 120 条边 每秒 2,400 次边权更新。单次更新预算方法运算量内存/边总内存120 边EMA2 FLOP4 B480 BWelford加窗W208 FLOP84 B~10 KB卡尔曼标量10 FLOP8 B960 B多速率4 个 EMA8 FLOP16 B1.9 KB所有方法对 ESP32-S3 聚合器240 MHz 双核、512 KB SRAM都微不足道。5. 噪声鲁棒性真实硬件的考验5.1 ESP32 CSI 的噪声来源相位噪声ESP32 晶振在 1 kHz 偏移处相位噪声底约 -90 dBc/Hz在 2.4 GHz 载频上折算为每包约 5–10 度的相位标准差。这是基于相位的相干度量的主导噪声源自动增益控制AGC接收机按接收信号强度自动调增益表现为所有子载波幅度同步的阶跃变化。接收功率变化超过约 3 dB 时触发 AGC 事件时钟漂移40 MHz 晶振典型漂移 10–20 ppm。1 秒测量窗内引起的相位斜坡可达约 300 弧度——远大于任何感知信号必须在相位特征提取前去除量化噪声CSI 的 ADC 分辨率约 8–10 bit每 I/Q 分量。量化噪声功率 $\Delta^2/12$ 通常比热噪声底低 20–30 dB可忽略同信道干扰2.4 GHz ISM 频段中其他 WiFi 网络、蓝牙设备、微波炉的突发流量会破坏个别 CSI 测量。5.2 AGC 补偿AGC 变化对所有子载波影响相同乘性缩放。检测与补偿三步检测。计算相邻包间总 CSI 功率比 $$r(t) \frac{\sum_k |H(f_k, t)|^2}{\sum_k |H(f_k, t-1)|^2}$$ 若 $|r(t) - 1| \theta_{\text{AGC}}$典型 $\theta_{\text{AGC}} 0.5$约 1.75 dB标记 AGC 事件。补偿。按总功率归一化每个 CSI 向量 $$\tilde{H}(f_k, t) \frac{H(f_k, t)}{\sqrt{\sum_k |H(f_k, t)|^2}}$$ 移除乘性增益变化保留频谱形状相对子载波幅度与相位丢弃绝对功率信息。权重影响。AGC 过渡期间幅度类边权会出现瞬时伪影AGC 事件后对边权更新施加短暂保持1–2 包防止误报运动检测。5.3 时钟漂移去除两种方法按鲁棒性递增逐包线性回归。对跨子载波解卷绕相位拟合直线并减去每包独立去除 SFO斜率与 CFO截距。局限解卷绕相位在大多径扩展下存在歧义时失效。共轭相乘。计算$$ H_{\text{conj}}(f_k, t) H(f_k, t) \cdot H^*(f_k, t-1) $$$H_{\text{conj}}$ 的相位等于包间相位变化抵消一切静态相位偏移。时钟漂移对 $H_{\text{conj}}$ 的贡献是跨所有子载波的恒定相位旋转漂移在频率上线性、在单包间隔内恒定。用圆均值估计并移除该常数$$ \psi_{\text{drift}}(t) \angle\left(\frac{1}{K}\sum_k H_{\text{conj}}(f_k, t)\right) $$$$ \tilde{H}{\text{conj}}(f_k, t) H{\text{conj}}(f_k, t) \cdot e^{-j\psi_{\text{drift}}(t)} $$5.4 离群值拒绝的鲁棒统计单个 CSI 包可能被干扰或硬件故障污染。与其丢包降低有效采样率不如使用鲁棒估计器中位绝对偏差MAD。对相干值窗口 ${c_1, \ldots, c_W}$$$ \text{MAD} \text{median}(|c_i - \text{median}(c)|) $$鲁棒标准差估计为 $\hat{\sigma} 1.4826 \cdot \text{MAD}$距中位数超过 $3\hat{\sigma}$ 的值标记为离群值。截尾均值。每窗口先丢弃上下 10% 的相干值再求均值剔除极端离群值同时保留多数数据。Huber M 估计。边权作为位置估计时Huber 损失提供最优偏差—方差权衡$$ \rho(x) \begin{cases} \frac{1}{2}x^2 |x| \leq k \ k|x| - \frac{1}{2}k^2 |x| k \end{cases} $$$k 1.345$ 对应高斯模型 95% 效率。迭代加权最小二乘IRLS3–5 次迭代收敛。5.5 Z-score 异常检测与门控RuView 相干性模块用基于 Z-score 的门控对链路质量分级$$ z_{ij}(t) \frac{\Gamma_{ij}(t) - \mu_{ij}}{\sigma_{ij}} $$$\mu_{ij}$、$\sigma_{ij}$ 为 Welford 统计给出的运行均值与标准差。门控决策Z-score 区间门控决策动作$|z| 2$Accept直接使用边权$2 \leq |z| 3$PredictOnly只用卡尔曼预测跳过量测更新$3 \leq |z| 5$Reject保持上一时刻边权$|z| \geq 5$Recalibrate重置运行统计重新建立基线该机制既防止单个被污染包破坏边权又允许真实的大变化实际运动事件经重校准路径被捕获。源码中 coherence_gate.rs 的四个GateDecision变体与这张表一一对应且GatePolicyConfig的默认阈值accept_threshold 0.85、reject_threshold 0.5、max_stale_frames 200、predict_only_noise 3.0与文档表 5.5 语义一致adaptive_noise_multiplier还实现了随相干度从 accept 到 reject 阈值线性放大的噪声膨胀见 coherence_gate.rs。5.6 干扰检测与缓解非网格发射机的同信道干扰表现为特定子载波噪声底抬高、CSI 幅度突发错误、与运动无关的相位不相干。子载波级 SNR 估计。用慢基线的信号功率与残差功率偏离基线的量之比估计逐子载波 SNR$$ \text{SNR}(f_k) \frac{|\bar{H}(f_k)|^2}{\text{Var}(|H(f_k)|)} $$SNR 低于阈值如 5 dB的子载波从相干计算中剔除。自适应子载波选择以降低频率分集为代价提升边权质量。RuVector 的子载波选择模块subcarrier_selection.rs即 subcarrier_selection.rs实现了基于 mincut 的选择以“运动方差/静态方差”的方差比作为灵敏度评分mincut_subcarrier_partition用相似度图边权为灵敏度差的倒数把子载波切分为高/低灵敏度两组复杂度 $O(n^{1.5} \log n)$另有select_sensitive_subcarriers直接按方差比取 top-K默认top_k 20、min_sensitivity 1.5。这套机制可逐边应用为每条链路定制适应其干扰环境的子载波集合。6. 边权归一化让异构链路可比6.1 异质性问题16 节点网格的 120 条 TX-RX 边覆盖极广的条件范围距离链路从 1 m相邻节点到 15 m对角线朝向部分链路 LOS部分穿墙NLOS天线方向图ESP32 PCB 天线近似全向但依朝向有 3–5 dB 变化频率响应不同链路多径剖面不同基线相干水平不同。不做归一化时短 LOS 链路的原始相干性永远高于长 NLOS 链路与是否发生运动无关。必须让每条边的权重反映相对自身基线的运动扰动。6.2 逐边基线归一化最简方案每条边按自身静态环境基线统计归一化$$ w_{ij}^{\text{norm}}(t) \frac{\Gamma_{ij}(t) - \mu_{ij}^{\text{base}}}{\sigma_{ij}^{\text{base}}} $$等价于相对基线的 Z-score0 表示“处于基线”负值表示“相干性下降”检测到运动。基线估计。$\mu_{ij}^{\text{base}}$、$\sigma_{ij}^{\text{base}}$ 在标定期如 30 秒无运动或自适应地使用多速率估计中的慢 EMA 计算。局限。逐边归一化让每条边独立校准但未考虑某些边因菲涅尔区几何天然对运动更敏感。6.3 菲涅尔区灵敏度加权链路对点 $\mathbf{p}$ 处运动的灵敏度取决于 $\mathbf{p}$ 是否落在该链路第一菲涅尔区内。长度 $d$、波长 $\lambda$ 的链路中点的第一菲涅尔区半径$$ r_F \sqrt{\frac{\lambda d}{4}} \approx \sqrt{\frac{0.125 \times d}{4}} \text{ 米2.4 GHz 下} $$5 m 链路 $r_F \approx 0.40$ m15 m 链路 $r_F \approx 0.69$ m。长链路菲涅尔区更宽、覆盖更大面积但单位面积灵敏度更低。链路对点扰动的有效灵敏度$$ S_{ij}(\mathbf{p}) \propto \frac{1}{d_{ij}} \cdot \exp\left(-\frac{\rho^2(\mathbf{p})}{r_F^2}\right) $$$\rho(\mathbf{p})$ 为 $\mathbf{p}$ 到连接 TX $i$、RX $j$ 线段的垂直距离。应用于归一化。用 $S_{ij}$ 加权边对感知图的贡献提升短链路灵敏度高以及菲涅尔区穿过感兴趣区域的链路的权重。6.4 距离相关归一化路径损耗使接收 SNR 随距离下降进而抬高相干估计的噪声底。简单的距离修正$$ w_{ij}^{\text{dist}}(t) w_{ij}^{\text{norm}}(t) \cdot \left(\frac{d_{ij}}{d_{\text{ref}}}\right)^{\eta/2} $$$d_{\text{ref}}$ 为参考距离如 1 m$\eta$ 为路径损耗指数自由空间 $\eta \approx 2$室内 $\eta \approx 3$–4。用 $\eta/2$ 是因为相干噪声随 SNR 的平方根电压域缩放。替代方案实测每条链路的基线相干方差 $\sigma_{ij}^{\text{base}}$ 作为归一化因子自动吸收距离、NLOS 与天线方向图效应无需显式测距。6.5 天线方向图补偿ESP32 PCB 天线方向图不规则取决于板卡朝向与安装、附近金属物体外壳、安装件、TX-RX 偏振对齐。精确归一化需在部署时测量各链路平均接收功率与简单路径损耗模型比对得到链路预算残差实测 − 预测该残差即合并的天线方向图效应。实践中逐边基线归一化6.2 节已隐式吸收天线方向图效应大多数部署无需显式天线补偿。6.6 图算法的跨链路归一化边权被图算法消费如断层重建或图神经网络时须处于一致尺度。三种标准做法Min-Max 归一化。$$ \tilde{w}{ij}(t) \frac{w{ij}(t) - w_{\min}(t)}{w_{\max}(t) - w_{\min}(t)} $$$w_{\min}$、$w_{\max}$ 取时刻 $t$ 全部边的极值。输出 $[0,1]$ 但对离群值敏感。Softmax 归一化。$$ \tilde{w}{ij}(t) \frac{e^{w{ij}(t) / T}}{\sum_{(k,l)} e^{w_{kl}(t) / T}} $$$T$ 为温度参数产生边上的概率分布适用于注意力加权融合。$T$ 越大权重越均匀$T$ 越小权重越集中于最相干的链路。基于秩的归一化。把每条边权换成其在 120 条边中的秩再除以 120。对离群值最鲁棒、边际分布均匀但丢弃幅值信息。6.7 时间归一化边权还应在时间域归一化防止长期漂移影响图计算去趋势。减去慢移动平均如 60 秒 EMA以去除环境漂移温度变化、家具移动、材料随季节日光的效应$$ w_{ij}^{\text{detrend}}(t) w_{ij}(t) - \text{EMA}{60s}(w{ij})(t) $$白化。除以运行标准差得到单位方差的边权波动$$ w_{ij}^{\text{white}}(t) \frac{w_{ij}^{\text{detrend}}(t)}{\sigma_{ij}^{\text{running}}(t)} $$白化信号是检测算法的输入如运动起始的 CFAR 检测器。7. 实现架构三阶段流水线与 Rust 映射7.1 流水线总览16 节点 ESP32 网格的边权计算分三阶段Stage 1: Per-Node (ESP32) Stage 2: Aggregator Stage 3: Sensing Server ----------------------- --------------------------- --------------------- | CSI extraction | | Collect 120 CSI vectors | | Graph construction | | AGC detection | -- | Phase sanitization | -- | Edge weight matrix | | Packet timestamping | | Coherence computation | | Tomographic recon | | TDM slot compliance | | Multipath decomposition | | Activity inference | ----------------------- | Temporal filtering | --------------------- | Normalization | | Z-score gating | ---------------------------Stage 1运行在每块 ESP32 节点上处理最轻提取 CSI 向量、检测 AGC 事件、按 TDM 调度给包打时间戳TDM 协议的 Rust 实现见 tdm.rs。Stage 2运行在聚合节点512 KB SRAM 的 ESP32-S3 或外接树莓派计算并滤波全部 120 条边权。20 Hz × 120 边的计算预算相位净化120 × 200 FLOP 24,000 FLOP相量相干120 × 56 × 4 FLOP 26,880 FLOP卡尔曼滤波120 × 10 FLOP 1,200 FLOP归一化120 × 20 FLOP 2,400 FLOP合计约 55,000 FLOP/周期 1.1 MFLOP/s这远低于 ESP32-S3 单精度约 100 MFLOP/s 的能力上限。Stage 3运行在感知服务器Rust 二进制接收 120 条边权并构建空间图供高层处理。7.2 数据流每次边权更新周期TDM 帧完成16 个节点都在各自时隙内完成发送聚合器收集 120 个 CSI 向量每对 TX-RX 一个RX 节点上报其收到的每个 TX 的 CSI对全部 120 个向量做相位净化计算全部边的 $\Gamma_{ij}^{\Delta}$差分相量相干卡尔曼滤波产出平滑边权Z-score 门控标记异常测量逐边基线归一化向感知服务器广播 120 元素边权向量。边权向量紧凑为 120 × 4 480 字节每边 float32单条 UDP 包即可承载。7.3 内存布局120 条边边权计算的完整状态组件每边总计卡尔曼状态$\hat{w}$、$P$8 B960 BWelford 统计$n$、$\mu$、$M_2$12 B1.4 KB多速率 EMA4 尺度16 B1.9 KB基线统计$\mu_b$、$\sigma_b$8 B960 B相位缓冲上一包224 B26.2 KBAGC 状态上一功率4 B480 B总计272 B约 32 KB在 ESP32-S3 SRAM 中绰绰有余若聚合器上运行 ESPRIT/MUSIC还留有充足余量给多径分解缓冲。7.4 Rust 实现映射边权计算映射到现有 RuView crate 结构以下路径均已在本仓库 v2 工作区核验存在组件Crate模块相量相干wifi-densepose-signalruvsense/coherence.rs相干性门控wifi-densepose-signalruvsense/coherence_gate.rs相位对齐wifi-densepose-signalruvsense/phase_align.rs多径分解wifi-densepose-signalruvsense/field_model.rsWelford 统计wifi-densepose-signalruvsense/longitudinal.rs子载波选择wifi-densepose-ruvector经ruvector-mincut见 subcarrier_selection.rs卡尔曼滤波wifi-densepose-signalruvsense/pose_tracker.rs断层重建wifi-densepose-signalruvsense/tomography.rsTDM 协议wifi-densepose-hardwareesp32/tdm.rs8. 验证与基准测试8.1 真值生成边权质量可在受控实验下验证静态基线。环境无运动时全部边权应保持在基线值附近、方差受热噪声约束。测量虚警率无运动时边权越界的时长占比单路径扰动。让一个人沿已知轨迹行走、横穿特定 TX-RX 链路。被横穿链路的边权应下降未横穿链路保持稳定。测量检测概率与空间选择性多目标分离。两人同时运动。边权应反映各人的独立扰动。用不同链路边权下降的时间相关性验证空间分辨力。8.2 性能指标指标定义目标检测时延从运动起始到边权下降超过阈值的时间 200 ms虚警率静态窗口中出现边权偏差的比例 1%空间选择性路径上/路径外边权变化的比值 10 dB更新率边权刷新频率20 Hz计算负载聚合器 CPU 占用 20%8.3 边权方法对比方法运动灵敏度噪声鲁棒性计算成本推荐用途幅度稳定性ASI中高很低低 SNR、NLOS 链路相位相量相干高中低LOS 链路、精细运动差分相量相干高高低通用默认谱相干中高中中频率选择性衰落多径稳定性ESPRIT很高低高高价值链路复合相位 幅度高高低推荐默认9. 开放研究问题9.1 最优子载波分组边权应由全部 56 个子载波计算还是按对运动响应不同的频带分组初步结果表明把子载波分成 4 个 14 子载波的频带、每带独立计算相干值可获得更好的空间分辨率不同频带对不同路径长度敏感代价是单次估计方差升高。9.2 跨带相干作为边特征同一链路上不同频带的 CSI 之间的相干性可能携带关于多径分量数量与几何的额外信息。该跨带特征尚未用于边权。9.3 非对称边权当前模型 $w_{ij} w_{ji}$信道互易。实践中物理信道互易但测量 CSI 不互易TX、RX 独立硬件损伤。使用有向边、允许非对称权重可能提升灵敏度代价是边数翻倍到 240。9.4 学习式边权图神经网络可从带标签数据已知位置的运动事件学习最优边权函数吸收本文全部手工特征。挑战在于从真实部署中获得足够带标签的训练数据。9.5 信息论最优加权给定 $K$ 个子载波与 $W$ 个窗口内包使边权与“链路菲涅尔区内有无运动”之间互信息最大化的信息论最优边权是什么这仍是开放问题且很可能取决于每条链路的具体多径几何。参考来源本文核心内容继承自研究文档 02-csi-edge-weight-computation.mdResearch Document 02, RuView Project实现证据来自 v2 工作区源码 wifi-densepose-signal 与 wifi-densepose-hardware。相关领域背景可进一步参阅该研究系列的其他文档00-rf-topological-sensing-index.md、01-rf-graph-theory-foundations.md、05-sublinear-mincut-algorithms.md 与 06-esp32-mesh-hardware-constraints.md。原文档引用的学术文献Halperin 的 CSI 采集工具、SpotFi、Dynamic-MUSIC、ESPRIT、Welford 等可在原文档 References 小节 中查阅完整书目。【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表