Tik Pro edition

Apžvalga

Starlink Viewer rodo tiesioginį 3D gaublį su visais ~10 000 Starlink palydovų, animuojamų realiuoju laiku, jūsų antenos vieta ir numatomu ryšiu su palydovu, kuris greičiausiai aptarnauja jūsų terminalą.

Idealus Starlink stebėjimo įrankis rodytų tiksliai, su kuriuo palydovu jūsų antena bendrauja bet kuriuo metu, kada ji perjungiama prie naujo palydovo ir signalo kelią nuo antenos per palydovą iki antžeminės stoties. Tam reikėtų, kad antena atskleistų aptarnaujančio palydovo tapatybę ir elektroninio spindulio krypties nukreipimo kryptį. SpaceX neatskleidžia nė vieno iš jų, todėl Nexus nustato aptarnaujantį palydovą iš turimų duomenų.

Kodėl reikalingas nustatymas

SpaceX užrakina palydovų identifikavimo duomenis už autentifikuotų gRPC galinių taškų, kurie neprieinami vartotojų programinei įrangai.

  • dish_get_context turi initial_satellite_id lauką, tačiau nuo programinės įrangos 9f4d05a4 (2021 m. birželis) grąžina PermissionDenied vartotojų aparatinėje įrangoje.
  • transceiver_get_telemetry atskleidžia lmac_satellite_id ir target_satellite_id, tačiau grąžina UNIMPLEMENTED visuose vartotojų terminaluose.
  • PKI iššūkio-atsakymo autentifikacija su SpaceX kontroliuojamais raktais reiškia, kad bendruomeninio apėjimo nėra.
  • Elektroninio spindulio nukreipimo kryptis: kuri tiesiogiai identifikuotų aptarnaujantį palydovą; nėra atskleidžiama per jokį galinį tašką.
  • Antenos fazuotoji gardelė nukreipia spindulio kryptį elektroniniu būdu iki ±50° nuo vizavimo krypties (boresight), tačiau šis nukreipimo kampas yra visiškai nematomas išoriniams API vartotojams.

Turimi duomenys

Matuojami iš antenos

Duomenys Ką tai mums pasako Atnaujinimo dažnis
Vizavimo krypties azimutas ir aukščio kampas Fizinė antenos korpuso orientacija 1 Hz
PoP ping delsa Kelionės pirmyn ir atgal laikas iki buvimo taško 1 Hz
Atsisiuntimo ir įkėlimo pralaidumas Dabartinis pralaidumas 1 Hz
Laiko tarpsnis Palydovo laiko tarpsnis (visada 0 testuotoje įrangoje) 1 Hz
GPS koordinatės Antenos vieta Pagal poreikį
Nutrūkimų istorija (did_switch) Patvirtintas palydovo perjungimas paslaugos nutrūkimo metu Kiekvienam nutrūkimo įvykiui
Kliūčių žemėlapis (SNR tinklelis) 123×123 pikselių dangaus žemėlapis; turi realaus laiko palydovo signalo duomenis, kai iš naujo nustatomas perjungimo ribose (žr. Obstruction Map and Satellite Tracking) 1 Hz

Išoriniai šaltiniai

Duomenys Ką tai mums pasako
TLE orbitos elementai ~10 000 Starlink palydovų (CelesTrak / 18th Space Defence Squadron) Apskaičiuotas azimutas, aukščio kampas ir nuožulnusis atstumas kiekvieno palydovo iš bet kurios stebėtojo pozicijos

Kas nėra prieinama

Duomenys Kodėl to norime Būsena
Aptarnaujančio palydovo ID Tiesioginė identifikacija Užrakinta už autentifikacijos
Elektroninio spindulio nukreipimo kampas Tiksli spindulio kryptis Neatskleidžiama per jokį galinį tašką
Veikiantis laiko tarpsnis Perjungimo laiko signalas Laukas egzistuoja, bet rodo 0 dabartinėje vartotojų programinėje įrangoje

Kaip veikia atitikimas

Palydovų atitikimas

