CSI band calibration: can the coupled sim reproduce the WiMANS 2.4-vs-5 GHz occupancy gap?
Current assessment (2026-09-15)
Across 60 simulated runs on two floors, the large-floor count correlations were +0.74 at 2.4 GHz and +0.75 at 5 GHz, against a reported public-data gap of +0.43. Tested scenario, body-loss and room-scale changes did not close the discrepancy. This narrows candidate explanations but does not identify the ray tracer's frequency law as the sole cause.
The band mismatch is a fidelity warning. The August 28 receiver-profile fit adds another measured nuisance axis and supersedes the assumption that the shipped impairment prior represents the fleet. Empty-room delivery differences in EXP-011 are a separate estimand from occupied counting sensitivity.
Next evidence needed: Compare matched features and impairment settings, then use the independently labelled paired-band hardware contrast. Retain room, hardware and delivered-timing controls before interpreting a wavelength mechanism.
Basis: Thesis Narrative, the September 10 synthesis, and the September 15 register review. See the review record for evidence sources and outstanding checks.
Earlier protocol and dated results
The methods and observations below retain their original scope. Read their readiness statements and proposed next steps as historical. The current assessment above records what has changed; frozen thresholds have not been retrospectively revised.
The problem, in plain words
Think of two flashlights: a red one and a blue one. Blue light has a shorter wavelength, so it casts sharper shadows and picks out fine detail a red beam would blur past. Radio waves work the same way: 5 GHz Wi-Fi has a shorter wavelength than 2.4 GHz, so a person's body perturbs it more distinctly. That is the physical reason 5 GHz tends to be the better "people sensor" — and real measurements confirm it. Device-free Wi-Fi counting has leaned on exactly this "the channel wobbles more when the room is busier" idea for years (zou2018_1590 ↗; zhou2020_6173 ↗).
Now the catch. We are trying to generate Wi-Fi data with a computer simulation (a ray tracer — hoydis2023_7aa4 ↗) so we can test crowd-counting ideas cheaply, without a hardware campaign for every experiment. But a simulator is only useful if it lies in ways that don't matter and tells the truth in ways that do. If it flattens the 5 GHz advantage, then anything we "learn" about band choice in simulation is fiction. So before we trust the sandbox, we check it against the one real anchor we have (WiMANS) on the exact axis we care about: the band gap in occupancy-discriminability. This is the classic sim-to-real trust problem that haunts every synthetic-data approach to Wi-Fi sensing (wang2026_2758 ↗).
What we are trying to prove
- Hypothesis (falsifiable): the coupled sim reproduces the sign and separation of the real band gap — that is, sim ρ(N, wobble) at 5 GHz should sit meaningfully above 2.4 GHz, with non-overlapping bootstrap intervals, mirroring the WiMANS +0.43 gap. If the two bands come out equal, the hypothesis fails and the ray-tracer's per-band physics is the suspect.
- This was pre-registered as a calibration probe, not a hypothesis test. We expected the null (both bands equal) from a prior run (c-csi-crowd-temporal), and framed the honest deliverable as the sim-vs-real discrepancy plus a localised refit target — not an accuracy headline against self-authored noise.
- What a null means here (and it is the interesting case): if the sim shows no gap while real data does, the value is diagnostic. It does not say "5 GHz is not better" — the real world says it is. It says "our simulator is blind to the mechanism that makes it better," and it forces us to name exactly which knob (per-band subcarriers/bandwidth, body permittivity, ray depth) is wrong. A simulator that faked the gap would be worse, because we would have trusted a coincidence.
How the experiment works (plain method)
Two campaigns, run back-to-back, each a controlled elimination:
- c-csi-band-calibration — the big room + refit. Fan out the coupled walk→CSI chain on the 350 m²
resplan-12439apartment over a 5×2×3 grid: occupancy N ∈ {1..5}, bands {2.4, 5.0 GHz}, seeds {0,1,2} — 30 runs. First a diagnostic crossed two candidate levers to un-stick the low-occupancy signal (it was pinned at the simulator's fading floor): raising the per-body lossbody_loss(5→20 dB) did nothing; shortening the walkingscenario(duration_units3600→1200) lifted the signal ~750×. Reason: at 3600 the agents parked early, so the "walking window" was mostly standing still. With the floor cleared, measure per-band ρ(N, walking-CV) with bootstrap CIs and compare head-to-head with WiMANS. - c-csi-roomscale-calibration — the small room. One confound survived campaign 1: WiMANS rooms are small (~30–60 m²) where 1–5 people strongly perturb short links; our 350 m² apartment barely touches most paths. So repeat the whole 30-run grid on the smallest link-equipped ResPlan floor,
resplan-12419(135 m², with 6 seats authored near the receiver so the walker has somewhere to go). If a small room recovers the band gap, campaign 1's mismatch was a scale artefact.
Both use genuine 3-seed replication (the fading seed is varied, so this is real replication, not a deterministic re-run), honest bootstrap intervals, and a physical-sanity gate that flags and excludes degenerate cells rather than averaging them in.
What we've found so far (honest, across both campaigns)
Three-way comparison — the whole story in one table (rank correlation ρ between occupancy N and walking-window CV; higher = the band tracks headcount better):
| Band | Sim small room (135 m²) | Sim large room (350 m²) | WiMANS real |
|---|---|---|---|
| 2.4 GHz | +0.29 [−0.27, +0.73] | +0.74 [+0.35, +0.90] | +0.28 |
| 5.0 GHz | +0.29 [−0.28, +0.73] | +0.75 [+0.35, +0.92] | +0.71 |
| band gap (5.0 − 2.4) | +0.00 | +0.01 | +0.43 |
- The sim robustly reproduces "both bands equal." On the large floor the walking-CV rises cleanly and monotonically with occupancy (seed-mean 4×10⁻⁴ → 1.7×10⁻², well above the fading floor), and 2.4/5.0 GHz track it near-identically. This confirms the earlier c-csi-crowd-temporal finding was real, not an N-ladder artefact.
- But it never manufactures the real 5 GHz edge. Real WiMANS has a +0.43 band gap that is cross-room robust; the sim's gap is +0.01 (large) / +0.00 (small). Different rooms even fail differently — the large floor under-couples (good dynamic range, ρ ≈ +0.74), the small floor over-couples (occupants near the short links nearly max out perturbation by N=1, so the signal saturates and grading collapses to ρ ≈ +0.29 with intervals spanning zero) — yet neither shows a band gap.
- Three suspects, all eliminated. Scenario (fixed),
body_loss(inert), room scale (no effect). What's left, by elimination, is the ray-tracer's frequency model: it assigns the same subcarrier count, bandwidth, homogeneous body-scatterer response andmax_depth = 3to both carriers. Real 5 GHz hardware also runs wider channels (80 MHz vs 20/40 MHz) and sees the body at a shorter wavelength — physics the current model flattens.
Bottom line: the calibration probe did its job. It found a real, reproducible sim↔real discrepancy, localised it to the frequency physics, and produced a concrete refit target for exp-csi-calibration — not an in-silico "win."
How to read the figures
fig_band_calibration_refit(c-csi-band-calibration) — walking-CV(N) per band on the large floor with bootstrap-CI ribbons, overlaid with the rank-aligned WiMANS trend, plus a side bar of the four ρ values (sim-2.4 / sim-5.0 / real-2.4 / real-5.0) with intervals. The reading: the two sim ribbons sit on top of each other (no gap); the two real bars separate. n = 15 pooled per band, so read the rank trend, not individual points.fig_roomscale_3way(c-csi-roomscale-calibration) — the three-way bar chart (sim-small / sim-large / WiMANS-real, two bands each). The honest reading: only the real pair has a visible 5 GHz-over-2.4 GHz step; both sim pairs are level. The small-room bars carry wide intervals (saturation) — do not over-read their point values.
Key references
- huang2025_060d ↗ — the real dual-band anchor; source of the measured +0.43 band gap this card grades the sim against.
- zou2018_1590 ↗, zhou2020_6173 ↗ — the "channel wobble ∝ occupancy" counting premise.
- meneghello2023_0a93 ↗ — bandwidth/channel-width dependence of the CSI feature; the Field Scientist's wavelength-vs-bandwidth caveat.
- hoydis2023_7aa4 ↗ — the ray tracer under calibration.
- zhu2024_cbfa ↗, rampa2022_ca57 ↗, singh2018_06c7 ↗ — frequency-dependent RF material/body scattering; the pinned refit target.
- sun2026_2f5e ↗, jin2025_14eb ↗ — channel-representation and differentiable-surrogate framings for the refit.
- wang2026_2758 ↗, chen2023_5cbd ↗ — the sim-to-real / domain-gap framing the Red-Team argues from.
- zhang2026_ccac ↗, guarino2026_e72c ↗ — the reproducibility bar the Software Engineer invokes.