Endast Pro-utgåvan

Översikt

Starlink-visaren visar en live 3D-glob med alla ~10 000 Starlink-satelliter som animeras i realtid, din antennplats och en härledd anslutning till den satellit som mest sannolikt betjänar din terminal.

Det ideala Starlink-övervakningsverktyget skulle visa dig exakt vilken satellit din antenn kommunicerar med vid varje givet ögonblick, när den lämnar över till en ny satellit och signalvägen från din antenn genom satelliten till markstationen. Detta skulle kräva att antennen exponerar den betjänande satellitens identitet och den elektroniska strålstyrningens riktning. SpaceX exponerar ingetdera, så Nexus härleder den betjänande satelliten från tillgängliga data.

Varför härledning är nödvändig

SpaceX låser satellitidentifieringsdata bakom autentiserade gRPC-ändpunkter som är otillgängliga på konsumentfirmware.

  • dish_get_context innehåller ett initial_satellite_id-fält, men har returnerat PermissionDenied på konsumenthårdvara sedan firmware 9f4d05a4 (juni 2021).
  • transceiver_get_telemetry exponerar lmac_satellite_id och target_satellite_id, men returnerar UNIMPLEMENTED på alla konsumentterminaler.
  • PKI challenge-response-autentisering med SpaceX-kontrollerade nycklar innebär att ingen community-lösning existerar.
  • Elektronisk strålstyrningsriktning: som direkt skulle identifiera den betjänande satelliten; exponeras inte genom någon ändpunkt.
  • Antennens fasade gruppantenn styr sin stråle elektroniskt upp till ±50° från boresight, men denna styrningsvinkel är helt osynlig för externa konsumenter av API:et.

Tillgängliga data

Mätt från antennen

Data Vad det berättar Uppdateringsfrekvens
Boresight-azimut och -elevation Fysisk orientering av antennkroppen 1 Hz
PoP ping-latens Rundturstid till point of presence 1 Hz
Nedlänks- och upplänksgenomflöde Aktuellt genomflöde 1 Hz
Slottimer Satellitslot-timer (alltid 0 på testad hårdvara) 1 Hz
GPS-koordinater Antennplats På begäran
Avbrottshistorik (did_switch) Bekräftat satellitbyte under ett tjänsteavbrott Per avbrottshändelse
Obstruktionskarta (SNR-rutnät) 123×123-pixel himmelskarta; innehåller realtidssatellitsignaldata när den återställs vid överlämningsgränser (se Obstruction Map and Satellite Tracking) 1 Hz

Externa källor

Data Vad det berättar
TLE-banelement för ~10 000 Starlink-satelliter (CelesTrak / 18th Space Defence Squadron) Beräknad azimut, elevation och snedavstånd för varje satellit från vilken observatörsposition som helst

Vad som inte är tillgängligt

Data Varför vi vill ha det Status
Betjänande satellit-ID Direkt identifiering Låst bakom autentisering
Elektronisk strålstyrningsvinkel Exakt strålriktning Exponeras inte i någon ändpunkt
Funktionell slottimer Tidssignal för överlämning Fältet existerar men returnerar 0 på nuvarande konsumentfirmware

Hur matchning fungerar

Satellitmatchning

Visaren utför följande beräkning vid 1 Hz:

  1. Observatörsposition: antennens GPS-koordinater från get_location fastställer var du befinner dig på jorden.

  2. Satellitpositioner: med SGP4-banpropagering på TLE-data från CelesTrak beräknar visaren azimut, elevation och snedavstånd för varje Starlink-satellit sedd från din antennplats.

  3. Synfältsfiltrering: endast satelliter över 10° elevation beaktas. Antennens fysiska boresight-riktning (från alignment_stats) definierar centrum av den fasade gruppantennens ~100° synfältskägla.

  4. Val av närmaste kandidat: satelliten med minst vinkelavstånd från det fysiska boresight-centrum väljs som den mest sannolika betjänande satelliten.

Boresight-hårkorset

Hårkorset på den polära himmelplotten representerar den fysiska orienteringen av antennkroppen, inte den elektroniska strålriktningen. Starlinks fasade gruppantenn är i stort sett stationär efter initial justering; boresight-värdena ändras med bråkdelar av en grad under timmar på grund av vind eller termiska effekter. Antennen rör sig inte fysiskt för att spåra enskilda satelliter.