Peržiūros programa atlieka šį skaičiavimą 1 Hz dažniu:

  1. Stebėtojo pozicija: antenos GPS koordinatės iš get_location nustato jūsų vietą Žemėje.

  2. Palydovų pozicijos: naudodama SGP4 orbitos sklidimą su TLE duomenimis iš CelesTrak, peržiūros programa apskaičiuoja kiekvieno Starlink palydovo azimutą, aukščio kampą ir nuožulnųjį atstumą, matomą iš jūsų antenos vietos.

  3. Matomumo lauko filtravimas: svarstomi tik palydovai aukščiau 10° aukščio kampo. Antenos fizinė vizavimo kryptis (iš alignment_stats) apibrėžia fazuotosios gardelės ~100° matomumo lauko kūgio centrą.

  4. Artimiausio kandidato parinkimas: palydovas su mažiausiu kampiniu atstumu nuo fizinio vizavimo centro parenkamas kaip labiausiai tikėtinas aptarnaujantis palydovas.

Vizavimo kryžminė žymė

Kryžminė žymė poliniame dangaus grafike vaizduoja fizinę antenos korpuso orientaciją, o ne elektroninio spindulio kryptį. Starlink fazuotoji gardelė iš esmės nejuda po pradinio sulygiavimo; vizavimo reikšmės per valandas kinta tik laipsnio dalimis dėl vėjo ar šiluminių poveikių. Antena fiziškai nejuda sekdama atskirus palydovus.

Tikrasis spindulio nukreipimas vyksta elektroniniu būdu fazuotojoje gardelėje RF lygmeniu, sukant iki ±50° nuo fizinės vizavimo krypties, sekant aptarnaujantį palydovą. Ši elektroninio spindulio kryptis neatskleidžiama per jokį vartotojų API galinį tašką.

Palydovo pakeitimo aptikimas

Kai artimiausias palydovo kandidatas pasikeičia (kitas NORAD ID tampa geometriškai artimiausiu), tai registruojama kaip nustatytas palydovo pakeitimas. Šie pakeitimai koreliuoja su faktiniais antenos perjungimais, bet jų nepatvirtina. Jie atspindi orbitos mechaniką; palydovams praeinant virš galvos ~7,5 km/s greičiu, artimiausias antenos vizavimo centrui palydovas natūraliai keičiasi kas kelias minutes.

Tikri palydovų perjungimai Starlink tinkle yra suprojektuoti būti nenutrūkstami (make-before-break), nesukuriant matomo delsos ar pralaidumo nenuoseklumo, kuris galėtų būti naudojamas kaip patikimas aptikimo signalas dabartinėje programinėje įrangoje.

Patikimumo vertinimas

Patikimumo balas atspindi geometrinę tikimybę, kad suderintas palydovas yra tikrasis aptarnaujantis:

Patikimumas Kriterijai Interpretacija
Aukštas < 10° nuo vizavimo krypties, ≤ 3 netoliese esantys kandidatai Mažai palydovų aplinkoje; stiprus geometrinis kandidatas
Vidutinis < 25° nuo vizavimo krypties Gerai matomumo lauke; pagrįstas kandidatas
Žemas < 50° nuo vizavimo krypties Antenos nukreipimo diapazone, bet daug netoliese esančių kandidatų
Nėra atitikmens > 50° nuo vizavimo krypties Nėra palydovo antenos elektroninio nukreipimo diapazone

Šios ribinės vertės kalibruotos fizinei vizavimo krypčiai (antenos korpuso krypčiai), o ne elektroniniam spinduliui. Kadangi fazuotoji gardelė gali nukreipti ±50° nuo antenos paviršiaus, aptarnaujantis palydovas paprastai bus 10–40° nuo fizinio vizavimo centro. „Aukštas" patikimumo atitikmuo reiškia, kad yra vienas stiprus geometrinis kandidatas; tai nereiškia, kad identifikacija patvirtinta.

Tikslumo laipsnis

Kuo galite pasitikėti

Palydovų pozicijos gaublyje yra tikslios. TLE duomenys iš CelesTrak yra autoritetingi (gaunami iš JAV Kosminių pajėgų 18th Space Defence Squadron), o SGP4 sklidimas yra standartinis metodas, naudojamas kosmoso sekimo bendruomenėje. Pozicinis tikslumas paprastai yra kelių kilometrų ribose neseniai atnaujintiems TLE.

