mirror of
https://github.com/ruvnet/RuView
synced 2026-08-05 19:41:44 +00:00
bac6962689
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.
63 lines
1.8 KiB
JSON
63 lines
1.8 KiB
JSON
{
|
|
"model": "additive complex sum of 6 point-scatterer human body model",
|
|
"link": {
|
|
"tx": [
|
|
0.0,
|
|
0.0
|
|
],
|
|
"rx": [
|
|
5.0,
|
|
0.0
|
|
],
|
|
"freq_ghz": 2.4,
|
|
"wavelength_m": 0.12491666666666666,
|
|
"length_m": 5.0
|
|
},
|
|
"per_part_contributions": {
|
|
"head": {
|
|
"mag_mean": 0.015841584158415842,
|
|
"mag_max": 0.015841584158415845,
|
|
"phase_spread_deg": 0.47725379616596797,
|
|
"fraction_of_total_energy": 0.011026055571541609
|
|
},
|
|
"chest": {
|
|
"mag_mean": 0.07920792079207921,
|
|
"mag_max": 0.07920792079207922,
|
|
"phase_spread_deg": 0.47725379616596797,
|
|
"fraction_of_total_energy": 0.2756513892885403
|
|
},
|
|
"left_arm": {
|
|
"mag_mean": 0.015940580962411778,
|
|
"mag_max": 0.01594058096241178,
|
|
"phase_spread_deg": 0.48028947110512377,
|
|
"fraction_of_total_energy": 0.011164293626008683
|
|
},
|
|
"right_arm": {
|
|
"mag_mean": 0.015940580962411778,
|
|
"mag_max": 0.01594058096241178,
|
|
"phase_spread_deg": 0.48028947110512377,
|
|
"fraction_of_total_energy": 0.011164293626008683
|
|
},
|
|
"left_leg": {
|
|
"mag_mean": 0.015967880656919845,
|
|
"mag_max": 0.015967880656919845,
|
|
"phase_spread_deg": 0.17235962706852703,
|
|
"fraction_of_total_energy": 0.01120256610671521
|
|
},
|
|
"right_leg": {
|
|
"mag_mean": 0.015967880656919845,
|
|
"mag_max": 0.015967880656919845,
|
|
"phase_spread_deg": 0.17235962706852703,
|
|
"fraction_of_total_energy": 0.01120256610671521
|
|
}
|
|
},
|
|
"breathing_band_snr": {
|
|
"scatterer_count": 6,
|
|
"best_subcarrier_snr_db": 18.973630961871965,
|
|
"best_subcarrier_index": 0,
|
|
"mean_subcarrier_snr_db": 18.97214047380962,
|
|
"worst_subcarrier_snr_db": 18.970657303638884,
|
|
"chest_only_baseline_snr_db": 23.666542080148105,
|
|
"multi_scatterer_penalty_db": 4.69291111827614
|
|
}
|
|
} |