github ruvnet/RuView v1081
Release v1081

latest releases: v1136, v1133, v1115...
4 hours ago

Automated release from CI pipeline

Changes:
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.

Docker Image:
ghcr.io/ruvnet/RuView:bac69626890c9551af9b469641b091c2f74b5eec

Don't miss a new RuView release

NewReleases is sending notifications on new releases.