Jūsų antenos vieta yra tiksli. Ji gaunama tiesiai iš antenos integruoto GPS.

Fizinė vizavimo kryptis yra tiksli. Ji matuojama antenos IMU (inerciniu matavimo įtaisu) su ~0,6° neapibrėžtumu.

Matomų palydovų rinkinys yra tikslus. Apskaičiuoti žiūrėjimo kampai iš jūsų pozicijos į kiekvieną palydovą yra geometriškai tikslūs, todėl polinis grafikas teisingai rodo, kurie palydovai yra virš galvos ir kur jie yra danguje.

Kas yra nustatoma

Identifikuotas palydovas yra pagrįstas spėjimas. Artimiausias vizavimo centrui palydovas yra geriausias geometrinis kandidatas, tačiau antena gali bendrauti su bet kuriuo palydovu savo ±50° elektroninio nukreipimo diapazone. Bet kuriuo metu dešimtys palydovų gali būti matomumo lauke.

Palydovų pakeitimai yra stebima geometrija, ne patvirtinti perjungimai. Kai artimiausias kandidatas pasikeičia, tai atspindi orbitos poslinkį; kitas palydovas tampa geometriškai artimiausiu. Tikri antenos perjungimai gali sutapti arba nesutapti su šiais geometriniais pakeitimais. Kai kurie tikri perjungimai bus nematomi nustatymui (antena persijungia prie kito palydovo, bet geometriškai artimiausias nesikeičia), o kai kurie pastebėti pakeitimai bus grynas orbitos poslinkis (geometriškai artimiausias pasikeitė, bet antena iš tikrųjų nepersijungė).

Patikimumo balai yra geometriniai, ne signalu pagrįsti. „Aukštas" patikimumo atitikmuo reiškia gerą geometriją, ne patvirtintą ryšį. Be prieigos prie elektroninio spindulio krypties ar aptarnaujančio palydovo ID, joks vartotojų programinės įrangos įrankis negali patvirtinti, kurį palydovą antena iš tikrųjų naudoja.

Signalai, kuriuos tyrėme

Kūrimo metu buvo vertinami keli signalai perjungimo aptikimui. Visi buvo testuoti su tikra aparatine įranga (rev3_proto2, programinė įranga 2026.02.16.cr74084 ir 2026.04.07.mr77639.1).

Signalas Hipotezė Išvada
seconds_to_first_nonempty_slot Turėtų skaičiuoti atgal pagal palydovo laiko tarpsnį ir iš naujo nustatyti perjungiant Testuotoje vartotojų aparatinėje įrangoje visada rodo 0; laukas neužpildytas
pop_ping_latency_ms nenuoseklumai Delsa turėtų šoktelėti, kai nuožulnusis atstumas keičiasi perjungiant Delsa išlieka sklandus per perjungimus; SpaceX greičiausiai naudoja make-before-break perjungimą, kuris absorbuoja kelio pokyčius
did_switch iš nutrūkimų istorijos Patvirtintas perjungimo žymuo nutrūkimo įrašuose Suveikia tik paslaugos nutrūkimų metu, ne įprastų ~15 sekundžių švarių perjungimų metu
Vizavimo krypties nenuoseklumai Fizinis antenos persitaikymas gali lydėti perjungimus Antenos korpusas beveik nejuda; elektroninis spindulio nukreipimas valdo palydovų sekimą tyliai
Kliūčių žemėlapio SNR (be atstatymo) SNR pokyčiai kiekvienai ląstelei turėtų sekti palydovų judėjimą per matomumo lauką Neatstačius žemėlapio, jis grąžina statinę kaupiamąją giedro dangaus kaukę neužstotoje antenoje; visos matomos ląstelės rodo ~1,0 be jokių pokyčių tarp nuoseklių apklausų. Sukaupti duomenys yra visiškai įsotinti, todėl kadras po kadro skirtumas nerodo jokių pokyčių.
Kliūčių žemėlapio SNR (su atstatymu) Po dish_clear_obstruction_map iškvietimo žemėlapis turėtų atsistatyti iš tuščio ir atskleisti aptarnaujančio palydovo padėtį, nes kiekvieną sekundę piešia naujus pikselius Patvirtinta, kad veikia. Po atstatymo perjungimo ribose, apklausa 1 Hz dažniu sukuria švarias vieno pikselio palydovų trajektorijas. Žr. Obstruction Map and Satellite Tracking.

