Sessions

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

Brief

Question

Does the CSI occupancy→amplitude relationship learned on one floor transfer to other floors, or does it drift with geometry — and by how much?

This is the in-silico version of the cross-session drift that motivates the whole thesis (ble-periodic-calibration). Wi-CaL (Wi-CaL: WiFi Sensing and Machine Learning Based Device-Free Crowd Counting and Localization ) reports within-session MAE 0.13–0.18 vs leave-one-session-out 0.35–0.41 — a large environmental-drift penalty. We reproduce the geometric component of that penalty across the ResPlan public dataset of real apartments, holding everything else (protocol, body model, bands) fixed.

What we already know

  • csi-static-occlusion established the per-floor method (CV rises, mean falls, crossover is band-dependent) and that this in-room geometry is variance-dominated.
  • The ResPlan apartments differ widely in room count and area (e.g. resplan-12439 has a 135 m² living space + 4 bedrooms; others are compact) — a natural geometry-diversity axis.
  • The reduction (csi_occupancy_crossover.py) already computes CV(N), the slope, and the crossover; the new work is the cross-floor comparison the analysis-writer assembles.

Prerequisites (before dispatch)

  1. A Tx/Rx link per floor. Each ResPlan floor has walls but no device layout. Place a link (1 Tx + ≥2 Rx spanning rooms) per floor via gis_create_experiment + gis_place_device (mirror csi-synth-corridor-link). Until placed, scene staging fails "no link".
  2. Scene-stage check per floor (scenegeom → walls + Tx/Rx) before the full grid.

What the supervisor does

Fan out exp-csi-static over grid × replications (6 floors × 6 occupancy × 2 bands = 72 runs), local CPU first; then a cross-floor reduction. The analysis-writer must:

  1. Confirm per-floor scene + scalar floor (no DB call in-container).
  2. Reduce per-floor CV(N) and report the cross-floor slope distribution + leave-one-floor-out MAE inflation (the drift metric).
  3. Cite per-run artefacts by sim:// URI; name any floor whose scene failed to stage.

Figure render request

csi_cross_geometry — small-multiples of CV(N) per floor (one line per band) + a summary panel of the per-floor slope with the cross-floor spread highlighted.

Out of scope

  • Real-data calibration (exp-csi-calibration). - Temporal dynamics (c-csi-crowd-temporal).
  • Through-wall regime (c-csi-through-wall-blockage) — here links are placed comparably per floor.

Expected interpretation

  1. Drift demonstrated (slope varies, held-out MAE inflates) → "CSI occupancy-sensitivity is geometry-dependent across real layouts; a per-environment model does not transfer — the in-silico case for periodic BLE recalibration." Feeds ble-periodic-calibration.
  2. Robust proxy (slope ~invariant) → "a normalised CV-based density proxy generalizes across ResPlan geometries" — a stronger, more surprising result worth foregrounding.
  3. Criterion 1 fails on some floors → a scene-bridge finding (which ResPlan geometries break scenegeom), not a research result.

Notes (for future sessions)

  • The sim_params.replications block is the IP-099 replication table (one row per floor here); the bridge path runs one sim sweep per floor (n_agents × band grid on that floor's base) then attaches all runs to the session. A small driver can place the per-floor links from this list.
  • Natural follow-ons: add kind=dataset/zind floors for a second dataset; add a furnished-floor seated variant once IP-092 occupiables exist on these floors.
  • Multi-seed (2026-06-09). seeds: [0, 1, 2] (was single-seed) per the 2026-06-08 diary next-step: the single-seed result left the ×3.8 vs ×7.7 per-band LOFO-drift inflation unexplained. Report the LOFO MAE as mean ± spread across seeds so the band-gap magnitude carries an uncertainty before it is quoted in the evaluation chapter. (ZInD floors remain the other half of that next-step — data-gated.)