- Add signal_bench.rs with Criterion benchmarks for all signal components - Add validation_test.rs proving mathematical correctness of algorithms - Update README.md with validated benchmark results (810x-5400x speedup) - Fix benchmark API usage (sanitize_phase, extract methods) Benchmark Results (4x64 CSI data): - CSI Preprocessing: 5.19 µs (~49 Melem/s) - Phase Sanitization: 3.84 µs (~67 Melem/s) - Feature Extraction: 9.03 µs (~7 Melem/s) - Motion Detection: 186 ns (~5.4 Melem/s) - Full Pipeline: 18.47 µs (~54K fps) Validation Tests (all passing): - Phase unwrapping: 0.0 radians max error - Doppler estimation: 33.33 Hz exact match - Correlation: 1.0 for identical signals - Phase coherence: 1.0 for coherent signals
31 lines
712 B
TOML
31 lines
712 B
TOML
[package]
|
|
name = "wifi-densepose-signal"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
description = "WiFi CSI signal processing for DensePose estimation"
|
|
license.workspace = true
|
|
|
|
[dependencies]
|
|
# Core utilities
|
|
thiserror.workspace = true
|
|
serde = { workspace = true }
|
|
serde_json.workspace = true
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
|
|
# Signal processing
|
|
ndarray = { workspace = true }
|
|
rustfft.workspace = true
|
|
num-complex.workspace = true
|
|
num-traits.workspace = true
|
|
|
|
# Internal
|
|
wifi-densepose-core = { path = "../wifi-densepose-core" }
|
|
|
|
[dev-dependencies]
|
|
criterion = { version = "0.5", features = ["html_reports"] }
|
|
proptest.workspace = true
|
|
|
|
[[bench]]
|
|
name = "signal_bench"
|
|
harness = false
|