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

c-ip110-showcase — do the IP-110 simulator upgrades work, and do they add value?

c-ip110-showcase · matrix

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

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

Brief

c-ip110-showcase — do the IP-110 simulator upgrades work, and do they add value?

A wide local exercise of every IP-110 capability, run end-to-end on locally-rebuilt Docker images (sionna-rt 1.2.2, jupedsim 1.4.2, pedpy) — 21 runs — to confirm the upgrades behave as built and to take a first, honest look at the signal they produce. This is a mechanism demonstration on a small single-seed matrix, not a result-bearing campaign; magnitudes show "the right kind of signal", not calibrated numbers.

Report (interactive): coverage/signal/Doppler maps + a live crowd replay + the adversarial-verdict table are published as an Artifact — claude.ai/code/artifact/4c801b3d-5ce0-40cf-b982-fd05bfcbfdd0. Scene + configs + reductions: monad_knowledge/notebooks/python/ip110_showcase.py (setup / signal / doppler / report).

What was run

  • Static CSI (exp-csi-static, 12 runs) — 12×9 m room, 1 Tx + 20-point Rx grid; occupancy {0,4,8} × band {2.4/20, 5/80} × scattering {specular, diffuse S=0.4}. → signal/coverage maps, CSI-vs-occupancy.
  • Doppler coupled (exp-csi-crowd, 4 runs) — band {2.4,5} × mode {cfr, synthetic} on the crowd trajectory; physical per-path Doppler vs the bolted-on centroid model.
  • Crowd (walk-notebook directed_flow, 1 run) — AVM, two exits, least-targeted, 40 agents → replay + the trajectory source for the coupled + pedpy legs.
  • div(ρv) (pedpy-analyser, 1 run) — the real measured velocity-field divergence (Phase 2) on the crowd trajectory.
  • Showcases (3 runs) — multi-channel BLE (D6), 1×3 antenna array (D8), hardware-impairment chain (IP-101).

Findings (evidence-grounded, adversarially reviewed)

  • CSI count signal. Grid-mean |H| falls monotonically with occupancy — Spearman ρ = −1.0 both bands (CI [−1,−1] is degenerate on three levels: direction, not strength). Signal/coverage maps render per band; treat them as a deployment diagnostic, not a detection-rate map.
  • Diffuse scattering (D2). Measurable and band-dependent: at 2.4 GHz specular→diffuse shifts the amplitude distribution by KS D = 0.35 (+4.7 dB multipath energy); at 5 GHz negligible (D = 0.15, p = 0.97). Worth enabling at 2.4 GHz here.
  • Doppler (D1). Physical cfr temporal CV is higher at 5 GHz than 2.4 GHz (0.0136 vs 0.0107, ratio 1.27) while the synthetic model is band-flat (~0.98) — the band-scaling signal lives only in the physical path. But CV-of-|H| is not the Doppler frequency (so 1.27 ≠ the 2.08× carrier law), these are single deterministic points with no CI, and cfr CV here is 0.40× synthetic — the inverse of the opposing-mover smoke — so the cfr/synthetic relationship is scenario-dependent. cfr stays the physics-correct default; no count-R² lift was measured (no occupancy axis in the coupled runs).
  • Crowd + div(ρv). The pedpy analyser now emits a velocity-derived ∇·(ρv) (range [−0.28, 0.25], directional vₓ/v_y) replacing the density-difference proxy — a usable relative continuity re-test target (caveats: ran on the a_seminar 8×12/6-cell grid while the crowd was in 12×9; for ~unidirectional flow ∇·(ρv) ≈ v·∇ρ). The directed_flow run did not fully evacuate (600 s cap) — an exit-jam at an under-capacity door (a config-sensitivity of the AVM; the same mode clears cleanly at wider exits in the Phase-3 smokes), flagged, not reported as a congestion result.
  • Showcases (confirmed). Multi-BLE RSSI is genuinely frequency-selective via an exact per-channel re-solve (−71.9 / −69.7 / −66.1 dBm at 2402/2426/2480 MHz); the 1×3 array is a real spatial tensor axis (CSI shape (4,20,3,1,16)); the impairment chain is internally consistent (effective SNR is AWGN-only).

Method note — hypercode evaluation

Findings were produced by a multi-agent workflow (5 facet analysts → adversarial refute-by-default verifier per finding → synthesis; 15 findings, 14 confirmed/uncertain, 1 refuted), with stats from the audited monad_knowledge.sim.reduction_stats (the sim_reduction_run engine) and grounding via search_vault/claim_search. Caveat: because the runs are local (not registered in the sim-store), two facets (csi-occupancy, diffuse-scattering) leaned on vault search, missed the local run-set, and conflated other campaigns' numbers or wrongly declared D2 "unassessable"; the synthesis above was re-grounded against the actual local artefacts. The adversarial pass still earned its keep — it caught a stale BleParams docstring (now fixed) and correctly demoted the over-reaching count/band claims.

Limitations & next

Single-seed throughout; static CSI on one geometry, Doppler n = 1 per cell, one crowd seed. Next: seeded multi-geometry sweeps, an occupancy-swept coupled matrix to measure the Doppler count-R² lift directly (the IP-110 motivation, not yet a finding here), a wider-door directed_flow config, and a real-layout (FIIT) transfer test — promote to a proper IP-081 supervised campaign once a hypothesis is worth the seeds.

  • IP-110 — the upgrades exercised here.
  • sionna-csi-runner · walk-notebook · pedpy-analyser — the three images.
  • c-flat-day-csi · c-csi-band-calibration — the band/observability findings the analysts conflated in (kept separate here).