Starlink Viewer
Überblick
Der Starlink Viewer zeigt einen Live-3D-Globus mit allen Starlink-Satelliten im Orbit in Echtzeitanimation, den Standort Ihrer Schüssel und eine abgeleitete Verbindung zu dem Satelliten, der Ihre Schüssel am wahrscheinlichsten versorgt.
Das ideale Starlink-Überwachungstool würde Ihnen genau zeigen, mit welchem Satelliten Ihre Schüssel zu jedem Zeitpunkt kommuniziert, wann sie auf einen neuen Satelliten wechselt und den Signalweg von Ihrer Schüssel über den Satelliten zur Bodenstation. Dies würde erfordern, dass die Schüssel die Identität des versorgenden Satelliten und die elektronische Strahlsteuerungsrichtung offenlegt. SpaceX gibt beides nicht preis, daher leitet Nexus Telemetry den versorgenden Satelliten aus den verfügbaren Daten ab.
Warum Ableitung notwendig ist
SpaceX sperrt Satellitenidentifikationsdaten hinter authentifizierten gRPC-Endpunkten, die auf Consumer-Firmware nicht zugänglich sind.
dish_get_contextenthält ein Feldinitial_satellite_id, gibt aber seit Firmware9f4d05a4(Juni 2021) auf Consumer-HardwarePermissionDeniedzurück.transceiver_get_telemetrystelltlmac_satellite_idundtarget_satellite_idbereit, gibt aber auf allen Consumer-SchüsselnUNIMPLEMENTEDzurück.- PKI Challenge-Response-Authentifizierung mit von SpaceX kontrollierten Schlüsseln bedeutet, dass keine Community-Umgehung existiert.
- Elektronische Strahlsteuerungsrichtung: die den versorgenden Satelliten direkt identifizieren würde, wird über keinen Endpunkt bereitgestellt.
- Die Phased-Array-Antenne der Schüssel steuert ihren Strahl elektronisch bis zu ±50° von der Boresight-Achse, aber dieser Steuerwinkel ist für externe API-Nutzer vollständig unsichtbar.
Verfügbare Daten
Von der Schüssel gemessen
| Daten | Was sie uns sagen | Aktualisierungsrate |
|---|---|---|
| Boresight-Azimut und -Elevation | Physische Ausrichtung des Schüsselkörpers | 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 Schüssel | Auf Anfrage |
Ausfallhistorie (did_switch) |
Bestätigter Satellitenwechsel während einer Dienstunterbrechung | Pro Ausfallereignis |
| Hinderniskarte (SNR-Raster) | 123×123-Pixel-Himmelskarte; enthält Echtzeit-Satellitensignaldaten, wenn sie an Übergabegrenzen zurückgesetzt wird (siehe Obstruction Map and Satellite Tracking) | 1 Hz |
Externe Quellen
| Daten | Was sie uns sagen |
|---|---|
| Orbitaldaten für jeden Starlink-Satelliten: die ergänzenden GP-Daten von CelesTrak, die eigenen Ephemeriden von SpaceX zusammengeführt mit dem Katalog der 18th Space Defence Squadron | Die Position jedes Satelliten, einschließlich Satelliten, die so kürzlich gestartet wurden, dass sie noch nicht im öffentlichen Katalog stehen; berechneter Azimut, Elevation und Schrägentfernung von jeder Beobachterposition |
Was nicht verfügbar ist
| Daten | Warum wir sie wollen | Status |
|---|---|---|
| ID des versorgenden Satelliten | Direkte Identifikation | Hinter Authentifizierung gesperrt |
| Elektronischer Strahlsteuerungswinkel | Präzise Strahlrichtung | In keinem Endpunkt bereitgestellt |
| Funktionaler Slot-Timer | Übergabe-Zeitsignal | Feld existiert, liest aber 0 auf aktueller Consumer-Firmware |
Wie das Matching funktioniert
Satelliten-Matching
Der Viewer führt folgende Berechnung mit 1 Hz durch:
-
Beobachterposition: die GPS-Koordinaten der Schüssel 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 Schrägentfernung jedes Starlink-Satelliten, wie er vom Standort Ihrer Schüssel aus gesehen wird.
-
Sichtfeldfilterung: nur Satelliten über 10° Elevation werden berücksichtigt. Die physische Boresight-Richtung der Schüssel (aus
alignment_stats) definiert das Zentrum des ~100°-Sichtfeldkegels des Phased Arrays. -
Auswahl des nächsten Kandidaten: der Satellit mit dem geringsten Winkelabstand vom physischen Boresight-Zentrum wird als wahrscheinlichster versorgender Satellit ausgewählt.
Das Boresight-Fadenkreuz
Das Fadenkreuz auf dem Polarhimmelsdiagramm stellt die physische Ausrichtung des Schüsselkörpers dar, nicht die elektronische Strahlrichtung. Die Phased-Array-Antenne von Starlink ist nach der anfänglichen Ausrichtung weitgehend stationär; die Boresight-Werte ändern sich über Stunden um Bruchteile eines Grades aufgrund von Wind oder Temperatureffekten. Die Schüssel bewegt sich nicht physisch, um einzelne Satelliten zu verfolgen.
Die tatsächliche 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 über keinen Consumer-API-Endpunkt bereitgestellt.
Erkennung von Satellitenwechseln
Wenn sich der nächste Satellitenkandidat ändert (eine andere NORAD-ID wird geometrisch die nächste), wird dies als abgeleiteter Satellitenwechsel beobachtet. Diese Änderungen korrelieren mit tatsächlichen Schüsselübergaben, bestätigen sie aber nicht. Sie spiegeln die Orbitalmechanik wider; während Satelliten mit ~7,5 km/s überfliegen, wechselt der dem Boresight-Zentrum der Schüssel nächste natürlich alle paar Minuten.
Tatsächliche Satellitenübergaben auf Starlink sind so konzipiert, dass sie nahtlos sind (Make-before-Break), ohne messbare Diskontinuität bei Latenz oder Durchsatz zu erzeugen, die als zuverlässiges Erkennungssignal auf aktueller Firmware verwendet werden könnte.
Konfidenzbewertung
Der Konfidenzwert spiegelt die geometrische Wahrscheinlichkeit wider, dass der zugeordnete Satellit der tatsächlich versorgende ist:
| Konfidenz | Kriterien | Interpretation |
|---|---|---|
| Hoch | < 10° vom Boresight, ≤ 3 nahe Kandidaten | Wenige Satelliten in der Nähe; starker geometrischer Kandidat |
| Mittel | < 25° vom Boresight | Gut im Sichtfeld; vernünftiger Kandidat |
| Niedrig | < 50° vom Boresight | Im Steuerbereich der Schüssel, aber viele nahe Kandidaten |
| Kein Treffer | > 50° vom Boresight | Kein Satellit im elektronischen Steuerbereich der Schüssel |
Diese Schwellenwerte sind für das physische Boresight (Richtung des Schüsselkörpers) kalibriert, nicht für den elektronischen Strahl. Da das Phased Array ±50° von der Schüsselfläche 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 bestätigt ist.
Genauigkeitsgrad
Worauf Sie sich verlassen können
Satellitenpositionen auf dem Globus sind genau. TLE-Daten von CelesTrak sind maßgeblich (von der US Space Force 18th Space Defence Squadron bezogen) und SGP4-Propagation ist die Standardmethode der Weltraumüberwachungsgemeinschaft. Die Positionsgenauigkeit liegt typischerweise im Bereich weniger Kilometer für kürzlich aktualisierte TLEs.
Ihr Schüsselstandort ist genau. Er kommt direkt vom eingebauten GPS der Schüssel.
Die physische Boresight-Richtung ist genau. Sie wird von der IMU (Inertiale Messeinheit) der Schüssel 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 präzise, sodass das Polardiagramm korrekt anzeigt, welche Satelliten über Ihnen sind und wo sie sich am Himmel befinden.
Was abgeleitet ist
Der identifizierte Satellit ist eine fundierte Schätzung. Der dem Boresight-Zentrum nächste Satellit ist der beste geometrische Kandidat, aber die Schüssel kann mit jedem Satelliten innerhalb ihres ±50°-Elektroniksteuerbereichs kommunizieren. Zu jedem Zeitpunkt können Dutzende von Satelliten im Sichtfeld sein.
Satellitenwechsel sind beobachtete Geometrie, keine bestätigten Übergaben. Wenn sich der nächste Kandidat ändert, spiegelt dies orbitalen Drift wider: Ein anderer Satellit wird geometrisch der nächste. Tatsächliche Schüsselübergaben können, müssen aber nicht mit diesen geometrischen Änderungen zusammenfallen. Einige tatsächliche Übergaben werden für die Ableitung unsichtbar sein (die Schüssel wechselt zu einem anderen Satelliten, aber der geometrisch nächste ändert sich nicht), und einige beobachtete Änderungen werden reiner orbitaler Drift sein (der geometrisch nächste hat sich geändert, aber die Schüssel hat tatsächlich 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 bestätigen, welchen Satelliten die Schüssel tatsächlich verwendet.
Signale, die wir untersucht haben
Während der Entwicklung wurden mehrere Signale zur Übergabeerkennung 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 herunterzählen und bei Übergabe zurücksetzen | Liest auf getesteter Consumer-Hardware immer 0; Feld ist nicht befüllt |
pop_ping_latency_ms-Diskontinuitäten |
Latenz sollte springen, wenn sich die Schrägentfernung bei einer Übergabe ändert | Latenz bleibt durch Übergaben hindurch glatt; SpaceX verwendet wahrscheinlich Make-before-Break-Switching, das Pfadänderungen absorbiert |
did_switch aus der Ausfallhistorie |
Bestätigtes Wechsel-Flag in Ausfallprotokollen | Wird nur bei Dienstunterbrechungen ausgelöst, nicht bei routinemäßigen ~15-Sekunden-Übergaben |
| Boresight-Diskontinuitäten | Physische Neupositionierung der Schüssel könnte Übergaben begleiten | Der Schüsselkörper bewegt sich kaum; elektronische Strahlsteuerung übernimmt die Satellitenverfolgung lautlos |
| Hinderniskarte SNR (ohne Reset) | SNR-Änderungen pro Zelle sollten die Satellitenbewegung durch das Sichtfeld verfolgen | Ohne Zurücksetzen der Karte liefert sie auf einer unverstellten Schüssel eine statische kumulative Klarhimmel-Maske; alle sichtbaren Zellen lesen ~1,0 ohne Variation zwischen aufeinanderfolgenden Abfragen. Die kumulierten Daten sind vollständig gesättigt, sodass eine Bild-für-Bild-Differenzbildung keine Änderungen 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 Übergabegrenzen 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 und Pan (ACM MobiCom '24 LEO-NET Workshop) zeigte, dass der versorgende Satellit identifiziert werden kann, indem die Hinderniskarte der Schüssel an den 15-Sekunden-Übergabegrenzen zurückgesetzt, mit 1 Hz abgefragt und benachbarte Frames per XOR verknüpft 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.
Während der anfänglichen Entwicklung des Starlink Viewers testeten wir die Hinderniskarte, ohne einen Reset durchzuführen. Auf einer unverstellten Schüssel erschien die Karte statisch: eine vollständig gesättigte Klarhimmel-Maske ohne Bild-für-Bild-Variation. Wir schlossen, dass die Daten keine Echtzeit-Satellitensignalinformationen enthielten. Diese Schlussfolgerung traf für die nicht zurückgesetzte Karte zu, war jedoch unvollständig: Die Karte erschien statisch, weil jedes Pixel, das der aktuelle Satellit zeichnen konnte, bereits durch vorherige Satellitenüberflüge beleuchtet war. Ohne das vorherige Löschen der kumulierten Daten gab es nichts Neues, das die XOR-Verknüpfung erkennen konnte.
Aktualisierte Erkenntnisse
Nach Korrespondenz mit dem SatInView-Forschungsteam testeten wir den vollständigen Reset-basierten Ansatz auf rev3_proto2-Hardware mit Firmware 2026.04.07.mr77639.1 (April 2026). Die Ergebnisse bestätigen, dass die Technik auf aktueller Hardware und Firmware funktioniert:
dish_clear_obstruction_mapist verfügbar und funktionsfähig. Ihr Aufruf löscht 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, während der versorgende Satellit das Sichtfeld durchquert.
- Die XOR-Verknüpfung benachbarter Frames bei 1 Hz erzeugt saubere Ein-Pixel-Trajektorienpunkte mit nahezu null Streuung.
- Das 15-Sekunden-Übergabetiming (12., 27., 42. und 57. Sekunde jeder Minute, global synchronisiert) wurde auf unserer Hardware bestätigt. Aufeinanderfolgende Intervalle verfolgten denselben Satelliten kontinuierlich, mit einem deutlichen Trajektoriensprung, wenn eine tatsächliche Übergabe stattfand.
- Die Karte meldet
FRAME_EARTHauf stationären aktiven Schüsseln, was bedeutet, dass das Raster so ausgerichtet ist, dass das obere mittlere Pixel dem wahren Norden entspricht. Mobile oder inaktive Schüsseln könnenFRAME_UTmelden, wobei das untere mittlere Pixel der Boresight-Richtung entspricht.
Abwägung: warum Nexus Telemetry die Karte standardmäßig nicht zurücksetzt
Der Aufruf dish_clear_obstruction_map ist destruktiv: Er löscht das kumulierte Hindernisprofil der Schüssel. Für Nutzer mit obstruierten Installationen (Bäume, Gebäude oder andere Strukturen) sind diese Daten wertvoll, um Signalprobleme zu diagnostizieren, und werden über die Zeit hinweg über viele Satellitenüberflüge aufgebaut. Ein Zurücksetzen alle 15 Sekunden verhindert, dass die Schüssel überhaupt Hindernisdaten ansammelt, und die Starlink-Mobile-App zeigt eine leere oder nur teilweise gefüllte Karte an.
Nexus Telemetry 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 Schüssel 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 prüfen auch, ob wir die Trajektorienverfolgung als Opt-in-Modus für fortgeschrittene Nutzer und Forscher anbieten, mit klarer Offenlegung der Abwägung hinsichtlich des Karten-Resets.
Was dies ändern könnte
Zukünftige Firmware-Updates oder Hardwarerevisionen könnten zusätzliche Telemetrie bereitstellen, die die Ableitungsgenauigkeit verbessern würde:
- Funktionaler
seconds_to_first_nonempty_slot: wenn dieses Feld auf neuerer Firmware oder Hardware befüllt wird, würde es ein zuverlässiges Zeitsignal pro Übergabe liefern. - Elektronische Strahlsteuerungswinkel: jede Offenlegung der tatsächlichen Strahlrichtung des Phased Arrays würde eine direkte Satellitenidentifikation ermöglichen.
- Gelockerte Authentifizierung bei
dish_get_context: wenn SpaceX das Feldinitial_satellite_idwieder aktivieren würde, wäre das Problem vollständig gelöst. - Nicht-destruktive Echtzeit-Signaldaten: wenn zukünftige Firmware Signalinformationen pro Satellit über einen separaten Endpunkt oder eine nicht-destruktive Variante der Hinderniskarte bereitstellt, könnte der Trajektorien-Matching-Ansatz genutzt werden, ohne die Hindernisdaten des Nutzers zurücksetzen zu müssen.
- Neue Hardwaregenerationen: SpaceX setzt V3-Satelliten und neue Schüssel-Hardware ein. Verschiedene Firmware- oder Hardwarerevisionen können derzeit inaktive Felder befüllen oder neue Telemetrie bereitstellen.
Vorarbeiten
Nexus Telemetry verwendet geometrische Ableitung (Boresight-Richtung plus TLE-propagierte Satellitenpositionen), um zu schätzen, welcher Satellit die Schüssel versorgt. Dies ist ein heuristischer Ansatz: wirksam und nicht-destruktiv, aber in der Präzision begrenzt.
Für eine höher auflösende Identifikation erreicht die von Ahangarpour, Zhao und 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 Zurücksetzen der Hinderniskarte an Übergabegrenzen, was wir auf aktueller Hardware und Firmware bestätigt haben (siehe Obstruction Map and Satellite Tracking). Ihre Implementierung ist verfügbar 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.
Der Globus
Orbitalbänder
Satelliten werden nach Bahninklination gruppiert, die aus den Orbitalelementen jedes Satelliten gelesen wird. Jedes Band umfasst alle Starlink-Schalen nahe seiner Inklination.
| Band | Starlink-Schalen in den FCC-Unterlagen |
|---|---|
| 97° | Erste Generation: 560 km, 97,6°. Zweite Generation: 360 km, 96,9° |
| 70° | Erste Generation: 570 km, 70° |
| 53° | Erste Generation: 550 km, 53° und 540 km, 53,2°. Zweite Generation: 525, 480 und 340 km, 53° |
| 48° | Zweite Generation: 345 km, 48° |
| 43° | Zweite Generation: 530, 485 und 355 km, 43° |
| 38° | Zweite Generation: 350 km, 38° |
| 30° | Zweite Generation: 365 und 475 km, 28° oder 32°, und 535 km, 33° |
Die Schalen der ersten Starlink-Generation sind im FCC-Beschluss von 2021 nummeriert (FCC 21-48). Die Schalen der zweiten Generation sind nicht nummeriert (FCC 22-91, DA 26-36), daher wird jedes Band nach seiner Inklination benannt. Die Schaltfläche jedes Bands zeigt die Anzahl seiner katalogisierten Satelliten und schaltet das Band ein und aus. Ein Band ohne katalogisierte Satelliten wird ausgeblendet.
Neue Starts
Neue Starts zeigt die Satelliten, die noch nicht im öffentlichen Katalog stehen, gekennzeichnet mit [NEW]. Ihre Positionen stammen aus den eigenen Ephemeriden von SpaceX in den ergänzenden Daten von CelesTrak. Ein neuer Satellit trägt eine vorläufige Katalognummer von 799.500.000 oder höher, wird keinem Band zugerechnet und kommt zu seinem Band hinzu, sobald er katalogisiert ist.
Einen Start verfolgen
Die Auswahl von Neue Starts wechselt zum neuesten Start, der noch vorläufige Katalognummern trägt, und verfolgt seine Satellitenkette. Die Beschriftung zeigt die Startbezeichnung, die Anzahl der Satelliten, ihre mittlere Inklination und ihre aktuelle Höhe. Nächster Start wechselt zur nächsten Satellitenkette, wenn mehr als ein Start neu ist. Während der Verfolgung wird per Scrollen gezoomt, und die Drehung ist gesperrt. Verfolgung beenden, Esc oder Auf Schüssel zentrieren beendet die Verfolgung. Ohne neuen Start in den Daten lautet die Beschriftung Keine neuen Starts in den aktuellen Daten.
Unschärfemodus
Unschärfemodus blendet die Schüssel auf dem Globus aus: ihre Markierung, ihre Bezeichnung und die Strahllinie. Die Koordinaten der Schüssel im Panel werden unscharf dargestellt.
Orbitaldaten
Satellitenpositionen stammen vom ergänzenden GP-Endpunkt von CelesTrak, der von SpaceX beigesteuerte Ephemeriden zusammengeführt 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 Satellitenanzahl, die Anzahl neuer Starts und das Datenalter an.
Schüsselstandort
Der Viewer verwendet GPS-Koordinaten vom get_location-Endpunkt der Schüssel, sofern verfügbar. Wenn GPS-Daten nicht zugänglich sind, können Sie Ihren Breiten- und Längengrad manuell im Konfigurationspanel eingeben.