ruview @ v1061
integrity
- size
- 55.6 MiB
- downloaded
- last checked
release notes
Automated release from CI pipeline
Changes: research(R6): Fresnel-zone forward model — bedrock physics for CSI sensitivity (#710)
The workspace DSP (vital_signs, multistatic, pose_tracker, tomography) implicitly assumes a forward model that maps scatterer geometry to per-subcarrier phase shifts. Nobody had written it down. This tick makes it explicit.
Closed-form first-Fresnel-zone radius + point-scatterer path-delta + per-subcarrier phase prediction over 802.11n/ac 20 MHz channels (52 subcarriers, 312.5 kHz spacing). Pure NumPy demo + JSON output for downstream consumers.
Headline numbers:
- 5 m link first-Fresnel radius @ midpoint: 40 cm (2.4 GHz), 27 cm (5 GHz)
- Inside zone-1: phase spread <0.5 deg across 52 subcarriers (band-flat)
- Outside zone-1: phase spread up to 16 deg (band-dispersed)
This unifies R5 + R6: R5's experimentally measured band-spread top subcarriers is exactly what the Fresnel forward model predicts for zone-1 occupancy.
Closes the loop on three earlier threads:
- R7 (mincut adversarial) gets a precise definition of 'physically inconsistent' instead of a learned classifier
- R10 (foliage range) needs to retract 100 m sparse estimate to ~70 m to account for Fresnel-zone obstruction
- R12 (eigenshift negative result) gets its revision basis: PABS over Fresnel-grounded forward operator
Honest scope: point-scatterer only, first Fresnel only, frequency-flat reflectivity, LOS-only (no multipath). The scalar version is the right first-order approximation; volume-integral / multi-zone / multipath extensions catalogued as R6.1+R6.2 follow-ups.
Coordination: ticks/tick-8.md, no PROGRESS.md edit.
Docker Image:
ghcr.io/ruvnet/RuView:650612e5a26385d2562f2886a9539c814c3ce819
download
curl -fL -o v1061.zip https://ratatoskr.space/pkg/ruview/v1061.zip
printf '%s %s\n' 'fe34bd66a74c97ac85b2532f2ed2ff8617024c912585ad54ef6e33483a0c5ffd' 'v1061.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1061.zip"
$out = "v1061.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "fe34bd66a74c97ac85b2532f2ed2ff8617024c912585ad54ef6e33483a0c5ffd") { throw "sha256 mismatch" }
curl -fL -o v1061.tar.gz https://ratatoskr.space/pkg/ruview/v1061.tar.gz
printf '%s %s\n' '9bde2edf41bc2fe504e421869149e7fbf7a3f46f4133f4914e0131576e3d70da' 'v1061.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1061.tar.gz"
$out = "v1061.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "9bde2edf41bc2fe504e421869149e7fbf7a3f46f4133f4914e0131576e3d70da") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1061.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1061.zip
printf '%s %s\n' 'fe34bd66a74c97ac85b2532f2ed2ff8617024c912585ad54ef6e33483a0c5ffd' 'v1061.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1061.zip"
$out = "v1061.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "fe34bd66a74c97ac85b2532f2ed2ff8617024c912585ad54ef6e33483a0c5ffd") { throw "sha256 mismatch" }
curl -fL -o v1061.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1061.tar.gz
printf '%s %s\n' '9bde2edf41bc2fe504e421869149e7fbf7a3f46f4133f4914e0131576e3d70da' 'v1061.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1061.tar.gz"
$out = "v1061.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "9bde2edf41bc2fe504e421869149e7fbf7a3f46f4133f4914e0131576e3d70da") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1061.zip | zip | 55.5 MiB |
blake3-24 bedc4b3311a55849295a42a992520385aa8f2c1d4052f3f2
sha256 fe34bd66a74c97ac85b2532f2ed2ff8617024c912585ad54ef6e33483a0c5ffd
sha1 e9bc9eb7e6376808a57b2b14322f600ee6098137
|
| v1061.tar.gz | tar.gz | 54.1 MiB |
blake3-24 ea7f89376a11f75724b480192009fa489e732446e6d52926
sha256 9bde2edf41bc2fe504e421869149e7fbf7a3f46f4133f4914e0131576e3d70da
sha1 e87f146ec9e2a3b75f8e6ef5a5cca6fe2619e4fc
|
install
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v1061.tar.gz"],
integrity = "sha256-m94u30G8L+UE5CGGkUnn+/ej9G9BM/SRTgExV249cNo=",
strip_prefix = "ruview-v1061",
)
.url = "https://ratatoskr.space/pkg/ruview/v1061.tar.gz",
install via yggdrasil mesh
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1061.tar.gz"],
integrity = "sha256-m94u30G8L+UE5CGGkUnn+/ej9G9BM/SRTgExV249cNo=",
strip_prefix = "ruview-v1061",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1061.tar.gz",