Sessions

No sessions yet — this campaign has a brief but no execution.

Brief

Question

Does motion produce the temporal CSI variance that real in-room counting relies on — the feature the static occupancy sweep, by construction, cannot show?

csi-static-occlusion froze the crowd and found placement-variance; but Choi/Ling/EasyCount count from temporal statistics over a sliding window (a moving crowd). This is the first coupled run: a JuPedSim crowd walks the floor and its trajectory drives per-frame ray-traced CSI — a time series, not snapshots.

What we already know

  • exp-csi-crowd chains walk-notebook (geometry: from_floor) → sionna-csi-runner (wired 2026-06-04, replacing the parametric jupedsim-runner upstream that could never register against a real floor). The launcher stages inputs/floor_geometry.json (walker) and inputs/scene.json (channel) from the same PostGIS floor, so trajectory and scene share coordinates by construction.
  • trajectory_frame_stride controls cost (per-frame RT is the bottleneck on CPU). Link crossings are brief — sample the walking window densely (or pre-subsample two-rate).
  • Walker fidelity knobs that matter (first-run findings): park-on-arrival keeps seated bodies as scatterers; agent_clearance_cm ≈ 0–5 (larger seals doors); explicit agent_radius_m; spawn_bbox_cm for genuine traversal.
  • The static study gives the matched-occupancy baseline to subtract, isolating the motion term.

Prerequisites

  1. A walkable, furnished + scene-consistent floor. resplan-12439-floor-0 carries 16 analysis-placed seats and the csi-link-resplan-12439-multiroom Tx/Rx layout.
  2. Nothing else — bundle + scene staging and the trajectory hand-off are part of the chain.

What the supervisor does

Run exp-csi-crowd over the finer-grained grid — crowd size {4,6,8,11,14} × band {2.4,5.0 GHz} × seed {0,1,2} = 30 coupled runs (extends the sealed seed-0 6-run session for ρ-stability across seeds and a smoother CV-vs-N curve), CPU first (keep a coarse trajectory_frame_stride to bound wall-clock — per-frame RT is CPU-only on Apple Silicon). Analysis-writer computes temporal CV / dynamic-to-noise vs crowd size and the static↔temporal gap, citing csi.hdf5 + trajectory.parquet, and reports ρ(N, CV) per band with the across-seed spread.

Figure render request

csi_temporal — amplitude time series per crowd size (one band), the temporal-CV-vs-size curve, and a floor map with the trajectory heatmap overlaid on the links.

Out of scope

  • Cross-floor (c-csi-cross-geometry-resplan); through-wall (c-csi-through-wall-blockage); calibration; BLE coupling (a later fusion experiment).

Expected interpretation

  1. Motion variance present (temporal CV ∝ size; gap > 0) → "the in-room variance feature is motion-driven; static occupancy under-represents it — the coupled simulator is required for the counting-relevant signal." Validates the exp-csi-crowd chain and the static study's caveat.
  2. No temporal gap → "placement variance already captures the signal in this geometry" — bounds when the cheaper static sweep suffices.
  3. Chain fails (floor mismatch, trajectory not staged) → a platform finding on the coupled path.

Notes

A new reduction notebook csi_temporal_dynamics.py (sliding-window temporal stats) is the notebook-backed analysis for this campaign — sibling to csi_occupancy_crossover.py. Follow-on: the seated/static crowd variant (seek-and-occupy → CSI on a furnished fiit-library), the regime where motion vanishes and BLE anchoring earns its keep (2026-06-03 - CSI amplitude under crowd occlusion).