Files
wifi-densepose/rust-port/wifi-densepose-rs/crates/wifi-densepose-signal
ruv 37b54d649b feat: implement ADR-029/030/031 — RuvSense multistatic sensing + field model + RuView fusion
12,126 lines of new Rust code across 22 modules with 285 tests:

ADR-029 RuvSense Core (signal crate, 10 modules):
- multiband.rs: Multi-band CSI frame fusion from channel hopping
- phase_align.rs: Cross-channel LO phase rotation correction
- multistatic.rs: Attention-weighted cross-node viewpoint fusion
- coherence.rs: Z-score per-subcarrier coherence scoring
- coherence_gate.rs: Accept/PredictOnly/Reject/Recalibrate gating
- pose_tracker.rs: 17-keypoint Kalman tracker with re-ID
- mod.rs: Pipeline orchestrator

ADR-030 Persistent Field Model (signal crate, 7 modules):
- field_model.rs: SVD-based room eigenstructure, Welford stats
- tomography.rs: Coarse RF tomography from link attenuations (ISTA)
- longitudinal.rs: Personal baseline drift detection over days
- intention.rs: Pre-movement prediction (200-500ms lead signals)
- cross_room.rs: Cross-room identity continuity
- gesture.rs: Gesture classification via DTW template matching
- adversarial.rs: Physically impossible signal detection

ADR-031 RuView (ruvector crate, 5 modules):
- attention.rs: Scaled dot-product with geometric bias
- geometry.rs: Geometric Diversity Index, Cramer-Rao bounds
- coherence.rs: Phase phasor coherence gating
- fusion.rs: MultistaticArray aggregate, fusion orchestrator
- mod.rs: Module exports

Training & Hardware:
- ruview_metrics.rs: 3-metric acceptance test (PCK/OKS, MOTA, vitals)
- esp32/tdm.rs: TDM sensing protocol, sync beacons, drift compensation
- Firmware: channel hopping, NDP injection, NVS config extensions

Security fixes:
- field_model.rs: saturating_sub prevents timestamp underflow
- longitudinal.rs: FIFO eviction note for bounded buffer

README updated with RuvSense section, new feature badges, changelog v3.1.0.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 21:39:02 -05:00
..

wifi-densepose-signal

Crates.io Documentation License

State-of-the-art WiFi CSI signal processing for human pose estimation.

Overview

wifi-densepose-signal implements six peer-reviewed signal processing algorithms that extract human motion features from raw WiFi Channel State Information (CSI). Each algorithm is traced back to its original publication and integrated with the ruvector family of crates for high-performance graph and attention operations.

Algorithms

Algorithm Module Reference
Conjugate Multiplication csi_ratio SpotFi, SIGCOMM 2015
Hampel Filter hampel WiGest, 2015
Fresnel Zone Model fresnel FarSense, MobiCom 2019
CSI Spectrogram spectrogram Common in WiFi sensing literature since 2018
Subcarrier Selection subcarrier_selection WiDance, MobiCom 2017
Body Velocity Profile (BVP) bvp Widar 3.0, MobiSys 2019

Features

  • CSI preprocessing -- Noise removal, windowing, normalization via CsiProcessor.
  • Phase sanitization -- Unwrapping, outlier removal, and smoothing via PhaseSanitizer.
  • Feature extraction -- Amplitude, phase, correlation, Doppler, and PSD features.
  • Motion detection -- Human presence detection with confidence scoring via MotionDetector.
  • ruvector integration -- Graph min-cut (person matching), attention mechanisms (antenna and spatial attention), and sparse solvers (subcarrier interpolation).

Quick Start

use wifi_densepose_signal::{
    CsiProcessor, CsiProcessorConfig,
    PhaseSanitizer, PhaseSanitizerConfig,
    MotionDetector,
};

// Configure and create a CSI processor
let config = CsiProcessorConfig::builder()
    .sampling_rate(1000.0)
    .window_size(256)
    .overlap(0.5)
    .noise_threshold(-30.0)
    .build();

let processor = CsiProcessor::new(config);

Architecture

wifi-densepose-signal/src/
  lib.rs                 -- Re-exports, SignalError, prelude
  bvp.rs                 -- Body Velocity Profile (Widar 3.0)
  csi_processor.rs       -- Core preprocessing pipeline
  csi_ratio.rs           -- Conjugate multiplication (SpotFi)
  features.rs            -- Amplitude/phase/Doppler/PSD feature extraction
  fresnel.rs             -- Fresnel zone diffraction model
  hampel.rs              -- Hampel outlier filter
  motion.rs              -- Motion and human presence detection
  phase_sanitizer.rs     -- Phase unwrapping and sanitization
  spectrogram.rs         -- Time-frequency CSI spectrograms
  subcarrier_selection.rs -- Variance-based subcarrier selection
Crate Role
wifi-densepose-core Foundation types and traits
ruvector-mincut Graph min-cut for person matching
ruvector-attn-mincut Attention-weighted min-cut
ruvector-attention Spatial attention for CSI
ruvector-solver Sparse interpolation solver

License

MIT OR Apache-2.0