wifi-densepose/examples/research-sota
rUv bac6962689
research(R6.1): multi-scatterer Fresnel — discovers 4.7 dB penalty matching R13's 5-dB shortfall (#721)
Extends R6's point-scatterer to distributed-body model (6 scatterers:
head + chest + 2 arms + 2 legs). Combined CSI = coherent sum of
per-body-part contributions.

Headline finding: 5 m link, 2.4 GHz, subject 25 cm off LOS, breathing
at 0.25 Hz with 8 mm chest amplitude:

| Configuration                          | Breathing SNR (best subcarrier) |
|----------------------------------------|--------------------------------:|
| Single-scatterer ideal (R6)            |  +23.7 dB |
| Multi-scatterer realistic (R6.1)       |  +19.0 dB |
| MULTI-SCATTERER PENALTY                |  +4.7 dB  |

This 4.7 dB penalty matches R13's 5-dB-shortfall finding to within
0.3 dB. R13 NEGATIVE concluded that pulse-contour recovery needs
+25 dB SNR, only +20 dB is available. R6.1 says the 5-dB gap has a
physical origin: static body parts add coherent-sum confusion that
doesn't exist in the idealised single-scatterer model.

The three threads now form a coherent physics story:
- R6   = bound  (idealised single-scatterer = +23.7 dB)
- R6.1 = floor  (realistic 6-scatterer    = +19.0 dB)
- R13  = failure (contour needs +25 dB, gets +20 dB)

Pulse-contour recovery is bounded below by what R6.1 leaves achievable,
which is 4.7 dB worse than R6's idealised limit, enough to make R13's
contour recovery infeasible.

Per-body-part contribution: chest = 27.6% of CSI energy (5x per-limb
reflectivity). The chest IS the breathing signal; limbs are confound.

Architectural implications:
- Chest-centric placement targeting (R6.2.3 motivated)
- Mask limbs in vital_signs pipeline (use pose pipeline ADR-079/101)
- R14 V3 rescope to rate-only (no contour-shape recovery)
- R12 PABS revision unblocked: R6.1 is the explicit A(voxel) operator

Surprise finding: on-LOS placement (y=0) is degenerate -- path delta
is 2nd-order in offset for on-LOS scatterers, so breathing barely
changes path length. Real installations need subject OFF the LOS
line. The R6.2 placement search should respect this.

Honest scope:
- 6 scatterers is 1st-order; 50-100 voxel body would refine
- Reflectivity ratios are guesses (RCS measurements would refine)
- Static body assumption (limbs do micro-move during breathing)
- 2D top-down, no multipath (model general enough to include them)

Composes:
- R5: subcarrier selection picks reliable, not high-SNR
- R6: per-scatterer building block
- R6.2.x: chest-centric placement
- R7: residual-vs-forward-model = tighter adversarial detection
- R12 NEGATIVE: PABS A operator unblocked
- R13 NEGATIVE: 5-dB gap has physical origin
- R14 V3: needs rescope

