Environment

Two rooms with different geometry — the EXP-F1 / F2 room (room A) and a second polygonized room from PostGIS once it lands (room B). If only one room is available, EXP-F3 runs the penetration-sweep axis alone and parks the cross-geometry axis until the second polygonization arrives.

Executive summary

A Wi-Fi crowd counter is precise but fragile: it reads relative density well, yet its calibration silently breaks when you change the room. A BLE (Bluetooth) counter — counting the phones people carry — is coarse and noisy, but it is an absolute reference that survives a change of geometry. The thesis bet is that you can fuse them: CSI for the shape, periodic BLE for the scale, so the pair holds up both as fewer people carry phones and as you move to a new room.

Stated honestly: the field experiment has not run — there is no hardware capture yet. What exists is simulation, and the four in-silico campaigns land unevenly:

  • Axis-2 mechanism is the strong result. c-feature-type-transfer shows — across 9 of 9 seed pairs — that it is the feature type, not the modality, that decides transfer: kinematic (motion/Doppler) features stay accurate under furniture rearrangement (median degradation +0.34 persons, sub-person), while fingerprint (absolute-amplitude map) features break (CSI +7.0, BLE +4.7). The degradation ratio is 0.076, well inside the 0.5 bar. This is the mechanism EXP-F3's "the mechanism transfers, the model parameters don't" hypothesis rests on.
  • Cross-geometry drift is real but not yet powered. c-csi-cross-geometry-scaleout proves geometry dominates seed noise decisively (floor-variance 66x seed-variance), but the headline inflation-ratio claim failed its powered test — only 6 of the ~40 floors the power analysis demands were staged, giving a useless CI [1.04, 9.85]. The 40-floor Phase-2 was never completed: the frontmatter's "latest session" pointer is a phantom (absent from S3).
  • The direct BLE+CSI fusion session is thin. c-csi-ble-fusion's latest session is exactly the kind the 2026-07-15 integrity audit flagged: 3 runs, 0 figures, and it answers a side question (CSI is under-featured — R2 lifts 0.09 -> 0.36 with Doppler features) rather than the fusion-beats-single-modality headline the campaign was chartered to test.
  • A clean negative on placement. c-csi-topology-sniffer-count refuted the "room topology drives sniffer count" hypothesis in-silico; floor area is the better predictor. BLE was 2.49x more discriminable than CSI per link.

None of this is a hardware claim. The standing gate before any deployment statement is the real AX210/Pi 5 capture (IP-106).

The problem, in plain words

Picture two ways to count people in a room. The first listens to how bodies disturb the Wi-Fi echoes bouncing around — very sensitive to movement, but it learns a pattern tied to where the walls and furniture are. Rearrange the room, or walk into a different room, and the pattern no longer means what it used to. The second just counts the phones broadcasting Bluetooth. That is crude — some people leave phones in a bag, some carry two, some have Bluetooth off — but "a phone is a phone" no matter the room's shape.

EXP-F3 asks whether combining them gives you the best of both. Two things can go wrong. First, as fewer people carry a beacon (the "penetration" drops from everyone to nobody), the Bluetooth anchor starves — does the fused counter degrade gracefully back to Wi-Fi alone, or collapse? Second, when you carry a model trained in room A into room B, does a short 30-minute recalibration (using the cheap Bluetooth counter as ground truth) rescue it, or do you have to retrain from scratch? The deep reason to hope is a physics one: the kind of feature matters. A feature that measures how fast the channel is changing (motion) should travel between rooms; a feature that memorizes the exact echo map should not.

What we are trying to prove

  • Axis-1 hypothesis (falsifiable): a BLE+CSI fusion counter has strictly lower error than the best single modality at intermediate phone-penetration (25-75 %), matches CSI-only at 0 % penetration (graceful fallback), and beats CSI-only at 100 % (the BLE anchor pays off). If fusion never beats the better single modality, or if it underperforms CSI-only when BLE starves, the fusion premise fails.
  • Axis-2 hypothesis (falsifiable): a room-A fusion model, given a single 30-minute BLE-anchored calibration in room B, reaches >= 80 % of a natively-trained room-B model's accuracy — and the mechanism-carrying (kinematic / PINN) variant transfers better than the fingerprint (LGBM) variant. If a 30-minute calibration cannot close the gap, or if fingerprint models transfer just as well, the "mechanism transfers, parameters don't" story collapses.
  • What a null means: a null on Axis 1 says BLE and CSI are redundant, not complementary — you would pick the cheaper one and drop fusion. A null on Axis 2 says CSI counting is irreducibly per-room and needs full recalibration everywhere, which would make estate-scale deployment far more expensive. Both nulls are publishable and would reshape the System-Design chapter.

