Asking the fleet what it is doing…
monad-knowledge Wi-Fi sensing lab · FIIT STU
designed csi-archcad-public-building-sensability simulation simulation

Which public-building geometries are intrinsically good (or bad) for CSI crowd sensing? (ArchCAD ensemble)

In plain words

Which kinds of public building are naturally easy or hard for Wi-Fi people-counting, before any sensor is installed?

one protocol, many floors
The same measurement is run on many different real floor plans. If the relation between radio jitter and headcount changes from floor to floor, a counter trained on one floor is wrong on the next, and that is the case for recalibration. Schematic of the design, not a measurement.
Why it matters
Our earlier floor plans were all apartments. Offices, halls, garages and service cores are shaped differently, and a result that holds only on flats is not a result about buildings.
How it is done
Run the same simulated occupancy protocol over a large ensemble of public-building floor slices from the ArchCAD-400K dataset and ask whether the count sensitivity is set by the geometry or by chance placement.
Where it stands
A design with its tooling built: the converter renders a real CAD slice into a physically plausible radio scene end to end. The ensemble campaign has not run.

Asks, formallyAcross a large, structurally diverse ensemble of *public-building* CAD floor slices (ArchCAD-400K), the CSI occupancy-sensitivity feature (L4.5 CV-vs-occupancy slope) is dominated by geometry, not by placement/fading seed — replicating the ResPlan geometry≫seed finding on an independent, non-residential, ≥40-geometry set the residential corpus could not cover. Secondarily, occupancy-sensitivity varies systematically with a tile's structural archetype (open-hall vs partitioned vs column-forest vs stair-core / parking), so some public-building geometries are intrinsically easier to sense in than others.

FoundDesign — not yet executed.

StandingDesigned, not yet run

RoomArchCAD-400K ([[archcad-400k]]): 41,097 real drafted 14 m×14 m public/commercial floor-plan slices, primitive-level walls/glass/columns in the `archcad` PostGIS schema, ITU-R P.2040 materials (concrete/glass/metal). Room-aware Tx + Rx-cluster per tile (one wall-bounded open region) to avoid the multi-room full-height-wall occlusion that trivially zeros a whole-tile Tx/Rx split. Thin dielectric-sheet walls, fixed 3 m height, no furniture.

Executive summary

A Wi-Fi crowd counter learns "this much signal variance ≈ this many people." Two questions this experiment asks on public buildings (offices, halls, service cores, garages — geometry our residential floorplan corpus never covered):

  1. Is the sensing signal geometry-bound at scale? Ray-trace an identical occupancy protocol across ≥40 diverse ArchCAD public-building slices and measure whether the CV-vs-occupancy relationship varies far more between geometries than between placement/fading seeds. On ResPlan (N=6 residential) the variance split was decisively geometry-dominated (σ²_floor ≈ 66× σ²_seed), but the powered ≥40-geometry confirmation was never executed (csi-cross-geometry-generalization). ArchCAD makes the ≥40 real — on an independent, structurally richer substrate.
  2. Which building shapes are intrinsically sensable? Stratify tiles by structural archetype (openness / wall-density / column-count / stair-core / parking) and rank occupancy-sensitivity by archetype with a bootstrap CI — a first "sensability atlas" of public-building types.

The problem, in plain words

Wi-Fi people-counting works by reading how the room's echo changes as people move through it — so it is inseparably a property of the room. Almost everything we know about which rooms are easy or hard comes from apartments, because that is the geometry we could load. But the buildings that actually matter for crowd sensing — an open office floor, a lecture hall, a mall concourse, a stairwell, a parking deck — have completely different wall density, openness, and structural clutter. ArchCAD is the first corpus that lets us ask, at scale, "is CSI crowd-sensing intrinsically harder in some public buildings than others, and by how much?" — even if only in simulation, as a hypothesis generator for where a real deployment should worry.