Den faktiska strålstyrningen sker elektroniskt inom den fasade gruppantennen på RF-nivå, och sveper upp till ±50° från den fysiska boresight för att spåra den betjänande satelliten. Denna elektroniska strålriktning exponeras inte genom någon konsument-API-ändpunkt.

Detektering av satellitbyte

När den närmaste satellitkandidaten ändras (ett annat NORAD-ID blir det geometriskt närmaste), observeras detta som ett härlett satellitbyte. Dessa ändringar korrelerar med men bekräftar inte faktiska antennöverlämnanden. De speglar banmekanik; när satelliter passerar overhead med ~7,5 km/s ändras den närmaste till antennens boresight-centrum naturligt var några minuter.

Verkliga satellitöverlämnanden på Starlink är konstruerade för att vara sömlösa (make-before-break), och producerar ingen mätbar diskontinuitet i latens eller genomflöde som skulle kunna användas som en tillförlitlig detektionssignal på nuvarande firmware.

Konfidenspoäng

Konfidenspoängen speglar den geometriska sannolikheten att den matchade satelliten är den faktiska betjänande:

Konfidens Kriterier Tolkning
Hög < 10° från boresight, ≤ 3 närliggande kandidater Få satelliter i närheten; stark geometrisk kandidat
Medium < 25° från boresight Väl inom synfältet; rimlig kandidat
Låg < 50° från boresight Inom antennens styrningsområde men många närliggande kandidater
Ingen matchning > 50° från boresight Ingen satellit inom antennens elektroniska styrningsområde

Dessa trösklar är kalibrerade för den fysiska boresight (antennkroppens riktning), inte den elektroniska strålen. Eftersom den fasade gruppantennen kan styra ±50° från antennytan kommer den betjänande satelliten typiskt att vara 10-40° från det fysiska boresight-centrum. En “Hög” konfidensmatchning betyder att det finns en enda stark geometrisk kandidat; det betyder inte att identifieringen är bekräftad.

Noggrannhetsgrad

Vad du kan lita på

Satellitpositioner på globen är korrekta. TLE-data från CelesTrak är auktoritativa (från US Space Force 18th Space Defence Squadron) och SGP4-propagering är standardmetoden som används av rymdövervakningsgemenskapen. Positionsnoggrannheten är typiskt inom några kilometer för nyligen uppdaterade TLE:er.

Din antennplats är korrekt. Den kommer direkt från antennens inbyggda GPS.

Den fysiska boresight-riktningen är korrekt. Den mäts av antennens IMU (tröghetsmätningsenhet) med en osäkerhet på ~0,6°.

Mängden synliga satelliter är korrekt. De beräknade siktvinklarna från din position till varje satellit är geometriskt exakta, så den polära plotten visar korrekt vilka satelliter som är ovanför och var de befinner sig på himlen.

Vad som härleds

Den identifierade satelliten är en kvalificerad gissning. Den närmaste satelliten till boresight-centrum är den bästa geometriska kandidaten, men antennen kan kommunicera med vilken satellit som helst inom sitt ±50° elektroniska styrningsområde. Vid varje givet tillfälle kan dussintals satelliter vara inom synfältet.

Satellitbyten är observerad geometri, inte bekräftade överlämnanden. När den närmaste kandidaten ändras speglar detta bandrift; en annan satellit blir geometriskt närmast. Verkliga antennöverlämnanden kan men behöver inte sammanfalla med dessa geometriska ändringar. Vissa verkliga överlämnanden kommer att vara osynliga för härledningen (antennen byter till en annan satellit men den geometriskt närmaste ändras inte), och vissa observerade ändringar kommer att vara ren bandrift (den geometriskt närmaste ändrades men antennen bytte faktiskt inte).

Konfidenspoäng är geometriska, inte signalbaserade. En “Hög” konfidensmatchning betyder bra geometri, inte en validerad anslutning. Utan tillgång till den elektroniska strålriktningen eller den betjänande satellitens ID kan inget konsumentfirmware-baserat verktyg bekräfta vilken satellit antennen faktiskt använder.

Signaler vi utredde

