wifi-densepose/examples/research-sota
rUv df13dcf597
research(R6.2.2.1): 3D N-anchor multistatic — 2D knee disappears; revises R6.2.2 down (#727)
Composes R6.2.2 (2D N-anchor knee at N=5) with R6.2.1 (3D ellipsoids,
ceiling-only fails). The composed 3D result shows the 2D-derived knee
DOES NOT hold in 3D.

3D saturation curve (5x5x2.5 m bedroom, 3 target zones, 94 candidate
positions across 3 wall heights + ceiling grid, greedy + 4 restarts):

| N |  Pairs | 3D coverage | Marginal | Heights (low/mid/high) |
|---|-------:|------------:|---------:|------------------------|
| 2 |     1  |     7.7%    | +7.7 pp  |          1/1/0          |
| 3 |     3  |    28.1%    | +20.4 pp |          1/2/0          |
| 4 |     6  |    40.6%    | +12.5 pp |          3/0/1          |
| 5 |    10  |    49.4%    | +8.8 pp  |          4/0/1          |
| 6 |    15  |    59.1%    | +9.8 pp  |          4/1/1          |
| 7 |    21  |    65.1%    | +6.0 pp  |          5/1/1          |

Comparison vs R6.2.2 2D:
- 2D N=5 = 96.8% (clean knee)
- 3D N=5 = 49.4% (no knee, -47 pp gap)

3D space is fundamentally harder because each Fresnel ellipsoid is a
thin SLAB in the vertical direction, not a 2D rectangle. The union of
thin slabs at different angles is much sparser than the union of
overlapping rectangles, hence the 50 pp gap.

Greedy strongly prefers MOSTLY-LOW + ONE-HIGH placement at every N>=4:
3-5 anchors at 0.8m + 0-1 at 1.5m + 1 ceiling. Confirms R6.2.1's
diagonal-in-z winning strategy.

ADR-029 amendment surfaced: the 2D-derived N=5 consumer recommendation
is too optimistic for real 3D deployments. Two responses:

1. Bump N to 7-8 for 65%+ 3D coverage
2. Use chest-centric zones (R6.2.3) -- smaller 40x40 cm zones fit
   inside Fresnel envelope, recovering N=5 to 80%+

Recommended path: R6.2.3 + R6.2.2 N=5 = realistic 80%+ 3D coverage at
ADR-029 default N. Architectural lever that aligns 2D and 3D physics.

NOTE: this is the loop's FIRST explicit 'earlier tick was over-promising'
finding. Previous 23 ticks built constructively. R6.2.2.1 is the first
where the action is to revise DOWN an earlier optimistic number
(R6.2.2's 97% becomes 49% in honest 3D). Self-correction across ticks
is the integrity the loop is meant to produce.

Composes with:
- R6.2 / R6.2.1 / R6.2.2: natural composition
- R6.2.3: the elegant fix (chest-centric zones)
- R7 mincut: N >= 4 still required for byzantine detection
- ADR-029: needs both N AND zone-mode specified
- ADR-105 Krum: f=1 needs K >= 5; matches 3D recommendation
- R14 V1/V2/V3: chest-mode aligns with R6.2.3 = tractable 3D

Honest scope: greedy approximate, 0.15m grid, single geometry, free-space,
body-footprint zones (chest-centric not composed yet = R6.2.4 follow-up).

Coordination: ticks/tick-24.md, no PROGRESS.md edit.
2026-05-22 04:58:10 -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_1_physics_env_results.json research(R3.1): physics-informed env prediction at raw-CSI level — NEGATIVE (architecture-error) (#723) 2026-05-22 04:04:38 -04:00
r3_1_physics_informed_env.py research(R3.1): physics-informed env prediction at raw-CSI level — NEGATIVE (architecture-error) (#723) 2026-05-22 04:04:38 -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_1_3d_placement.py research(R6.2.1): 3D antenna placement — ceiling-only gives 0% coverage; mixed-height wins (#724) 2026-05-22 04:17:47 -04:00
r6_2_1_3d_results.json research(R6.2.1): 3D antenna placement — ceiling-only gives 0% coverage; mixed-height wins (#724) 2026-05-22 04:17:47 -04:00
r6_2_2_1_3d_multistatic.py research(R6.2.2.1): 3D N-anchor multistatic — 2D knee disappears; revises R6.2.2 down (#727) 2026-05-22 04:58:10 -04:00
r6_2_2_1_3d_multistatic_results.json research(R6.2.2.1): 3D N-anchor multistatic — 2D knee disappears; revises R6.2.2 down (#727) 2026-05-22 04:58:10 -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_3_chest_centric.py research(R6.2.3): chest-centric placement — +26.9 pp coverage gain for vital-signs cogs (#726) 2026-05-22 04:43:34 -04:00
r6_2_3_chest_centric_results.json research(R6.2.3): chest-centric placement — +26.9 pp coverage gain for vital-signs cogs (#726) 2026-05-22 04:43:34 -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_pabs_implementation.py research(R12 PABS): NEGATIVE -> POSITIVE — 1161x detection lift via R6.1 forward model (#722) 2026-05-22 03:49:41 -04:00
r12_pabs_results.json research(R12 PABS): NEGATIVE -> POSITIVE — 1161x detection lift via R6.1 forward model (#722) 2026-05-22 03:49:41 -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