Skip to main content
Movement is the strongest signal in WiFi CSI. Limb acceleration creates broadband energy in the 1–5 Hz band, variance spikes across subcarriers, and channel changes within a single packet window. Wavey detects that something moved with a simple threshold, and supports coarser activity classification where labeled data from the deployment environment justifies a classifier.

From motion to activity

Motion detection is a threshold on variance or spectral power — binary, fast, and environment-agnostic within a single deployment. Human activity recognition (HAR) has three generations in the published literature. Each generation trades model complexity against cross-environment robustness.
Before deep learning dominated, CARM built quantitative models:
  • CSI–speed — amplitude change frequency maps to limb speed via Doppler (path-length change of one wavelength = 2π phase shift).
  • CSI–activity — activities differ by which body parts move at which speeds (legs periodic in walking, torso impulse in falling).
Features: PCA denoising, discrete wavelet transform, HMM per activity for state transitions. Greater than 96% on COTS WiFi using amplitude, not phase — CFO on commodity hardware makes raw phase unusable for macro-motion HAR. Still a strong baseline because features encode mechanism, not just correlation.
STFT tiles (time × frequency) fed to CNNs. Learns motion textures without explicit speed models. Works when you have labels; brittle cross-room without adaptation.
CSI has two informative axes:THAT’s Multi-scale Convolution Augmented Transformer (MCAT) processes both streams with Gaussian range encoding. +2.2 pts accuracy over ABLSTM, 1.8–3.4× faster — because a single temporal sample is too elementary to represent a CSI pattern.

The cross-room transfer problem

CrossSense (MobiCom 2018) showed gesture recognition accuracy collapse from greater than 90% in-room to approximately 20% cross-site with a single global model. Their fix: a roaming model that synthesizes target-environment training data from a small calibration set, plus a mixture-of-experts runtime selector (DTW-based) that routes signals to specialized models. Separately, the EI framework (MobiCom 2018) uses adversarial training — feature extractor vs domain discriminator — to strip environment-specific information before classification. Without one of these (or per-site fine-tuning), do not deploy a model trained elsewhere. See the sensing pipeline for the full adaptation landscape.

What Wavey targets

Wavey emits motion events (intensity, duration) as the primary output. Coarse activity classes are supported where labeled data from the deployment environment justifies a classifier. Multi-person 3D pose (CVPR 2024: approximately 92–125 mm joint error with dense WiFi nodes in a 4×3.5 m rig) is research territory — not ESP32 territory. See the detection ladder, rung 4. For building a classifier from scratch, read building an activity classifier on CSI.

Further Reading

Detection Ladder

HAR feasibility and limits

Security & Intrusion

Motion as a zone alarm

WiFi Motion Detection Without Camera

Building an activity classifier from scratch

Getting Started

Set up your first Wavey deployment