Under utvecklingen utvärderades flera signaler för detektering av överlämnande. Alla testades mot riktig hårdvara (rev3_proto2, firmware 2026.02.16.cr74084 och 2026.04.07.mr77639.1).

Signal Hypotes Resultat
seconds_to_first_nonempty_slot Borde räkna ner per satellitslot och återställas vid överlämnande Returnerar alltid 0 på testad konsumenthårdvara; fältet är oifyllt
pop_ping_latency_ms-diskontinuiteter Latens borde hoppa när snedavståndet ändras vid överlämnande Latens förblir jämn genom överlämnanden; SpaceX använder sannolikt make-before-break-växling som absorberar vägändringar
did_switch från avbrottshistorik Bekräftad byte-flagga i avbrottsregistreringar Utlöses bara under tjänsteavbrott, inte rutinmässiga ~15-sekunders rena överlämnanden
Boresight-diskontinuiteter Fysisk ompositionering av antennen kan åtfölja överlämnanden Antennkroppen rör sig knappt; elektronisk strålstyrning hanterar satellitspårning tyst
Obstruktionskarta SNR (utan återställning) SNR-ändringar per cell borde spåra satellitrörelse genom synfältet Utan att återställa kartan returnerar den på en fri antenn en statisk kumulativ klarhimmelsmask; alla synliga celler visar ~1,0 utan variation mellan på varandra följande avfrågningar. Den ackumulerade datan är fullt mättad, så bild-för-bild-differensberäkning visar inga ändringar.
Obstruktionskarta SNR (med återställning) Efter anrop till dish_clear_obstruction_map borde kartan byggas om från tom och avslöja den betjänande satellitens position medan den målar nya pixlar varje sekund Bekräftat fungerar. Efter återställning vid överlämningsgränser producerar 1 Hz-avfrågning rena enkel-pixel-satellitbanor. Se Obstruction Map and Satellite Tracking.

Obstruction Map and Satellite Tracking

Bakgrund

