Oversikt
Starlink-visningen viser en sanntids 3D-globus med alle ~10 000 Starlink-satellitter animert i sanntid, parabolens plassering og en utledet tilkobling til satellitten som mest sannsynlig betjener terminalen din.
Det ideelle Starlink-overvakingsverktøyet ville vist deg nøyaktig hvilken satellitt parabolen din kommuniserer med til enhver tid, når den bytter til en ny satellitt, og signalbanen fra parabolen din gjennom satellitten til bakkstasjonen. Dette ville kreve at parabolen eksponerer den betjenende satellittens identitet og den elektroniske strålestyringsretningen. SpaceX eksponerer ingen av delene, så Nexus utleder den betjenende satellitten fra tilgjengelige data.
Hvorfor utledning er nødvendig
SpaceX låser satellittidentifikasjonsdata bak autentiserte gRPC-endepunkter som er utilgjengelige på forbrukerfastvare.
dish_get_contextinneholder etinitial_satellite_id-felt, men har returnertPermissionDeniedpå forbrukermaskinvare siden fastvare9f4d05a4(juni 2021).transceiver_get_telemetryeksponererlmac_satellite_idogtarget_satellite_id, men returnererUNIMPLEMENTEDpå alle forbrukerterminaler.- PKI utfordring-respons-autentisering med SpaceX-kontrollerte nøkler betyr at ingen fellesskapsomgåelse eksisterer.
- Elektronisk strålestyringsretning: som direkte ville identifisert den betjenende satellitten; er ikke eksponert gjennom noe endepunkt.
- Parabolens fasestyrte antenne styrer strålen elektronisk opptil ±50° fra boresight, men denne styringsvinkelen er helt usynlig for eksterne API-brukere.
Tilgjengelige data
Målt fra parabolen
| Data | Hva det forteller oss | Oppdateringsfrekvens |
|---|---|---|
| Boresight-asimut og elevasjon | Fysisk orientering av parabolkroppen | 1 Hz |
| PoP ping-latens | Tur-retur-tid til tilknytningspunktet | 1 Hz |
| Nedlastings- og opplastingsgjennomstrømning | Nåværende gjennomstrømning | 1 Hz |
| Slot-tidtaker | Satellittslot-tidtaker (alltid 0 på testet maskinvare) | 1 Hz |
| GPS-koordinater | Parabolens plassering | På forespørsel |
Avbruddshistorikk (did_switch) |
Bekreftet satellittbytte under tjenesteavbrudd | Per avbruddshendelse |
| Hindringskart (SNR-rutenett) | 123×123-piksel himmelkart; inneholder sanntids satellittsignaldata når det tilbakestilles ved overleveringsgrenser (se Obstruction Map and Satellite Tracking) | 1 Hz |
Eksterne kilder
| Data | Hva det forteller oss |
|---|---|
| TLE-baneelementer for ~10 000 Starlink-satellitter (CelesTrak / 18. romforsvarsskvadronen) | Beregnet asimut, elevasjon og skråavstand for hver satellitt fra enhver observatørposisjon |
Hva som ikke er tilgjengelig
| Data | Hvorfor vi ønsker det | Status |
|---|---|---|
| Betjenende satellitt-ID | Direkte identifikasjon | Låst bak autentisering |
| Elektronisk strålestyringsvinkel | Presis stråleretning | Ikke eksponert i noe endepunkt |
| Funksjonell slot-tidtaker | Tidssignal for overlevering | Feltet eksisterer men leser 0 på gjeldende forbrukerfastvare |
Hvordan matching fungerer
Satellittmatching
Visningen utfører følgende beregning ved 1 Hz:
-
Observatørposisjon: parabolens GPS-koordinater fra
get_locationfastslår hvor du er på jorden. -
Satellittposisjoner: ved bruk av SGP4 banepropagering på TLE-data fra CelesTrak beregner visningen asimut, elevasjon og skråavstand for hver Starlink-satellitt sett fra parabolens plassering.
-
Synsfeltfiltrering: bare satellitter over 10° elevasjon vurderes. Parabolens fysiske boresight-retning (fra
alignment_stats) definerer senteret av den fasestyrte antennens ~100° synsfeltskjegle. -
Valg av nærmeste kandidat: satellitten med minst vinkelavstand fra det fysiske boresight-senteret velges som den mest sannsynlige betjenende satellitten.
Boresight-trådkorset
Trådkorset på det polare himmelplottet representerer den fysiske orienteringen av parabolkroppen, ikke den elektroniske stråleretningen. Starlinks fasestyrte antenne er i stor grad stasjonær etter innledende justering; boresight-verdiene endres med brøkdeler av en grad over timer på grunn av vind eller termiske effekter. Parabolen beveger seg ikke fysisk for å spore individuelle satellitter.
Den faktiske strålestyrinen skjer elektronisk i den fasestyrte antennen på RF-nivå, og sveiper opptil ±50° fra fysisk boresight for å spore den betjenende satellitten. Denne elektroniske stråleretningen er ikke eksponert gjennom noe forbruker-API-endepunkt.
Deteksjon av satellittbytte
Når den nærmeste satellittkandidaten endres (en annen NORAD-ID blir geometrisk nærmest), observeres dette som et utledet satellittbytte. Disse endringene korrelerer med, men bekrefter ikke, faktiske paraboloverleveringer. De gjenspeiler banemekanikk; ettersom satellitter passerer over med ~7,5 km/s, endres den nærmeste til parabolens boresight-senter naturlig hvert par minutter.
Faktiske satellittoverleveringer på Starlink er konstruert for å være sømløse (make-before-break), uten målbar diskontinuitet i latens eller gjennomstrømning som kan brukes som et pålitelig deteksjonssignal på gjeldende fastvare.
Konfidensskåring
Konfidensskåren gjenspeiler den geometriske sannsynligheten for at den matchede satellitten er den faktiske betjenende:
| Konfidensgrad | Kriterier | Tolkning |
|---|---|---|
| Høy | < 10° fra boresight, ≤ 3 nærliggende kandidater | Få satellitter i nærheten; sterk geometrisk kandidat |
| Middels | < 25° fra boresight | Godt innenfor synsfeltet; rimelig kandidat |
| Lav | < 50° fra boresight | Innenfor parabolens styringsområde, men mange nærliggende kandidater |
| Ingen treff | > 50° fra boresight | Ingen satellitt innenfor parabolens elektroniske styringsområde |
Disse tersklene er kalibrert for fysisk boresight (parabolkroppens retning), ikke den elektroniske strålen. Fordi den fasestyrte antennen kan styre ±50° fra parabolflaten, vil den betjenende satellitten typisk være 10 til 40° fra det fysiske boresight-senteret. Et «Høy»-konfidenstreff betyr at det er en sterk geometrisk kandidat; det betyr ikke at identifikasjonen er bekreftet.
Nøyaktighetsgrad
Hva du kan stole på
Satellittposisjoner på globusen er nøyaktige. TLE-data fra CelesTrak er autoritative (hentet fra US Space Force 18. romforsvarsskvadronen) og SGP4-propagering er standardmetoden brukt av romsporingsmiljøet. Posisjonsnøyaktigheten er typisk innenfor noen få kilometer for nylig oppdaterte TLE-er.
Parabolens plassering er nøyaktig. Den kommer direkte fra parabolens innebygde GPS.
Den fysiske boresight-retningen er nøyaktig. Den måles av parabolens IMU (treghetsmålingsenhet) med en usikkerhet på ~0,6°.
Settet av synlige satellitter er nøyaktig. De beregnede siktvinklene fra din posisjon til hver satellitt er geometrisk presise, så polarplottet viser korrekt hvilke satellitter som er over deg og hvor de er på himmelen.
Hva som er utledet
Den identifiserte satellitten er et kvalifisert estimat. Den nærmeste satellitten til boresight-senteret er den beste geometriske kandidaten, men parabolen kan kommunisere med enhver satellitt innenfor sitt ±50° elektroniske styringsområde. Til enhver tid kan dusinvis av satellitter være innenfor synsfeltet.
Satellittendringer er observert geometri, ikke bekreftede overleveringer. Når den nærmeste kandidaten endres, gjenspeiler dette banedrift; en annen satellitt blir geometrisk nærmest. Faktiske paraboloverleveringer kan eller kan ikke sammenfalle med disse geometriske endringene. Noen faktiske overleveringer vil være usynlige for utledningen (parabolen bytter til en annen satellitt, men den geometrisk nærmeste endres ikke), og noen observerte endringer vil være ren banedrift (den geometrisk nærmeste endret seg, men parabolen byttet faktisk ikke).
Konfidensskårer er geometriske, ikke signalbaserte. Et «Høy»-konfidenstreff betyr god geometri, ikke en validert tilkobling. Uten tilgang til den elektroniske stråleretningen eller den betjenende satellittens ID kan ikke noe verktøy basert på forbrukerfastvare bekrefte hvilken satellitt parabolen faktisk bruker.
Signaler vi undersøkte
Under utviklingen ble flere signaler evaluert for deteksjon av overlevering. Alle ble testet mot ekte maskinvare (rev3_proto2, fastvare 2026.02.16.cr74084 og 2026.04.07.mr77639.1).
| Signal | Hypotese | Funn |
|---|---|---|
seconds_to_first_nonempty_slot |
Bør telle ned per satellittslot og tilbakestilles ved overlevering | Leser alltid 0 på testet forbrukermaskinvare; feltet er ikke utfylt |
pop_ping_latency_ms-diskontinuiteter |
Latens bør hoppe når skråavstanden endres under overlevering | Latensen forblir jevn gjennom overleveringer; SpaceX bruker sannsynligvis make-before-break-bytting som absorberer baneendringer |
did_switch fra avbruddshistorikk |
Bekreftet bytteflagg i avbruddsoppføringer | Utløses bare under tjenesteavbrudd, ikke rutinemessige ~15-sekunders rene overleveringer |
| Boresight-diskontinuiteter | Fysisk omposisjonering av parabolen kan følge overleveringer | Parabolkroppen beveger seg knapt; elektronisk strålestyring håndterer satellittsporing stille |
| Hindringskart-SNR (uten tilbakestilling) | Per-celle SNR-endringer bør spore satellittbevegelse gjennom synsfeltet | Uten å tilbakestille kartet returnerer det på en uhindret parabol en statisk kumulativ klarhimmelsmaske; alle synlige celler leser ~1,0 med null variasjon mellom påfølgende avlesninger. De akkumulerte dataene er helt mettet, så bilde-for-bilde-differansberegning viser ingen endringer. |
| Hindringskart-SNR (med tilbakestilling) | Etter kall til dish_clear_obstruction_map bør kartet gjenoppbygges fra tomt og avsløre den betjenende satellittens posisjon mens det tegner nye piksler hvert sekund |
Bekreftet virker. Etter tilbakestilling ved overleveringsgrenser produserer 1 Hz-avlesning rene enkelt-piksel satellittbaner. Se Obstruction Map and Satellite Tracking. |
Obstruction Map and Satellite Tracking
Bakgrunn
SatInView-studien av Ahangarpour, Zhao, and Pan (ACM MobiCom '24 LEO-NET Workshop) viste at den betjenende satellitten kan identifiseres ved å tilbakestille parabolens hindringskart ved 15-sekunders overleveringsgrenser, avlese det ved 1 Hz og XORe tilstøtende bilder for å trekke ut satellittens bane mens den beveger seg gjennom synsfeltet. Den observerte banen matches deretter mot TLE-propagerte satellittposisjoner for å oppnå tilnærmet entydig identifikasjon.
Under den innledende utviklingen av Starlink-visningen testet vi hindringskartet uten å utføre en tilbakestilling. På en uhindret parabol framsto kartet som statisk, en fullt mettet klarhimmelsmaske uten bilde-for-bilde-variasjon. Vi konkluderte med at dataene ikke inneholdt sanntids satellittsignalinformasjon. Denne konklusjonen var korrekt for det ikke-tilbakestilte kartet, men ufullstendig: kartet framsto statisk fordi hver piksel som gjeldende satellitt kunne tegne allerede var tent fra tidligere satellittpassasjer. Uten å først rydde de akkumulerte dataene var det ikke noe nytt for XOR å oppdage.
Oppdaterte funn
Etter korrespondanse med SatInView-forskningsteamet testet vi den fullstendige tilbakestillingsbaserte tilnærmingen på rev3_proto2-maskinvare med fastvare 2026.04.07.mr77639.1 (april 2026). Resultatene bekrefter at teknikken fungerer på gjeldende maskinvare og fastvare:
dish_clear_obstruction_maper tilgjengelig og funksjonell. Å kalle den rydder de akkumulerte SNR-dataene (377 aktive piksler redusert til 1 i testen).- Etter en tilbakestilling gjenoppbygges kartet med omtrent én ny piksel per sekund mens den betjenende satellitten beveger seg gjennom synsfeltet.
- XOR-ing av tilstøtende bilder ved 1 Hz produserer rene, enkelt-piksel banepunkter med tilnærmet null spredning.
- 15-sekunders overleveringstimingen (12., 27., 42. og 57. sekund av hvert minutt, globalt synkronisert) ble bekreftet på vår maskinvare. Påfølgende intervaller sporet samme satellitt kontinuerlig, med et tydelig banehopp når en faktisk overlevering fant sted.
- Kartet rapporterer
FRAME_EARTHpå stasjonære aktive paraboler, noe som betyr at rutenettet er orientert slik at den øverste midtre pikselen tilsvarer sann nord. Mobile eller inaktive paraboler kan rapportereFRAME_UT, der den nederste midtre pikselen tilsvarer boresight-retningen.
Avveining: hvorfor Nexus ikke tilbakestiller kartet som standard
Kallet dish_clear_obstruction_map er destruktivt, det sletter parabolens akkumulerte hindringsprofil. For brukere med hindrede installasjoner (trær, bygninger eller andre strukturer) er disse dataene verdifulle for å diagnostisere signalproblemer og bygges opp over tid på tvers av mange satellittpassasjer. Å tilbakestille det hvert 15. sekund hindrer parabolen i å akkumulere hindringsdata i det hele tatt, og Starlink-mobilappen vil vise et tomt eller delvis kart.
Nexus bruker for øyeblikket geometrisk utledning (boresight-retning pluss TLE-matching) som standardmetode for satellittidentifikasjon. Denne tilnærmingen er ikke-destruktiv, den kaller ingen skrive-endepunkter på parabolen og har ingen bivirkninger på brukerens hindringsdata.
Vi bruker den banebaserte tilnærmingen som et kalibreringsverktøy for å validere og forbedre nøyaktigheten til vår geometriske utledning. Vi vurderer også om vi skal tilby banesporing som en opt-in-modus for avanserte brukere og forskere, med tydelig opplysning om avveiningen ved karttilbakestilling.
Hva som kan endre dette
Fremtidige fastvareoppdateringer eller maskinvarerevisjoener kan eksponere ytterligere telemetri som vil forbedre utledningsnøyaktigheten:
- Funksjonell
seconds_to_first_nonempty_slot: hvis dette feltet fylles ut på nyere fastvare eller maskinvare, vil det gi et pålitelig tidssignal per overlevering. - Elektroniske strålestyrings-vinkler: enhver eksponering av den fasestyrte antennens faktiske stråleretning vil muliggjøre direkte satellittidentifikasjon.
- Lempet autentisering på
dish_get_context: hvis SpaceX reaktivererinitial_satellite_id-feltet, vil problemet være fullstendig løst. - Ikke-destruktive sanntidssignaldata: hvis fremtidig fastvare eksponerer per-satellitt signalinformasjon gjennom et separat endepunkt eller en ikke-destruktiv variant av hindringskartet, kan banematchingtilnærmingen brukes uten å tilbakestille brukerens hindringsdata.
- Nye maskinvaregenerasjoner: SpaceX distribuerer V3-satellitter og ny terminalmaskinvare. Ulike fastvare- eller maskinvarerevisjoener kan fylle ut nåværende døde felt eller eksponere ny telemetri.
Tidligere arbeid
Nexus bruker geometrisk utledning (boresight-retning pluss TLE-propagerte satellittposisjoner) for å estimere hvilken satellitt som betjener parabolen. Dette er en heuristisk tilnærming, effektiv og ikke-destruktiv, men begrenset i presisjon.
For identifikasjon med høyere nøyaktighet oppnår SatInView-teknikken utviklet av Ahangarpour, Zhao, and Pan ved University of Victoria (ACM MobiCom 2024, LEO-NET Workshop) tilnærmet entydig satellittidentifikasjon ved å korrelere hindringskart-baner med TLE-data. Deres tilnærming krever tilbakestilling av hindringskartet ved overleveringsgrenser, noe vi har bekreftet virker på gjeldende maskinvare og fastvare (se Obstruction Map and Satellite Tracking). Deres implementasjon er tilgjengelig på github.com/aliahan/SatInView.
Vi bruker deres banebaserte teknikk som referanse for å kalibrere og forbedre nøyaktigheten til den geometriske utledningen som brukes i Starlink-visningen.
Banedata
Satellittposisjoner hentes fra CelesTrak-tilleggs-GP-endepunktet, som leverer SpaceX-bidratte efemerisdata sammenstilt med standard 18. romforsvarsskvadronen-katalogdata. Dataene lagres lokalt av Rust-bakenden og oppdateres hver 6. time, med et 48 timers utdatert hurtiglager-reserveløsning hvis CelesTrak er utilgjengelig. Statuslinjen viser gjeldende satellittantall og dataalder.
Parabolplassering
Visningen bruker GPS-koordinater fra parabolens get_location-endepunkt når tilgjengelig. Hvis GPS-data ikke er tilgjengelig, kan du manuelt oppgi breddegrad og lengdegrad i konfigurasjonspanelet.