Kun Pro-utgave

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_context inneholder et initial_satellite_id-felt, men har returnert PermissionDenied på forbrukermaskinvare siden fastvare 9f4d05a4 (juni 2021).
  • transceiver_get_telemetry eksponerer lmac_satellite_id og target_satellite_id, men returnerer UNIMPLEMENTED på 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:

  1. Observatørposisjon: parabolens GPS-koordinater fra get_location fastslår hvor du er på jorden.

  2. 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.

  3. Synsfeltfiltrering: bare satellitter over 10° elevasjon vurderes. Parabolens fysiske boresight-retning (fra alignment_stats) definerer senteret av den fasestyrte antennens ~100° synsfeltskjegle.

  4. 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_map er 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_EARTH på 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 rapportere FRAME_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 reaktiverer initial_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.