SatInView-studien av Ahangarpour, Zhao, and Pan (ACM MobiCom '24 LEO-NET Workshop) visade att den betjänande satelliten kan identifieras genom att återställa antennens obstruktionskarta vid 15-sekunders överlämningsgränser, avfråga den vid 1 Hz och XORa angränsande bildrutor för att extrahera satellitens bana när den rör sig genom synfältet. Den observerade banan matchas sedan mot TLE-propagerade satellitpositioner för att uppnå nästintill entydig identifiering.

Under den initiala utvecklingen av Starlink-visaren testade vi obstruktionskartan utan att utföra en återställning. På en fri antenn framstod kartan som statisk, en fullt mättad klarhimmelsmask utan bild-för-bild-variation. Vi drog slutsatsen att datan inte innehöll realtidssatellitsignalinformation. Denna slutsats var korrekt för den icke-återställda kartan men ofullständig: kartan framstod som statisk eftersom varje pixel som den aktuella satelliten kunde måla redan var tänd från tidigare satellitpassager. Utan att först rensa den ackumulerade datan fanns det inget nytt för XOR att upptäcka.

Uppdaterade fynd

Efter korrespondens med SatInView-forskningsgruppen testade vi den fullständiga återställningsbaserade metoden på rev3_proto2-hårdvara med firmware 2026.04.07.mr77639.1 (april 2026). Resultaten bekräftar att tekniken fungerar på nuvarande hårdvara och firmware:

  • dish_clear_obstruction_map är tillgänglig och funktionell. Ett anrop rensar den ackumulerade SNR-datan (377 aktiva pixlar reducerade till 1 i testet).
  • Efter en återställning byggs kartan om med ungefär en ny pixel per sekund medan den betjänande satelliten rör sig genom synfältet.
  • XOR-ing av angränsande bildrutor vid 1 Hz producerar rena, enkel-pixel-banpunkter med nästintill noll spridning.
  • 15-sekunders överlämningstidpunkterna (12:e, 27:e, 42:a och 57:e sekunderna av varje minut, globalt synkroniserade) bekräftades på vår hårdvara. På varandra följande intervall spårade kontinuerligt samma satellit med ett tydligt banhopp när en faktisk överlämning inträffade.
  • Kartan rapporterar FRAME_EARTH på stationära aktiva antenner, vilket innebär att rutnätet är orienterat så att den översta mittpixeln motsvarar verkligt norr. Mobila eller inaktiva antenner kan rapportera FRAME_UT, där den nedersta mittpixeln motsvarar boresight-riktningen.

Avvägning: varför Nexus inte återställer kartan som standard

Anropet dish_clear_obstruction_map är destruktivt, det raderar antennens ackumulerade obstruktionsprofil. För användare med obstruerade installationer (träd, byggnader eller andra strukturer) är denna data värdefull för att diagnostisera signalproblem och byggs upp över tid över många satellitpassager. Att återställa den var 15:e sekund hindrar antennen från att över huvud taget ackumulera obstruktionsdata, och Starlink-mobilappen visar en tom eller delvis fylld karta.

Nexus använder för närvarande geometrisk härledning (boresight-riktning plus TLE-matchning) som standardmetod för satellitidentifiering. Denna metod är icke-destruktiv, den anropar inga skriv-ändpunkter på antennen och har inga bieffekter på användarens obstruktionsdata.

Vi använder den banbaserade metoden som ett kalibreringsverktyg för att validera och förbättra noggrannheten i vår geometriska härledning. Vi utvärderar också om banspårning ska erbjudas som ett tillvalsläge för avancerade användare och forskare, med tydlig upplysning om avvägningen kring kartåterställning.

Vad som skulle kunna ändra detta

Framtida firmwareuppdateringar eller hårdvarurevisioner skulle kunna exponera ytterligare telemetri som förbättrar härledningsnoggrannheten:

  • Funktionell seconds_to_first_nonempty_slot: om detta fält fylls i på nyare firmware eller hårdvara skulle det ge en tillförlitlig tidssignal per överlämnande.
  • Elektroniska strålstyrningsvinklar: all exponering av den fasade gruppantennens faktiska strålriktning skulle möjliggöra direkt satellitidentifiering.
  • Lättad autentisering på dish_get_context: om SpaceX skulle återaktivera initial_satellite_id-fältet skulle problemet vara helt löst.
  • Icke-destruktiva realtidssignaldata: om framtida firmware exponerar signalinformation per satellit via en separat ändpunkt eller en icke-destruktiv variant av obstruktionskartan skulle banmatchningsmetoden kunna användas utan att återställa användarens obstruktionsdata.
  • Nya hårdvarugenerationer: SpaceX driftsätter V3-satelliter och ny terminalhårdvara. Olika firmware- eller hårdvarurevisioner kan fylla i för närvarande inaktiva fält eller exponera ny telemetri.

Tidigare arbete

Nexus använder geometrisk härledning (boresight-riktning plus TLE-propagerade satellitpositioner) för att uppskatta vilken satellit som betjänar antennen. Detta är en heuristisk metod, effektiv och icke-destruktiv men begränsad i precision.

För identifiering med högre noggrannhet uppnår SatInView-tekniken, utvecklad av Ahangarpour, Zhao, and Pan vid University of Victoria (ACM MobiCom 2024, LEO-NET Workshop), nästintill entydig satellitidentifiering genom att korrelera obstruktionskartsbanor med TLE-data. Deras metod kräver att obstruktionskartan återställs vid överlämningsgränser, vilket vi har bekräftat fungerar på nuvarande hårdvara och firmware (se Obstruction Map and Satellite Tracking). Deras implementation finns tillgänglig på github.com/aliahan/SatInView.

Vi använder deras banbaserade teknik som referens för att kalibrera och förbättra noggrannheten i den geometriska härledning som används i Starlink-visaren.

Bandata

Satellitpositioner hämtas från CelesTrak kompletterande GP-ändpunkt, som tillhandahåller SpaceX-bidragen efemeris sammanslagen med standarddata från 18th Space Defence Squadron-katalogen. Data cachas lokalt av Rust-backend:en och uppdateras var 6:e timme, med en 48-timmars inaktuell cache-reserv om CelesTrak inte kan nås. Statusfältet visar aktuellt satellitantal och datans ålder.

Antennplats

Visaren använder GPS-koordinater från antennens get_location-ändpunkt när de är tillgängliga. Om GPS-data inte är åtkomliga kan du manuellt ange din latitud och longitud i konfigurationspanelen.