Ueberblick
Der Starlink Viewer zeigt einen Live-3D-Globus mit allen ~10.000 Starlink-Satelliten in Echtzeitanimation, den Standort Ihrer Schuessel und eine abgeleitete Verbindung zu dem Satelliten, der Ihr Terminal am wahrscheinlichsten versorgt.
Das ideale Starlink-Ueberwachungstool wuerde Ihnen genau zeigen, mit welchem Satelliten Ihre Schuessel zu jedem Zeitpunkt kommuniziert, wann sie auf einen neuen Satelliten wechselt und den Signalweg von Ihrer Schuessel ueber den Satelliten zur Bodenstation. Dies wuerde erfordern, dass die Schuessel die Identitaet des versorgenden Satelliten und die elektronische Strahlsteuerungsrichtung offenlegt. SpaceX gibt beides nicht preis, daher leitet Nexus den versorgenden Satelliten aus den verfuegbaren Daten ab.
Warum Ableitung notwendig ist
SpaceX sperrt Satellitenidentifikationsdaten hinter authentifizierten gRPC-Endpunkten, die auf Consumer-Firmware nicht zugaenglich sind.
dish_get_contextenthaelt ein Feldinitial_satellite_id, gibt aber seit Firmware9f4d05a4(Juni 2021) auf Consumer-HardwarePermissionDeniedzurueck.transceiver_get_telemetrystelltlmac_satellite_idundtarget_satellite_idbereit, gibt aber auf allen Consumer-TerminalsUNIMPLEMENTEDzurueck.- PKI Challenge-Response-Authentifizierung mit von SpaceX kontrollierten Schluesseln bedeutet, dass keine Community-Umgehung existiert.
- Elektronische Strahlsteuerungsrichtung: die den versorgenden Satelliten direkt identifizieren wuerde; wird ueber keinen Endpunkt bereitgestellt.
- Die Phased-Array-Antenne der Schuessel steuert ihren Strahl elektronisch bis zu ±50° von der Boresight-Achse, aber dieser Steuerwinkel ist fuer externe API-Nutzer vollstaendig unsichtbar.
Verfuegbare Daten
Von der Schuessel gemessen
| Daten | Was sie uns sagen | Aktualisierungsrate |
|---|---|---|
| Boresight-Azimut und -Elevation | Physische Ausrichtung des Schuesselkoerpers | 1 Hz |
| PoP-Ping-Latenz | Umlaufzeit zum Point of Presence | 1 Hz |
| Downlink- und Uplink-Durchsatz | Aktueller Durchsatz | 1 Hz |
| Slot-Timer | Satelliten-Slot-Timer (immer 0 auf getesteter Hardware) | 1 Hz |
| GPS-Koordinaten | Standort der Schuessel | Auf Anfrage |
Ausfallhistorie (did_switch) |
Bestaetigter Satellitenwechsel waehrend einer Dienstunterbrechung | Pro Ausfallereignis |
| Hinderniskarte (SNR-Raster) | 123×123-Pixel-Himmelskarte; enthaelt Echtzeit-Satellitensignaldaten, wenn sie an Uebergabegrenzen zurueckgesetzt wird (siehe Obstruction Map and Satellite Tracking) | 1 Hz |
Externe Quellen
| Daten | Was sie uns sagen |
|---|---|
| TLE-Orbitalelemente fuer ~10.000 Starlink-Satelliten (CelesTrak / 18th Space Defence Squadron) | Berechneter Azimut, Elevation und Schraegentfernung jedes Satelliten von jeder Beobachterposition |
Was nicht verfuegbar ist
| Daten | Warum wir sie wollen | Status |
|---|---|---|
| ID des versorgenden Satelliten | Direkte Identifikation | Hinter Authentifizierung gesperrt |
| Elektronischer Strahlsteuerungswinkel | Praezise Strahlrichtung | In keinem Endpunkt bereitgestellt |
| Funktionaler Slot-Timer | Uebergabe-Zeitsignal | Feld existiert, liest aber 0 auf aktueller Consumer-Firmware |
Wie das Matching funktioniert
Satelliten-Matching
Der Viewer fuehrt folgende Berechnung mit 1 Hz durch:
-
Beobachterposition: die GPS-Koordinaten der Schuessel aus
get_locationbestimmen, wo Sie sich auf der Erde befinden. -
Satellitenpositionen: unter Verwendung von SGP4-Orbitalpropagation auf TLE-Daten von CelesTrak berechnet der Viewer den Azimut, die Elevation und die Schraegentfernung jedes Starlink-Satelliten, wie er vom Standort Ihrer Schuessel aus gesehen wird.
-
Sichtfeldfilterung: nur Satelliten ueber 10° Elevation werden beruecksichtigt. Die physische Boresight-Richtung der Schuessel (aus
alignment_stats) definiert das Zentrum des ~100°-Sichtfeldkegels des Phased Arrays. -
Auswahl des naechsten Kandidaten: der Satellit mit dem geringsten Winkelabstand vom physischen Boresight-Zentrum wird als wahrscheinlichster versorgender Satellit ausgewaehlt.
Das Boresight-Fadenkreuz
Das Fadenkreuz auf dem Polarhimmelsdiagramm stellt die physische Ausrichtung des Schuesselkoerpers dar, nicht die elektronische Strahlrichtung. Die Phased-Array-Antenne von Starlink ist nach der anfaenglichen Ausrichtung weitgehend stationaer; die Boresight-Werte aendern sich ueber Stunden um Bruchteile eines Grades aufgrund von Wind oder Temperatureffekten. Die Schuessel bewegt sich nicht physisch, um einzelne Satelliten zu verfolgen.
Die tatsaechliche Strahlsteuerung erfolgt elektronisch innerhalb des Phased Arrays auf RF-Ebene und schwenkt bis zu ±50° vom physischen Boresight, um den versorgenden Satelliten zu verfolgen. Diese elektronische Strahlrichtung wird ueber keinen Consumer-API-Endpunkt bereitgestellt.
Erkennung von Satellitenwechseln
Wenn sich der naechste Satellitenkandidat aendert (eine andere NORAD-ID wird geometrisch die naechste), wird dies als abgeleiteter Satellitenwechsel beobachtet. Diese Aenderungen korrelieren mit tatsaechlichen Schuesseluebergaben, bestaetigen sie aber nicht. Sie spiegeln die Orbitalmechanik wider; waehrend Satelliten mit ~7,5 km/s ueberfliegen, wechselt der dem Boresight-Zentrum der Schuessel naechste natuerlich alle paar Minuten.
Tatsaechliche Satellitenuebergaben auf Starlink sind so konzipiert, dass sie nahtlos sind (Make-before-Break), ohne messbare Diskontinuitaet bei Latenz oder Durchsatz zu erzeugen, die als zuverlaessiges Erkennungssignal auf aktueller Firmware verwendet werden koennte.
Konfidenzbewertung
Der Konfidenzwert spiegelt die geometrische Wahrscheinlichkeit wider, dass der zugeordnete Satellit der tatsaechlich versorgende ist:
| Konfidenz | Kriterien | Interpretation |
|---|---|---|
| Hoch | < 10° vom Boresight, ≤ 3 nahe Kandidaten | Wenige Satelliten in der Naehe; starker geometrischer Kandidat |
| Mittel | < 25° vom Boresight | Gut im Sichtfeld; vernuenftiger Kandidat |
| Niedrig | < 50° vom Boresight | Im Steuerbereich der Schuessel, aber viele nahe Kandidaten |
| Kein Match | > 50° vom Boresight | Kein Satellit im elektronischen Steuerbereich der Schuessel |
Diese Schwellenwerte sind fuer das physische Boresight (Richtung des Schuesselkoerpers) kalibriert, nicht fuer den elektronischen Strahl. Da das Phased Array ±50° von der Schuesselflaeche steuern kann, befindet sich der versorgende Satellit typischerweise 10-40° vom physischen Boresight-Zentrum entfernt. Ein Match mit „Hoher" Konfidenz bedeutet, dass es einen einzelnen starken geometrischen Kandidaten gibt; es bedeutet nicht, dass die Identifikation bestaetigt ist.
Genauigkeitsgrad
Worauf Sie sich verlassen koennen
Satellitenpositionen auf dem Globus sind genau. TLE-Daten von CelesTrak sind massgeblich (von der US Space Force 18th Space Defence Squadron bezogen) und SGP4-Propagation ist die Standardmethode der Weltraumueberwachungsgemeinschaft. Die Positionsgenauigkeit liegt typischerweise im Bereich weniger Kilometer fuer kuerzlich aktualisierte TLEs.
Ihr Schuesselstandort ist genau. Er kommt direkt vom eingebauten GPS der Schuessel.
Die physische Boresight-Richtung ist genau. Sie wird von der IMU (Inertiale Messeinheit) der Schuessel mit einer Unsicherheit von ~0,6° gemessen.
Die Menge der sichtbaren Satelliten ist genau. Die berechneten Blickwinkel von Ihrer Position zu jedem Satelliten sind geometrisch praezise, sodass das Polardiagramm korrekt anzeigt, welche Satelliten ueber Ihnen sind und wo sie sich am Himmel befinden.
Was abgeleitet ist
Der identifizierte Satellit ist eine fundierte Schaetzung. Der dem Boresight-Zentrum naechste Satellit ist der beste geometrische Kandidat, aber die Schuessel kann mit jedem Satelliten innerhalb ihres ±50°-Elektroniksteuerbereichs kommunizieren. Zu jedem Zeitpunkt koennen Dutzende von Satelliten im Sichtfeld sein.
Satellitenwechsel sind beobachtete Geometrie, keine bestaetigten Uebergaben. Wenn sich der naechste Kandidat aendert, spiegelt dies orbitalen Drift wider; ein anderer Satellit wird geometrisch der naechste. Tatsaechliche Schuesseluebergaben koennen, muessen aber nicht mit diesen geometrischen Aenderungen zusammenfallen. Einige tatsaechliche Uebergaben werden fuer die Ableitung unsichtbar sein (die Schuessel wechselt zu einem anderen Satelliten, aber der geometrisch naechste aendert sich nicht), und einige beobachtete Aenderungen werden reiner orbitaler Drift sein (der geometrisch naechste hat sich geaendert, aber die Schuessel hat tatsaechlich nicht gewechselt).
Konfidenzwerte sind geometrisch, nicht signalbasiert. Ein Match mit „Hoher" Konfidenz bedeutet gute Geometrie, nicht eine validierte Verbindung. Ohne Zugang zur elektronischen Strahlrichtung oder zur ID des versorgenden Satelliten kann kein auf Consumer-Firmware basierendes Tool bestaetigen, welchen Satelliten die Schuessel tatsaechlich verwendet.
Signale, die wir untersucht haben
Waehrend der Entwicklung wurden mehrere Signale zur Uebergabeerkennung evaluiert. Alle wurden an realer Hardware getestet (rev3_proto2, Firmware 2026.02.16.cr74084 und 2026.04.07.mr77639.1).
| Signal | Hypothese | Ergebnis |
|---|---|---|
seconds_to_first_nonempty_slot |
Sollte pro Satelliten-Slot herunterzaehlen und bei Uebergabe zuruecksetzen | Liest auf getesteter Consumer-Hardware immer 0; Feld ist nicht befuellt |
pop_ping_latency_ms-Diskontinuitaeten |
Latenz sollte springen, wenn sich die Schraegentfernung bei einer Uebergabe aendert | Latenz bleibt durch Uebergaben hindurch glatt; SpaceX verwendet wahrscheinlich Make-before-Break-Switching, das Pfadaenderungen absorbiert |
did_switch aus der Ausfallhistorie |
Bestaetigtes Wechsel-Flag in Ausfallprotokollen | Wird nur bei Dienstunterbrechungen ausgeloest, nicht bei routinemaessigen ~15-Sekunden-Uebergaben |
| Boresight-Diskontinuitaeten | Physische Neupositionierung der Schuessel koennte Uebergaben begleiten | Der Schuesselkoerper bewegt sich kaum; elektronische Strahlsteuerung uebernimmt die Satellitenverfolgung lautlos |
| Hinderniskarte SNR (ohne Reset) | SNR-Aenderungen pro Zelle sollten die Satellitenbewegung durch das Sichtfeld verfolgen | Ohne Zuruecksetzen der Karte liefert sie auf einer unverstellten Schuessel eine statische kumulative Klarhimmel-Maske; alle sichtbaren Zellen lesen ~1,0 ohne Variation zwischen aufeinanderfolgenden Abfragen. Die kumulierten Daten sind vollstaendig gesaettigt, sodass eine Bild-fuer-Bild-Differenzbildung keine Aenderungen zeigt. |
| Hinderniskarte SNR (mit Reset) | Nach Aufruf von dish_clear_obstruction_map sollte sich die Karte aus dem Leeren wieder aufbauen und die Position des versorgenden Satelliten offenlegen, indem sie jede Sekunde neue Pixel zeichnet |
Funktioniert nachweislich. Nach einem Reset an Uebergabegrenzen liefert eine 1-Hz-Abfrage saubere Ein-Pixel-Satellitentrajektorien. Siehe Obstruction Map and Satellite Tracking. |
Obstruction Map and Satellite Tracking
Hintergrund
Die SatInView-Studie von Ahangarpour, Zhao, and Pan (ACM MobiCom '24 LEO-NET Workshop) zeigte, dass der versorgende Satellit identifiziert werden kann, indem die Hinderniskarte der Schuessel an den 15-Sekunden-Uebergabegrenzen zurueckgesetzt, mit 1 Hz abgefragt und benachbarte Frames per XOR verknuepft werden, um die Trajektorie des Satelliten beim Durchqueren des Sichtfelds zu extrahieren. Die beobachtete Trajektorie wird dann mit TLE-propagierten Satellitenpositionen abgeglichen, um eine nahezu eindeutige Identifikation zu erreichen.
Waehrend der anfaenglichen Entwicklung des Starlink Viewers testeten wir die Hinderniskarte, ohne einen Reset durchzufuehren. Auf einer unverstellten Schuessel erschien die Karte statisch, eine vollstaendig gesaettigte Klarhimmel-Maske ohne Bild-fuer-Bild-Variation. Wir schlossen, dass die Daten keine Echtzeit-Satellitensignalinformationen enthielten. Diese Schlussfolgerung traf fuer die nicht zurueckgesetzte Karte zu, war jedoch unvollstaendig: die Karte erschien statisch, weil jedes Pixel, das der aktuelle Satellit zeichnen konnte, bereits durch vorherige Satellitenueberflueg beleuchtet war. Ohne das vorherige Loeschen der kumulierten Daten gab es nichts Neues, das die XOR-Verknuepfung erkennen konnte.
Aktualisierte Erkenntnisse
Nach Korrespondenz mit dem SatInView-Forschungsteam testeten wir den vollstaendigen Reset-basierten Ansatz auf rev3_proto2-Hardware mit Firmware 2026.04.07.mr77639.1 (April 2026). Die Ergebnisse bestaetigen, dass die Technik auf aktueller Hardware und Firmware funktioniert:
dish_clear_obstruction_mapist verfuegbar und funktionsfaehig. Ihr Aufruf loescht die kumulierten SNR-Daten (im Test von 377 aktiven Pixeln auf 1 reduziert).- Nach einem Reset baut sich die Karte mit etwa einem neuen Pixel pro Sekunde wieder auf, waehrend der versorgende Satellit das Sichtfeld durchquert.
- Die XOR-Verknuepfung benachbarter Frames bei 1 Hz erzeugt saubere Ein-Pixel-Trajektorienpunkte mit nahezu null Streuung.
- Das 15-Sekunden-Uebergabetiming (12., 27., 42. und 57. Sekunde jeder Minute, global synchronisiert) wurde auf unserer Hardware bestaetigt. Aufeinanderfolgende Intervalle verfolgten denselben Satelliten kontinuierlich, mit einem deutlichen Trajektoriensprung, wenn eine tatsaechliche Uebergabe stattfand.
- Die Karte meldet
FRAME_EARTHauf stationaeren aktiven Schuesseln, was bedeutet, dass das Raster so ausgerichtet ist, dass das obere mittlere Pixel dem wahren Norden entspricht. Mobile oder inaktive Schuesseln koennenFRAME_UTmelden, wobei das untere mittlere Pixel der Boresight-Richtung entspricht.
Abwaegung: warum Nexus die Karte standardmaessig nicht zuruecksetzt
Der Aufruf dish_clear_obstruction_map ist destruktiv, er loescht das kumulierte Hindernisprofil der Schuessel. Fuer Nutzer mit obstruierten Installationen (Baeume, Gebaeude oder andere Strukturen) sind diese Daten wertvoll, um Signalprobleme zu diagnostizieren, und werden ueber die Zeit hinweg ueber viele Satellitenueberflueg aufgebaut. Ein Zuruecksetzen alle 15 Sekunden verhindert, dass die Schuessel ueberhaupt Hindernisdaten ansammelt, und die Starlink-Mobile-App zeigt eine leere oder nur teilweise gefuellte Karte an.
Nexus verwendet derzeit geometrische Ableitung (Boresight-Richtung plus TLE-Matching) als Standardmethode zur Satellitenidentifikation. Dieser Ansatz ist nicht-destruktiv, er ruft keine Schreib-Endpunkte auf der Schuessel auf und hat keine Nebenwirkungen auf die Hindernisdaten des Nutzers.
Wir verwenden den trajektorienbasierten Ansatz als Kalibrierungswerkzeug, um die Genauigkeit unserer geometrischen Ableitung zu validieren und zu verbessern. Wir pruefen auch, ob wir die Trajektorienverfolgung als Opt-in-Modus fuer fortgeschrittene Nutzer und Forscher anbieten, mit klarer Offenlegung der Abwaegung hinsichtlich des Karten-Resets.
Was dies aendern koennte
Zukuenftige Firmware-Updates oder Hardwarerevisionen koennten zusaetzliche Telemetrie bereitstellen, die die Ableitungsgenauigkeit verbessern wuerde:
- Funktionaler
seconds_to_first_nonempty_slot: wenn dieses Feld auf neuerer Firmware oder Hardware befuellt wird, wuerde es ein zuverlaessiges Zeitsignal pro Uebergabe liefern. - Elektronische Strahlsteuerungswinkel: jede Offenlegung der tatsaechlichen Strahlrichtung des Phased Arrays wuerde eine direkte Satellitenidentifikation ermoeglichen.
- Gelockerte Authentifizierung bei
dish_get_context: wenn SpaceX das Feldinitial_satellite_idwieder aktivieren wuerde, waere das Problem vollstaendig geloest. - Nicht-destruktive Echtzeit-Signaldaten: wenn zukuenftige Firmware Signalinformationen pro Satellit ueber einen separaten Endpunkt oder eine nicht-destruktive Variante der Hinderniskarte bereitstellt, koennte der Trajektorien-Matching-Ansatz genutzt werden, ohne die Hindernisdaten des Nutzers zuruecksetzen zu muessen.
- Neue Hardwaregenerationen: SpaceX setzt V3-Satelliten und neue Terminal-Hardware ein. Verschiedene Firmware- oder Hardwarerevisionen koennen derzeit inaktive Felder befuellen oder neue Telemetrie bereitstellen.
Vorarbeiten
Nexus verwendet geometrische Ableitung (Boresight-Richtung plus TLE-propagierte Satellitenpositionen), um zu schaetzen, welcher Satellit die Schuessel versorgt. Dies ist ein heuristischer Ansatz: wirksam und nicht-destruktiv, aber in der Praezision begrenzt.
Fuer eine hoeher aufloesende Identifikation erreicht die von Ahangarpour, Zhao, and Pan an der University of Victoria entwickelte SatInView-Technik (ACM MobiCom 2024, LEO-NET Workshop) eine nahezu eindeutige Satellitenidentifikation, indem sie Trajektorien der Hinderniskarte mit TLE-Daten korreliert. Ihr Ansatz erfordert das Zuruecksetzen der Hinderniskarte an Uebergabegrenzen, was wir auf aktueller Hardware und Firmware bestaetigt haben (siehe Obstruction Map and Satellite Tracking). Ihre Implementierung ist verfuegbar unter github.com/aliahan/SatInView.
Wir nutzen ihre trajektorienbasierte Technik als Referenz, um die Genauigkeit der geometrischen Ableitung, die im Starlink Viewer verwendet wird, zu kalibrieren und zu verbessern.
Orbitaldaten
Satellitenpositionen stammen vom ergaenzenden GP-Endpunkt von CelesTrak, der von SpaceX beigesteuerte Ephemeriden zusammengefuehrt mit Standard-Katalogdaten der 18th Space Defence Squadron bereitstellt. Die Daten werden vom Rust-Backend lokal zwischengespeichert und alle 6 Stunden aktualisiert, mit einem 48-Stunden-Fallback auf veralteten Cache, falls CelesTrak nicht erreichbar ist. Die Statusleiste zeigt die aktuelle Satellitenanzahl und das Datenalter an.
Schuesselstandort
Der Viewer verwendet GPS-Koordinaten vom get_location-Endpunkt der Schuessel, sofern verfuegbar. Wenn GPS-Daten nicht zugaenglich sind, koennen Sie Ihren Breiten- und Laengengrad manuell im Konfigurationspanel eingeben.