Asking the fleet what it is doing…
monad-knowledge Wi-Fi sensing lab · FIIT STU
Campaign

CSI layout drift — a synthetic (T*, ε) prior for recalibration cadence

c-csi-layout-drift · exp-csi-static

Archive snapshot, as of 18 h ago — the run corpus is rebuilt once a day, so this page is not a live reading. The fleet panel is the live one; it refreshes every 30 s.

Sessions

state
Session State Runs Synthesis Criticism Figures Verdict
TKX112D8 2026-07-02T17:25 finished 63 1 Session 2 extends the single-seed session-1 sweep to a 4-arm x 7-state x 3-seed corpus (84 runs) with co-registered BLE. T*(eps=0.5) on the drifting arm varies [0.25, 1.5, 0.25] m across placement seeds — the fixed-cadence prior is seed-fragile, motivating the event-driven trigger tested in c-ble-drift-trigger. Drift remains strictly geometry-dependent: only displacement INTO deep LOS blockage moves error; a 27 dB feature shift out of the path leaves error flat.
H2E16TP6 2026-06-24T11:35 finished 10 IP-101 furniture-injection glue wired and verified; drift sweep ran end-to-end (10 runs, 2 arms). Drift is geometry-dependent: occupancy error grows with displacement only when furniture is in the Tx-Rx path (0.29->0.66 persons through 0.75m), and is flat at the calibration residual (~0.31) for furniture moved in room corners. T*(eps=1)=1.0m both arms; eps=0.5 separates them. Design input only.
XVDG1KEM 2026-06-24T11:12 finished 1 Blocked: furniture-scatterer injection is not in the deployed sionna-csi-runner image, so no furnished/displaced states can be staged; base chain validated, drift curve + T*(eps) unresolved pending IP-101 Phase 2.

Brief

Question

How fast does an occupancy estimator calibrated on one furnished floor state degrade as the furniture moves? The drift curve (T^{*}, \epsilon) — the operational answer to RQ4 — does not exist even in silico. The real curve needs multi-day capture; the simulator can produce its shape and so design that capture instead of guessing it.

IP-101 Phase 2 adds the scene-evolution sweep: an ordered sequence of furnished floor states (furniture as static scatterers, IP-092 occupiables), the channel simulator on each, a pluggable OccupancyEstimator calibrated on state 0 and evaluated on the rest, emitting drift_curve.parquet.

What we already know

  • A model calibrated on one multipath environment drifts when the scatterer geometry changes; furniture rearrangement is the dominant indoor non-occupancy change.
  • The magnitude is geometry-dependent (IP-094 flagged a ×3.8 vs ×7.7 band gap on ResPlan), which is exactly why a closed-form bound would mislead and we keep it empirical (IP-101 Alternative 3).
  • Two estimators bound the truth (IP-101 Q2=C): the analytic variance-threshold floor (ships now, no thesis-pipeline dependency) and the thesis occupancy model (the realistic curve, joins as a third thesis-model series once importable). Plotting both separates physical drift (shared) from model brittleness (estimator-specific).

What I want the supervisor to do

  1. Build the furnished-floor-state schedule over the floor's IP-092 occupiables (displacement_schedule, IP-101): state 0 = calibration layout, states 1..k displace the furniture by a growing delta_layout. Inject each state's furniture list into that run's staged scene.json.
  2. Fan out exp-csi-static once per state (same scene + link, only the furniture moves), local CPU first (where=local). >=4 states; more if the curve has not plateaued.
  3. Run the notebook-backed reduction (csi_layout_drift.py, runner python): fit each estimator on state 0's links.parquet, evaluate on every state, emit drift_curve.parquet (+ figure + csi_layout_drift.metrics.json with the T*(ε) cadence recommendation).
  4. Synthesise the cadence recommendation as a design input for the real library campaign.

Analysis-writer responsibilities

  1. Confirm each state's scalar floor + links.parquet via sim_read_run; confirm the drift_curve.parquet carries both estimators.
  2. Report the drift curve(s), the T*(ε) cadence, and (if the thesis model ran) the physical-drift vs model-brittleness split. Cite per-run artefacts by sim:// URI.
  3. State plainly: this is a design input, the sim parameters (furniture schedule, any impairment profile) are unvalidated, and recalibration-trigger-from-drift stays plausible until real data lands (IP-101 Q3=A).

Figure render request

csi_layout_drift — occupancy error vs furniture displacement for each estimator, with the ε budget line and the implied T* marked.

Out of scope

  • Answering RQ4 / measuring the real drift curve — that needs real multi-day capture; this is strictly the synthetic design prior.
  • Occupancy-pattern (temporal) drift — furniture only here; seasonal/time-of-day drift is a Future Consideration (IP-101).
  • Hardware impairments — that is c-csi-impairment-sim-to-real (compose later if needed).

Expected interpretation

  1. All criteria met → "Occupancy error stays within ε up to a furniture displacement of T*≈X m; beyond that recalibrate. The real capture should sample rearrangement events at that cadence." A design input for the library campaign — RQ4 still pending real data.
  2. Analytic floor drifts immediately → the calibration is fragile even to small rearrangements; tightens the cadence recommendation (still a design signal, not RQ4).
  3. Criterion fails (no furnished floor, NaN) → platform/dependency finding (gated on IP-092 furnished floors landing, per IP-101 §Trade-offs).

Operator notes

  • Gated on IP-092 furnished floors / occupiables — the c-fiit-find-a-seat campaign shows occupiables landing. If the target floor has none yet, the supervisor can stand in a small synthetic furniture set to exercise the pipeline (clearly marked as a plumbing run).
  • One run per state at fixed occupancy — minutes on the M1 CPU. Furniture are static scatterers inserted once into the cached scene per run (IP-101 runner _write_box_ply).