Wi-Fi CSI fall detection: features that work, and the false alarms you must handle

2026-10-11 · 2 min read

Fall detection is the highest-value use case in Wi-Fi sensing (elder care — see WiFall [2] and WiCare [3]) and the easiest to get wrong. Presence detection answers "is the channel disturbed?"; fall detection must separate a fall from sitting down, putting down a bag, or a door slamming.

1. What a fall actually looks like in CSI

Signal Sitting down Falling
Amplitude change moderate, smooth large, abrupt
Doppler spread narrow band wide band, short burst
Duration 1-2 s 0.4-1.2 s
Recovery phase none low-motion period after impact

So the discriminative features are burst energy + bandwidth + the post-event quiet period, not raw variance (feature taxonomy: CSI sensing survey [1]).

2. A workable feature set

import numpy as np

FS = 95.0                                  # measured records/s (resample by timestamp!)
WIN = int(1.5 * FS)                        # 1.5 s analysis window

def fall_features(H):                      # H: (time, subcarriers) amplitude
    d = np.abs(np.diff(H, axis=0)).mean(axis=1)         # motion envelope
    win = d[-WIN:]
    energy = float(win.max())
    rise = float(win.max() - win[: len(win) // 4].mean())  # abrupt onset
    quiet_after = float(win[-int(0.5 * FS):].mean())       # post-impact stillness
    # Doppler bandwidth via STFT of the phase difference
    z = np.fft.rfft(win - win.mean())
    spread = float(np.sum(np.abs(z) ** 2) / (np.abs(z).max() ** 2 + 1e-9))
    return dict(energy=energy, rise=rise, quiet_after=quiet_after, spread=spread)

Then classify with explicit thresholds (start simple; a fall is rise > R and spread > S and quiet_after < Q) and require confirmation within 5 s.

3. Killing false positives

False positive Discriminator
sitting down onset is slower; post-event motion continues
dropped bag smaller affected volume; no quiet phase
door slam / appliance no associated pre-event walking
pet weaker and lower-height disturbance (hard: needs multi-link geometry)

Add a pre-event context window (walking for 2-5 s before) and require it. That single rule removes most single-burst false alarms without deep learning.

4. Data and evaluation

Fall detection sits next to medical claims. Keep the wording precise:

Related: respiration detection · vs mmWave radar · Home Assistant integration

References and data sources

Every external claim carries a source and an evidence grade (grading scheme). Grade E marks first-party, reproducible measurements from this project.

  1. Grade A · standard/review WiFi Sensing with Channel State Information: A Survey
    W. Ma, W. Zhou, X. Wang · ACM Computing Surveys · 2019
    doi:10.1145/3310194 · citations 857 · verified: CrossRef API, 2026-10-11 · The field's most-cited CSI sensing survey (857 citations, verified via CrossRef).
  2. Grade B · peer-reviewed WiFall: Device-free fall detection by wireless networks
    C. Han, K. R. R. Wu, Y. Wang · IEEE INFOCOM 2014 · 2014
    doi:10.1109/infocom.2014.6847948 · citations 201 · verified: CrossRef API, 2026-10-11 · A pioneering work on CSI-based fall detection (201 citations).
  3. Grade B · peer-reviewed WiCare: Accidental Fall Detection for Elderly Care Using Passive Wi-Fi Sensing
    K. Rishi, et al. · IEEE ICSC 2023 · 2023
    doi:10.1109/icsc60394.2023.10441553 · citations 2 · verified: CrossRef API, 2026-10-11 · Passive Wi-Fi fall detection for elderly care (recent, few citations — directional evidence only).