What we are trying to prove

  • H-A (variance split, falsifiable): the between-tile variance of the occupancy-sensitivity slope exceeds the between-seed variance by a factor whose bootstrap 95% CI lower bound clears ≥ 4× on ≥40 public-building tiles. A ratio near 1 would mean placement/fading noise, not geometry, drives the signal — refuting the geometry-bound premise on public buildings.
  • H-B (archetype ranking, exploratory): occupancy-sensitivity differs by structural archetype (open vs partitioned vs column-dense vs stair/parking), with the per-archetype ranking carrying a bootstrap CI. A flat ranking (all archetypes equal within CI) is the informative null: "building type does not predict sensability."
  • What a null means: if H-A fails (CI touches 1×), the residential geometry-dominance result does not generalise to public buildings — a genuinely useful negative. If H-B is flat, deployment need not stratify by building type.

How the experiment works (plain method)

Notebook-/pre-stage-driven, one sim family:

  1. Scene staging (Step 0, the one new plumbing). 09_archcad_sionna_scene.py turns each tile's archcad.primitives (walls 20, glass 19, columns 21/22) into a runner-ready scene.json (×0.014→m, class→ITU RadioMaterial, reusing monad_knowledge.sim.scenegeom.SceneBundle). Room-aware device placement: Tx + Rx-cluster confined to one wall-bounded open region (a flood-fill over the wall raster), so a full-height party/shaft wall never trivially severs the link.
  2. Occupancy protocol per tile (sionna-csi-runner, static mode, from inputs/scene.json): n_agents ∈ {0,2,4,6,8}, K random body placements per level, band 2.4 GHz (5.0 GHz as a second arm if budget allows). Reduce per-tile CV(N) → the occupancy-sensitivity slope + monotonicity.
  3. Analysis: (H-A) variance components (between-tile vs between-seed) with a floor/tile-bootstrap CI — the ratio is heavy-tailed, so bootstrap not normal approximation (the lesson from the ResPlan redo). (H-B) group tiles by archetype from archcad.tiles flags + wall-density; rank + bootstrap CI, BH-FDR over contrasts.

Honest caveats (the standing gate)

  • Sim-only, drafted geometry. ArchCAD walls are thin dielectric sheets (CAD double-line faces), no furniture, uncalibrated 5 dB body loss, unvalidated ITU coefficients. A real multipath field is richer and messier — real drift is often worse than sims (brunello2025_d781 ).
  • Placement confound. One Tx/Rx cluster per tile; the archetype ranking can be contaminated by where in the tile the cluster lands. Report the ranking as conditional on the room-aware placement rule, and probe sensitivity to it.
  • No magnitude travels. Every occupancy-sensitivity number is in-silico; the real-data cross-check (huang2025_060d ) is the gate before any deployment claim.

Review panel

Key references

  • csi-cross-geometry-generalization — the residential sibling; inherit its honesty fixes (bootstrap CI, floor-clustered unit, the phantom-session lesson).
  • wang2026_2758 — cross-environment generalisation as the field's central open problem.
  • chen2023_5cbd — geometry/domain dominance; why this is replication not discovery.
  • zou2018_1590 — real multi-zone CSI occupancy; grounds the geometry-dependence premise.
  • huang2025_060d — the standing real-CSI anchor before any magnitude travels.
  • brunello2025_d781 — real drift is often worse than sims; the red-team's warning.
  • zhang2026_ccac , guarino2026_e72c — the reproducibility bar (every named figure must exist in S3).
  • archcad-400k — the dataset; substrate, materials, and the multi-room occlusion gotcha.
Campaigns & sessions 1 campaign instantiating this experiment
Campaign Session State Runs Started Report
c-csi-archcad-sensability planned

Provenance

Data origin
simulated
Domain
csi
Room layout
none (scene staged from the archcad sidecar schema, not a GIS floor)

Data types

  • csi-amplitude
  • rician-k
  • per-link-summary