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-notebookdirected_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.
Related
- 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).