Ö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_contextinnehåller ettinitial_satellite_id-fält, men har returneratPermissionDeniedpå konsumenthårdvara sedan firmware9f4d05a4(juni 2021).transceiver_get_telemetryexponerarlmac_satellite_idochtarget_satellite_id, men returnerarUNIMPLEMENTEDpå 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:
-
Observatörsposition: antennens GPS-koordinater från
get_locationfastställer var du befinner dig på jorden. -
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.
-
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. -
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_EARTHpå 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 rapporteraFRAME_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 återaktiverainitial_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.