- WiFi CSI-based indoor positioning system for self-hosted home environments - docs/plan/plan.md: full 9-phase implementation plan (65 gaps closed by analysis) - docs/research/: CSI fundamentals, physics, algorithms, signal processing, mesh topology, accuracy limits, literature - docs/notes/: recovery mechanisms, simulation testing, UX visualization - .marathon/instruction.md: per-iteration marathon instructions with detailed commit format - .marathon/start.sh: GLM-5 tmux launcher via ZAI proxy Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5.3 KiB
IndoTrack: Device-Free Indoor Human Tracking with Commodity Wi-Fi
Authors: Xiang Li, Daqing Zhang, Qin Lv, Jie Xiong, Shengjie Li, Yue Zhang, Hong Mei Venue: ACM IMWUT (UbiComp) 2017, Vol. 1, No. 3 DOI: 10.1145/3130940 Institution: Peking University / University of Massachusetts Amherst
Citation
@article{li2017indotrack,
title = {IndoTrack: Device-Free Indoor Human Tracking with Commodity Wi-Fi},
author = {Li, Xiang and Zhang, Daqing and Lv, Qin and Xiong, Jie and Li, Shengjie and Zhang, Yue and Mei, Hong},
journal = {Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.},
volume = {1},
number = {3},
year = {2017},
pages = {1--22},
doi = {10.1145/3130940},
publisher = {ACM}
}
Abstract
IndoTrack is a device-free indoor human tracking system using commodity Wi-Fi. It addresses the fundamental challenge that device-free tracking relies on reflection signals orders of magnitude weaker than direct signals, while commodity Wi-Fi has limited antenna count, small bandwidth, and significant hardware noise.
Two core innovations:
- Doppler-MUSIC: Extracts accurate Doppler velocity information from noisy CSI via a super-resolution algorithm applied to the Doppler frequency domain
- Doppler-AoA: Determines absolute trajectory by jointly estimating target velocity and location via probabilistic co-modelling of spatial-temporal Doppler and AoA information
Problem Statement
Device-free tracking — localising targets without body-worn hardware — is essential for applications where instrumentation is impractical: eldercare, intruder detection, infant monitoring. The challenge:
- Reflected signal strength is orders of magnitude weaker than direct signal
- Human body Doppler shifts are small: at 2.4 GHz, walking at 1 m/s → 16 Hz Doppler
- Commodity Wi-Fi has only 3 antennas and 30 CSI subgroups (Intel 5300)
- Hardware noise dominates the weak reflection signal
- Prior tracking systems require ≥3 dedicated links or specialised hardware
Methodology
Phase Noise Removal
Uses conjugate multiplication between antenna pairs (same technique as Widar2.0) to cancel CFO and hardware phase noise:
C(m) = H̃(m) × H̃*(m₀)
This preserves AoA and DFS structure in the product while cancelling common-mode hardware errors.
Doppler-MUSIC
Extends MUSIC from the spatial domain to the Doppler frequency domain:
- Construct a Doppler covariance matrix from CSI time series (analogous to the spatial covariance matrix in classic AoA-MUSIC)
- Eigendecompose into signal and noise subspaces
- Doppler pseudo-spectrum:
P_D(f) = 1 / (d(f)^H · U_n · U_n^H · d(f))whered(f)is the Doppler steering vector - Peaks of
P_D(f)= Doppler frequencies of individual reflectors (torso, arms, legs)
Super-resolution in frequency domain: resolves Doppler components separated by less than the FFT frequency resolution limit. This is the key improvement over standard STFT-based DFS extraction.
Doppler-AoA Joint Estimation
The Doppler shift of a reflected path depends on both the target velocity and the geometry (AoA from TX and RX). For a target at angle θ_t (from TX) and θ_r (from RX), moving at velocity v:
f_D = (v/λ) · (cos(θ_t) + cos(θ_r))
This creates a coupling between Doppler and AoA — a unique velocity vector produces a specific Doppler signature per link, and that Doppler signature depends on the AoA. IndoTrack exploits this coupling by:
- Estimating Doppler shifts across multiple links (TX-RX pairs)
- Probabilistically combining per-link Doppler-AoA joint distributions
- Finding the (position, velocity) pair that is most consistent with all observations
Trajectory Reconstruction
Starting from the estimated position-velocity state, IndoTrack integrates velocity over time to produce a trajectory estimate. A particle filter propagates and reweights trajectory hypotheses based on new Doppler-AoA observations.
Hardware Setup
- 1 transmitter (802.11n AP) + 2 receiver laptops
- Each receiver: 3 antennas → 3 links from one transmitter
- Total: 3 links used for Doppler-AoA fusion
- Intel 5300 NIC for CSI extraction
- Packet injection rate: ~1000 packets/sec
Results
| Metric | Value |
|---|---|
| Median trajectory error | 35 cm |
| 80th percentile error | ~70 cm |
| Tracking range | 6 m |
| Number of links required | 3 |
Outperforms Widar v1 (38 cm, but requires initial position). Does not require initial position. Tested in office and lab environments.
Limitations
- Requires 3 Wi-Fi links (1 Tx, 2 Rx)
- Single-target scenario primarily evaluated
- Accuracy degrades when target walks along the LoS path between TX and RX (minimal Doppler observed)
- 2D tracking only
- Doppler-MUSIC performance degrades when multiple people are present simultaneously
Relevance to Spaxel
IndoTrack's Doppler-MUSIC provides the best commodity-hardware accuracy for moving target tracking. For Spaxel, the key takeaway is that 3 well-placed nodes give ~35 cm accuracy for a single moving person — this sets the performance ceiling for the geometric Fresnel zone approach and is a target for future enhancement. The particle filter trajectory reconstruction is directly applicable to Spaxel's Kalman smoother.