Question
c-csi-crowd-temporal proved the simulator fusion (walk-notebook -> Sionna, per-frame ray-traced CSI under real motion) but explicitly deferred "BLE coupling (a later fusion experiment)." This is that experiment — and the data fusion half of the thesis. With
ble.enabled, one solved channel per frame yields BOTH a temporal CSI tensor and a co-registered BLE-RSSI stream. The temporal-CSI counting feature (CV over a sliding window —ling2024EasyCount,choi2022Wi-CaL) is a high-rate relative density signal whose calibration does not transfer across geometry (santos2024; the c-csi-cross-geometry-resplan x3.8-x7.7 inflation). The BLE anchor is a coarse, noisy, but geometry-robust absolute reference. Does fusing them — CSI for the shape, periodic BLE for the scale — bound the drift that sinks CSI-only?
Framing discipline. In-silico, self-authored crowd + synthetic CSI/BLE with a self-authored Gaussian BLE noise. Accuracy against that noise is circular; the honest result is the mechanism: does periodic BLE recalibration bound cross-environment drift? Motivation for the Hybrid-Fusion chain, not a hardware claim — the field defeater is IP-106.
Why now — the thread this closes
The thesis Hybrid-Fusion chapter (weight 0.6) has zero supporting empirics, yet ble-periodic-calibration, recalibration-trigger-from-drift and ble-ground-truth-sufficiency all assert that a BLE anchor corrects CSI drift. The coupled chain + co-registered BLE is exactly the testbed: it produces the two modalities from one channel, on the same floors where CSI-only is already known to fail cross-geometry. The cross-environment LOEO real-data finding (recalibration recovers ~42% of the lost accuracy) is the field counterpart this in-silico run motivates.
Datasets / fidelity exercised
- ResPlan floors with placed
csi-link-*experiments:resplan-12439(furnished, 16 seats — a seated-wave + movers crowd, the richest occupancy(t) shape) as the calibration source;resplan-1374,resplan-16157(through-traffic waves) as transfer targets. - Co-registered BLE (
BleParams, same CFR) and sub-frame Doppler micro-fading (DopplerParams, 2026-06-25) so the 2.4 vs 5.0 GHz bands actually differ in temporal CV (without it the quasi-static RT is band-independent — the c-csi-band-calibration finding).
What the supervisor does
- Fan out
exp-csi-crowdover {3 floors} x {2.4, 5.0 GHz},ble.enabled,doppler.enabled, time-varying crowd,trajectory_frame_stride: 24(≈44 s/run on CPU). Each floor uses its ownfusion_experiments[floor]device layout. - Run
fusion_count(runnerpython, IP-087): per (floor, band) compute occupancy(t), CSI-CV, BLE-attenuation; the CSI-only / BLE-anchored / fused estimators; the per-floor timeline; and the cross-floor transfer (source map -> targets, CSI-only vs BLE-recalibrated-fused). - Synthesise the drift-recovery (transfer-MAE reduction) with the in-silico framing.
Figure render request
fusion_count — (a) per-floor fused timeline (truth vs CSI-only-drift vs fused, with BLE recal
ticks); (b) cross-floor transfer MAE bars (CSI-only vs fused) per target floor; (c) the band
contrast (2.4 vs 5.0 GHz temporal-CV).
Out of scope
- The continuity-equation prior (continuity-prior-regularizes-density) — the physics-fusion
PINN is a separate campaign needing the
python-mlrunner. - Real-channel transfer — the synthetic-to-real gap (synthetic-csi-sim-to-real-transfer) and
the hardware noise model are IP-106 /
exp-csi-calibration. - Estimator sophistication — affine recalibration is deliberate (interpretable, non-circular); a learned fusion head is a follow-on once the mechanism is shown.
Expected interpretation
- Fused transfer-MAE << CSI-only transfer-MAE -> "periodic BLE recalibration bounds the
cross-environment drift of temporal-CSI counting." Upgrades ble-periodic-calibration toward
supported(in-silico) and gives the Hybrid-Fusion chapter its first empirical. - No improvement -> the BLE anchor is too coarse/saturated to recalibrate at these crowd sizes (cf. the c-ble-csi-coregistration saturation) — a clean negative that pushes fusion toward a multi-anchor or CSI-feature fix rather than relocation.
- Chain/co-registration fails -> a platform finding on the coupled BLE path.