ruview @ v1063
integrity
- size
- 55.6 MiB
- downloaded
- last checked
release notes
Automated release from CI pipeline
Changes: research(R1): ToA CRLB — precision floor for WiFi multistatic localisation (#711)
Quantitative Cramer-Rao Lower Bound analysis for WiFi ranging via both Time-of-Arrival and phase-based methods, with multistatic 4-anchor position-error budget.
Headline (20 MHz HT20, 20 dB SNR, 100 averaged frames):
- ToA range CRLB: 4.1 cm
- Phase (5 deg noise): 0.17 mm
- Phase advantage: 240x (after ambiguity resolution)
4-anchor convex-hull room (GDOP 1.5):
- ToA position precision: 25 cm (room-pose-quality floor)
- Phase position precision: 1 mm (RTK-quality, ambiguity-resolved)
This is the strongest architectural lever this loop has surfaced for ADR-029 (multistatic sensing). The current learning-based attention approach has no provable precision floor; an explicit ToA-then-phase pipeline sits within 2x of CRLB by Kay's theory.
Composes cleanly with R6:
- R6 gives the spatial sensitivity envelope (40 cm Fresnel at 2.4 GHz)
- R1 gives the ranging precision within it (1 mm phase, 4 cm ToA averaged)
- Independent, additive, together bound full multistatic geometry budget
Closes a gap R10 created: foliage drops SNR, which directly worsens ToA CRLB. A 50 m foliage link at 5 dB SNR drops to ~1 m ToA precision. R10's 100 m sparse-foliage range is detectable not localisable.
Honest scope:
- CRLB is a lower bound; real estimators sit 1-2x above it
- 5 deg phase noise assumes phase_align.rs is applied
- Multipath degrades CRLB by 2-5x even with MUSIC super-resolution
- Integer-ambiguity (cycle-slip) is unsolved per-subcarrier; needs multi-subcarrier wide-lane unwrap
Coordination: ticks/tick-9.md, no PROGRESS.md edit.
Docker Image:
ghcr.io/ruvnet/RuView:a1bbe2e8a63e0dc6aef9125941edcd405c4d2962
download
curl -fL -o v1063.zip https://ratatoskr.space/pkg/ruview/v1063.zip
printf '%s %s\n' '703618d17216131af68a29e4052c97b2fbd12fb79aa109e3f7f6cba108f6d183' 'v1063.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1063.zip"
$out = "v1063.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "703618d17216131af68a29e4052c97b2fbd12fb79aa109e3f7f6cba108f6d183") { throw "sha256 mismatch" }
curl -fL -o v1063.tar.gz https://ratatoskr.space/pkg/ruview/v1063.tar.gz
printf '%s %s\n' 'f8893603dc1b381e77f8ee5453f47a68c5171b13ee4677f9531763f76977593c' 'v1063.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1063.tar.gz"
$out = "v1063.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f8893603dc1b381e77f8ee5453f47a68c5171b13ee4677f9531763f76977593c") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1063.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1063.zip
printf '%s %s\n' '703618d17216131af68a29e4052c97b2fbd12fb79aa109e3f7f6cba108f6d183' 'v1063.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1063.zip"
$out = "v1063.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "703618d17216131af68a29e4052c97b2fbd12fb79aa109e3f7f6cba108f6d183") { throw "sha256 mismatch" }
curl -fL -o v1063.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1063.tar.gz
printf '%s %s\n' 'f8893603dc1b381e77f8ee5453f47a68c5171b13ee4677f9531763f76977593c' 'v1063.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1063.tar.gz"
$out = "v1063.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f8893603dc1b381e77f8ee5453f47a68c5171b13ee4677f9531763f76977593c") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1063.zip | zip | 55.5 MiB |
blake3-24 0a8988d6a5a0710e8f02a05012f0710c36789ab819084439
sha256 703618d17216131af68a29e4052c97b2fbd12fb79aa109e3f7f6cba108f6d183
sha1 94093244d7a27c3dcbda3b0aa2a42bf1bcb35901
|
| v1063.tar.gz | tar.gz | 54.1 MiB |
blake3-24 2f017a970a6e3a6c7030cc4b611c796e5c239366b289640b
sha256 f8893603dc1b381e77f8ee5453f47a68c5171b13ee4677f9531763f76977593c
sha1 baf8a544b8c4f5d29d4bfb160bfe0c2320593e52
|
install
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v1063.tar.gz"],
integrity = "sha256-+Ik2A9wbOB53+O5UU/R6aMUXGxPuRnf5Uxdj92l3WTw=",
strip_prefix = "ruview-v1063",
)
.url = "https://ratatoskr.space/pkg/ruview/v1063.tar.gz",
install via yggdrasil mesh
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1063.tar.gz"],
integrity = "sha256-+Ik2A9wbOB53+O5UU/R6aMUXGxPuRnf5Uxdj92l3WTw=",
strip_prefix = "ruview-v1063",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1063.tar.gz",