Coordination: ticks/tick-18.md, no PROGRESS.md edit.
2026-05-22 03:36:42 -04:00
..
r1_toa_crlb.py research(R1): ToA CRLB — precision floor for WiFi multistatic localisation (#711) 2026-05-22 01:38:35 -04:00
r1_toa_crlb_results.json research(R1): ToA CRLB — precision floor for WiFi multistatic localisation (#711) 2026-05-22 01:38:35 -04:00
r3_crossroom_reid.py research(R3): cross-room re-ID — MERIDIAN closes the env-shift gap + 4 privacy constraints (#715) 2026-05-22 02:13:10 -04:00
r3_reid_results.json research(R3): cross-room re-ID — MERIDIAN closes the env-shift gap + 4 privacy constraints (#715) 2026-05-22 02:13:10 -04:00
r5_subcarrier_saliency.py research(sota): kick off SOTA research loop + first R5 saliency measurement (#702) 2026-05-21 23:05:55 -04:00
r6_1_multiscatterer.py research(R6.1): multi-scatterer Fresnel — discovers 4.7 dB penalty matching R13's 5-dB shortfall (#721) 2026-05-22 03:36:42 -04:00
r6_1_multiscatterer_results.json research(R6.1): multi-scatterer Fresnel — discovers 4.7 dB penalty matching R13's 5-dB shortfall (#721) 2026-05-22 03:36:42 -04:00
r6_2_2_multistatic_placement.py research(R6.2.2): N-anchor multistatic placement saturation — practical knee at N=5 (#720) 2026-05-22 03:17:14 -04:00
r6_2_2_multistatic_results.json research(R6.2.2): N-anchor multistatic placement saturation — practical knee at N=5 (#720) 2026-05-22 03:17:14 -04:00
r6_2_antenna_placement.py research(R6.2): Fresnel-aware antenna placement — 93x sensing-coverage lift from physics alone (#719) 2026-05-22 03:04:17 -04:00
r6_2_placement_results.json research(R6.2): Fresnel-aware antenna placement — 93x sensing-coverage lift from physics alone (#719) 2026-05-22 03:04:17 -04:00
r6_fresnel_results.json research(R6): Fresnel-zone forward model — bedrock physics for CSI sensitivity (#710) 2026-05-22 01:31:09 -04:00
r6_fresnel_zone.py research(R6): Fresnel-zone forward model — bedrock physics for CSI sensitivity (#710) 2026-05-22 01:31:09 -04:00
r7_multilink_consistency.py research(R7): Stoer-Wagner mincut detects adversarial CSI nodes 3/3 in synthetic (#704) 2026-05-21 23:28:46 -04:00
r7_multilink_consistency_results.json research(R7): Stoer-Wagner mincut detects adversarial CSI nodes 3/3 in synthetic (#704) 2026-05-21 23:28:46 -04:00
r8_rssi_only_count.py research(R8): RSSI-only person count retains 95% of full-CSI accuracy (#703) 2026-05-21 23:18:09 -04:00
r8_rssi_only_results.json research(R8): RSSI-only person count retains 95% of full-CSI accuracy (#703) 2026-05-21 23:18:09 -04:00
r9_rssi_fingerprint_knn.py feat(tools/ruview-mcp): M2 — wire real inference via cog health (#706) 2026-05-21 23:43:32 -04:00
r9_rssi_fingerprint_results.json feat(tools/ruview-mcp): M2 — wire real inference via cog health (#706) 2026-05-21 23:43:32 -04:00
r10_foliage_attenuation.py research(R10): through-foliage wildlife sensing — physics feasibility + per-species gait taxonomy 2026-05-22 00:59:11 -04:00
r10_foliage_results.json research(R10): through-foliage wildlife sensing — physics feasibility + per-species gait taxonomy 2026-05-22 00:59:11 -04:00
r11_maritime_propagation.py research(R11): maritime sensing — through-bulkhead impossible, through-seam works (#712) 2026-05-22 01:53:51 -04:00
r11_maritime_results.json research(R11): maritime sensing — through-bulkhead impossible, through-seam works (#712) 2026-05-22 01:53:51 -04:00
r12_rf_weather_eigenshift.py research(R12): RF weather mapping eigenshift — negative-ish, with clearly-actionable revision path (#707) 2026-05-21 23:52:49 -04:00
r12_rf_weather_results.json research(R12): RF weather mapping eigenshift — negative-ish, with clearly-actionable revision path (#707) 2026-05-21 23:52:49 -04:00
r13_bp_physics_floor.py research(R13): NEGATIVE — contactless BP from CSI is physically inferior to a cuff (#713) 2026-05-22 02:00:35 -04:00
r13_bp_results.json research(R13): NEGATIVE — contactless BP from CSI is physically inferior to a cuff (#713) 2026-05-22 02:00:35 -04:00