Back to Ruview

wifi-densepose-signal

rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/README.md

0.7.03.4 KB
Original Source

wifi-densepose-signal

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

AlgorithmModuleReference
Conjugate Multiplicationcsi_ratioSpotFi, SIGCOMM 2015
Hampel FilterhampelWiGest, 2015
Fresnel Zone ModelfresnelFarSense, MobiCom 2019
CSI SpectrogramspectrogramCommon in WiFi sensing literature since 2018
Subcarrier Selectionsubcarrier_selectionWiDance, MobiCom 2017
Body Velocity Profile (BVP)bvpWidar 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

rust
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

text
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
CrateRole
wifi-densepose-coreFoundation types and traits
ruvector-mincutGraph min-cut for person matching
ruvector-attn-mincutAttention-weighted min-cut
ruvector-attentionSpatial attention for CSI
ruvector-solverSparse interpolation solver

License

MIT OR Apache-2.0