How the experiment works (plain method)

The field design (planned): deploy identical kit in two rooms — 4x Pi 5 + AX210 for CSI, 2x ESP32 BLE listeners, a supplementary CSI pair. Run five app-driven scenarios where the app toggles how many of the 8 participants advertise a BLE beacon (100 % -> 0 %). Train a feature-level fusion model in room A on the extreme scenarios (all-phones and no-phones), then evaluate on the held-out middle penetrations. For transfer, apply the room-A model to room B zero-shot, then after a 10/20/30-minute BLE-anchored recalibration, and compare against a model trained natively in room B.

The in-silico stand-ins that have actually run replace the hardware capture with the coupled simulator (JuPedSim crowd -> Sionna ray-traced CSI, with co-registered BLE solved from the same channel):

  1. c-feature-type-transfer — freeze the crowd and the room, move only the furniture in ordered steps, and watch three feature families (CSI-fingerprint, BLE-fingerprint, CSI-kinematic) drift. This isolates which kind of feature survives rearrangement — the Axis-2 mechanism.
  2. c-csi-cross-geometry-scaleout — sweep occupancy across many distinct ResPlan floors and measure how badly a count map calibrated on one floor inflates its error on held-out floors. This quantifies how many geometries the field study needs.
  3. c-csi-ble-fusion — run the coupled CSI+BLE chain under real motion and ask whether periodic BLE recalibration bounds the cross-environment drift CSI-only suffers.
  4. c-csi-topology-sniffer-count — test whether a floor's room-adjacency topology (vs its area) drives how many sniffers you need — the deployment-cost side of Axis 2.

What we've found so far (honest, across four campaigns)

The field experiment itself: 0 runs, not executed. Everything below is simulation, on self-authored crowds and synthetic CSI/BLE with a hand-tuned Gaussian BLE noise model.

Campaign What it tested Real result Strength
c-feature-type-transfer Axis-2 mechanism: which feature type survives rearrangement Kinematic median +0.34 persons; CSI-fingerprint +7.0; BLE-fingerprint +4.7; ratio 0.076 < 0.5, replicates 9/9 seed pairs Strong (36 runs, 1 figure, seed-robust)
c-csi-cross-geometry-scaleout Axis-2 magnitude: cross-floor inflation at powered n Geometry dominates seed (sigma2_floor 0.0109 vs sigma2_seed 0.000165, 66x); inflation pooled x3.37 but per-floor 0.70x-49.8x; CI [1.04, 9.85] fails the >1.5 bar Partial (90 runs, but 6/40 floors; latest pointer is a phantom)
c-csi-ble-fusion Axis 1: does fusion beat single modality Did not test the headline; showed CSI is under-featured — R2 0.09 -> 0.36 (Doppler + rich fading feature), MLP overfits (R2 -0.43) Weak (3 runs, 0 figures — audit-flagged)
c-csi-topology-sniffer-count Deployment: does topology drive sniffer count REFUTED — within-floor partial rho +0.14, LOS-vs-NLOS d -0.13 (p~0.88); area wins (rho -0.54). BLE 2.49x more discriminable than CSI Clean negative (12 runs, 1 figure)

