rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/README.md
State-of-the-art WiFi CSI signal processing for human pose estimation.
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.
| 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 |
CsiProcessor.PhaseSanitizer.MotionDetector.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);
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 |
MIT OR Apache-2.0