Obstruction Map and Satellite Tracking

Kontekstas

SatInView tyrimas, kurį atliko Ahangarpour, Zhao, and Pan (ACM MobiCom '24 LEO-NET Workshop), parodė, kad aptarnaujantį palydovą galima identifikuoti atstatant antenos kliūčių žemėlapį 15 sekundžių perjungimo ribose, apklausiant jį 1 Hz dažniu ir XOR-uojant gretimus kadrus, kad būtų išgautas palydovo trajektorija, kai jis juda per matomumo lauką. Tada stebima trajektorija sugretinama su TLE paremtomis palydovų pozicijomis, siekiant beveik vienareikšmės identifikacijos.

Pradinio Starlink Viewer kūrimo metu testavome kliūčių žemėlapį neatlikdami atstatymo. Neužstotoje antenoje žemėlapis atrodė statiškas, visiškai įsotinta giedro dangaus kaukė be kadrų tarpusavio variacijos. Padarėme išvadą, kad duomenyse nebuvo realaus laiko palydovo signalo informacijos. Ši išvada buvo teisinga neatstatytam žemėlapiui, bet nepilna: žemėlapis atrodė statiškas, nes kiekvienas pikselis, kurį dabartinis palydovas galėjo nupiešti, jau buvo uždegtas ankstesnių palydovų praėjimų. Neišvalius sukauptų duomenų pirmiausia, XOR nieko naujo negalėjo aptikti.

Atnaujinti išvados

Po susirašinėjimo su SatInView tyrimų komanda, testavome visą atstatymu pagrįstą metodą rev3_proto2 aparatinėje įrangoje, naudojančioje programinę įrangą 2026.04.07.mr77639.1 (2026 m. balandis). Rezultatai patvirtina, kad metodika veikia esamoje aparatinėje ir programinėje įrangoje:

  • dish_clear_obstruction_map yra prieinamas ir veikiantis. Jo iškvietimas išvalo sukauptus SNR duomenis (377 aktyvūs pikseliai testavimo metu sumažinti iki 1).
  • Po atstatymo žemėlapis atsistato maždaug po vieną naują pikselį per sekundę, kai aptarnaujantis palydovas juda per matomumo lauką.
  • Gretimų kadrų XOR-avimas 1 Hz dažniu sukuria švarius vieno pikselio trajektorijos taškus su beveik nuliniu išsibarstymu.
  • 15 sekundžių perjungimo laikas (kiekvienos minutės 12-a, 27-a, 42-a ir 57-a sekundės, globaliai sinchronizuotas) buvo patvirtintas mūsų aparatinėje įrangoje. Gretimi intervalai stebėjo tą patį palydovą nuolat, su aiškiu trajektorijos šuoliu, kai įvyko tikras perjungimas.
  • Žemėlapis praneša FRAME_EARTH stacionariose aktyviose antenose, o tai reiškia, kad tinklelis orientuotas taip, kad viršutinis centrinis pikselis atitinka tikrąją šiaurę. Mobilios ar neaktyvios antenos gali pranešti FRAME_UT, kur apatinis centrinis pikselis atitinka vizavimo kryptį.

Kompromisas: kodėl Nexus pagal nutylėjimą neatstato žemėlapio

dish_clear_obstruction_map iškvietimas yra destruktyvus, jis ištrina sukauptą antenos kliūčių profilį. Vartotojams su užstotais įrengimais (medžiai, pastatai ar kitos struktūros) šie duomenys yra vertingi signalo problemų diagnostikai ir kaupiami laikui bėgant per daugelį palydovų praėjimų. Jo atstatymas kas 15 sekundžių trukdo antenai kaupti bet kokius kliūčių duomenis, o Starlink mobilioji programėlė rodys tuščią arba dalinį žemėlapį.

Nexus šiuo metu naudoja geometrinį nustatymą (vizavimo kryptis + TLE atitikimas) kaip numatytąjį palydovo identifikavimo metodą. Šis metodas yra nedestruktyvus, jis nekvietia jokių rašymo galinių taškų antenoje ir neturi jokio šalutinio poveikio vartotojo kliūčių duomenims.

Mes naudojame trajektoriniu principu pagrįstą metodą kaip kalibravimo įrankį, kad patikrintume ir patobulintume mūsų geometrinio nustatymo tikslumą. Taip pat svarstome, ar siūlyti trajektorijų stebėjimą kaip pasirinktinį režimą pažengusiems vartotojams ir tyrėjams su aiškiu atskleidimu apie žemėlapio atstatymo kompromisą.

Kas galėtų tai pakeisti

Būsimi programinės įrangos atnaujinimai ar aparatinės įrangos revizijos galėtų atskleisti papildomą telemetriją, kuri pagerintų nustatymo tikslumą:

  • Veikiantis seconds_to_first_nonempty_slot: jei šis laukas būtų užpildytas naujesnėje programinėje ar aparatinėje įrangoje, jis teiktų patikimą kiekvieno perjungimo laiko signalą.
  • Elektroninio spindulio nukreipimo kampai: bet koks fazuotosios gardelės tikrosios spindulio krypties atskleidimas leistų tiesiogiai identifikuoti palydovą.
  • Sušvelninta autentifikacija dish_get_context: jei SpaceX iš naujo įgalintų initial_satellite_id lauką, problema būtų visiškai išspręsta.
  • Nedestruktyvūs realaus laiko signalo duomenys: jei būsima programinė įranga per atskirą galinį tašką ar nedestruktyvią kliūčių žemėlapio atmainą atskleis signalo informaciją kiekvienam palydovui, trajektorijų atitikimo metodą bus galima naudoti neatstatant vartotojo kliūčių duomenų.
  • Naujos aparatinės įrangos kartos: SpaceX diegia V3 palydovus ir naują terminalo aparatinę įrangą. Kitokia programinė įranga ar aparatinės įrangos revizijos gali užpildyti šiuo metu neaktyvius laukus arba atskleisti naują telemetriją.

Ankstesni darbai

Nexus naudoja geometrinį nustatymą (vizavimo kryptis + TLE-paremtos palydovų pozicijos), kad įvertintų, kuris palydovas aptarnauja anteną. Tai heuristinis metodas, efektyvus ir nedestruktyvus, bet ribotas tikslumo atžvilgiu.

Didesnio tikslumo identifikacijai SatInView metodika, sukurta Ahangarpour, Zhao, and Pan University of Victoria (ACM MobiCom 2024, LEO-NET Workshop), pasiekia beveik vienareikšmę palydovo identifikaciją koreliuodama kliūčių žemėlapio trajektorijas su TLE duomenimis. Jų metodas reikalauja atstatyti kliūčių žemėlapį perjungimo ribose, o mes patvirtinome, kad tai veikia esamoje aparatinėje ir programinėje įrangoje (žr. Obstruction Map and Satellite Tracking). Jų realizacija prieinama adresu github.com/aliahan/SatInView.

Mes naudojame jų trajektoriniu principu pagrįstą metodiką kaip atskaitos tašką Starlink Viewer geometrinio nustatymo tikslumo kalibravimui ir tobulinimui.

Orbitos duomenys

Palydovų pozicijos gaunamos iš CelesTrak papildomo GP galinio taško, kuris teikia SpaceX pateiktas efemerides, sujungtas su standartiniais 18th Space Defence Squadron katalogo duomenimis. Duomenys saugomi lokaliai Rust posistemyje ir atnaujinami kas 6 valandas, su 48 valandų pasenusios podėlio atsargine priemone, jei CelesTrak nepasiekiamas. Būsenos juostoje rodomas dabartinis palydovų skaičius ir duomenų amžius.

Antenos vieta

Peržiūros programa naudoja GPS koordinates iš antenos get_location galinio taško, kai jos prieinamos. Jei GPS duomenys nepasiekiami, galite rankiniu būdu įvesti platumą ir ilgumą konfigūracijos skydelyje.