Reading this honestly:

  • The Axis-2 mechanism (feature type decides transfer) is the most trustworthy in-silico result on this card: a paired, seed-replicated 9/9 finding with a figure. It is the empirical footing for EXP-F3's claim that kinematic/PINN models will transfer where fingerprint/LGBM models won't.
  • The cross-geometry magnitude is genuinely established as a direction (geometry >> seed) but not as a number — the x3.37 is a heterogeneous mixture spanning 0.70x to 49.8x per floor, and the powered 40-floor test the design itself demands was never finished. Do not cite a specific inflation multiple as settled.
  • The direct fusion claim — the literal Axis-1 hypothesis — has no figure-backed, adequately-powered in-silico support yet. The one useful thing c-csi-ble-fusion established is that CSI's contribution to the fusion is bigger than earlier sessions thought (Doppler temporal structure carries count information), which raises the CSI-side floor of any switch/fusion. That is a component result, not the fusion verdict.
  • The placement negative is a real, valuable simplification: for Axis-2 deployment cost, plan sniffers-per-building on area + AP count, not topology.

How to read the figures

Two campaigns produced figures that survive in their session manifests; the other two do not (the fusion session has none, and the scaleout Phase-1 figures are not in the manifest's figures array despite the synthesis describing them).

  • fig_seed_sweep (c-feature-type-transfer) — count-MAE vs furniture displacement (Delta layout 0 -> 1.05 m), one curve per feature family across the 9 seed pairs. Read the ordering and the flatness, not individual points: the two fingerprint curves (CSI, BLE) climb steeply and spread wide across seeds; the kinematic curve hugs the floor (sub-person) in every pair. The story is the gap between the green kinematic band and the warm fingerprint bands, and that the gap is stable across seeds.
  • fig_csi_topology_linkunit (c-csi-topology-sniffer-count) — per-link discriminability against wall-count-on-path, with a competing area panel. The honest reading is a flat cloud against wall-count (rho +0.14, no trend) and a downward cloud against area (rho -0.54): topology does not predict, area does. The BLE-vs-CSI panel shows BLE's ~2.5x separation advantage per link.

Review panel

Each voice is a prepared expert with a one-line stance and the literature it argues from. Verdicts are about EXP-F3's current evidence — mostly in-silico, partly phantom — not the idea in the abstract.

Key references

  • longo2019_b72f — real dual WiFi+BLE occupancy capture; the field basis for fusing the two channels.
  • shahbazian2023_1172 — combined-BLE-and-WiFi survey; the problem framing and the privacy surface.
  • zou2018_1590 — device-free CSI counting baseline and the fingerprint feature class.
  • wang2015_48cf — CARM; the kinematic/motion feature class that transfers.
  • zheng2019_5389 — body-velocity profiles as an environment-independent representation; the invariance analogue.
  • chen2023_5cbd — the five-axis domain-generalization taxonomy Axis 2 lives in.
  • santos2024_1e39 — the cross-room problem statement; environment as the unit of replication.
  • hou2023_bf83, khan2023_b7c5 — few-shot / transfer counting; the 30-minute recalibration analogue.
  • demrozi2021_bf55 , iannizzotto2025_b55c — the BLE anchor's real-world basis.
  • afghantoloee2021_8628 , zhen2022_bb0b — the sniffer/anchor placement literature the topology negative sits against.
  • zhang2026_ccac, guarino2026_e72c , cominelli2023_e6ee — the reproducibility + sim-to-real bar the SWE and Red-Team voices invoke.

EXP-F3 remains planned — the two-room AX210/Pi 5 + ESP32 capture is not executed. Its two field figures (penetration sweep, transfer ladder) are pre-registered above. The in-silico campaigns give it an uneven running start: a strong Axis-2 mechanism result, an under-powered Axis-2 magnitude result with a phantom pointer to fix, a thin direct-fusion session that needs a proper powered re-run, and a clean placement negative.

  • EXP-S1 — the coupled simulator all four campaigns run on; provides the mechanism the field study confirms.
  • EXP-F1 — the ground-truth chain the fusion trains against.
  • EXP-F2 — the CSI-only baseline models + the calibration protocol Axis-2 Phase C reuses.
  • sim/csi-recalibration-trigger — the sibling "when to recalibrate" sub-experiment; the drift-detection half of the same Hybrid-Fusion story.

Provenance

not recorded

Data types

  • csi-amplitude
  • csi-phase
  • ble-advertisement-log
  • ble-rssi
  • ground-truth-occupancy
  • fusion-model-output
  • cross-geometry-transfer-metrics