Prohlížeč Starlink
Přehled
Prohlížeč Starlink zobrazuje živý 3D globus se všemi ~10 000 satelity Starlink animovanými v reálném čase, polohou antény a odvozeným spojením se satelitem, který s největší pravděpodobností obsluhuje váš terminál.
Ideální nástroj pro monitorování Starlinku by přesně ukázal, se kterým satelitem anténa v daném okamžiku komunikuje, kdy přepíná na nový satelit a jakou cestou signál putuje z antény přes satelit k pozemní stanici. To by vyžadovalo, aby anténa odhalila identitu obsluhujícího satelitu a směr elektronického natáčení paprsku. SpaceX ani jedno z toho neposkytuje, proto Nexus odvozuje obsluhující satelit z dostupných dat.
Proč je odvozování nutné
SpaceX uzamyká data pro identifikaci satelitu za autentizovanými gRPC koncovými body, které jsou na spotřebitelském firmwaru nedostupné.
dish_get_contextobsahuje poleinitial_satellite_id, ale na spotřebitelském hardwaru vracíPermissionDeniedod firmwaru9f4d05a4(červen 2021).transceiver_get_telemetryposkytujelmac_satellite_idatarget_satellite_id, ale na všech spotřebitelských terminálech vracíUNIMPLEMENTED.- PKI autentizace výzvou a odpovědí s klíči řízenými SpaceX znamená, že neexistuje žádné komunitní obejití.
- Směr elektronického natáčení paprsku: který by přímo identifikoval obsluhující satelit, není vystaven přes žádný koncový bod.
- Fázovaná anténní soustava natáčí svůj paprsek elektronicky až o ±50° od osy zaměření, ale tento úhel natočení je pro externí konzumenty API zcela neviditelný.
Dostupná data
Měřená z antény
| Data | Co nám říkají | Frekvence aktualizace |
|---|---|---|
| Azimut a elevace osy zaměření | Fyzická orientace těla antény | 1 Hz |
| Latence PoP ping | Doba odezvy k bodu přítomnosti | 1 Hz |
| Propustnost při stahování a odesílání | Aktuální propustnost | 1 Hz |
| Časovač slotu | Časovač satelitního slotu (na testovaném hardwaru vždy 0) | 1 Hz |
| GPS souřadnice | Poloha antény | Na vyžádání |
Historie výpadků (did_switch) |
Potvrzené přepnutí satelitu během přerušení služby | Na událost výpadku |
| Mapa překážek (SNR mřížka) | Mapa oblohy 123×123 pixelů, která obsahuje data o satelitním signálu v reálném čase při resetování na hranicích předání (viz Obstruction Map and Satellite Tracking) | 1 Hz |
Externí zdroje
| Data | Co nám říkají |
|---|---|
| TLE orbitální elementy pro ~10 000 satelitů Starlink (CelesTrak / 18th Space Defence Squadron) | Vypočítaný azimut, elevace a šikmá vzdálenost každého satelitu z jakékoli pozorovací pozice |
Co není dostupné
| Data | Proč je chceme | Stav |
|---|---|---|
| ID obsluhujícího satelitu | Přímá identifikace | Uzamčeno za autentizací |
| Úhel elektronického natáčení paprsku | Přesný směr paprsku | Není vystaven v žádném koncovém bodě |
| Funkční časovač slotu | Signál časování předání | Pole existuje, ale na aktuálním spotřebitelském firmwaru čte 0 |
Jak funguje párování
Párování satelitů
Prohlížeč provádí následující výpočet s frekvencí 1 Hz:
-
Pozice pozorovatele: GPS souřadnice antény z
get_locationurčují, kde se na Zemi nacházíte. -
Pozice satelitů: pomocí SGP4 orbitální propagace na TLE datech z CelesTrak prohlížeč vypočítá azimut, elevaci a šikmou vzdálenost každého satelitu Starlink při pohledu z polohy antény.
-
Filtrování zorného pole: uvažovány jsou pouze satelity nad 10° elevací. Fyzický směr osy zaměření antény (z
alignment_stats) definuje střed kužele zorného pole fázované soustavy o rozsahu ~100°. -
Výběr nejbližšího kandidáta: satelit s nejmenší úhlovou vzdáleností od středu fyzické osy zaměření je vybrán jako nejpravděpodobnější obsluhující satelit.
Zaměřovací kříž osy zaměření
Zaměřovací kříž na polárním grafu oblohy představuje fyzickou orientaci těla antény, nikoli směr elektronického paprsku. Fázovaná anténní soustava Starlink je po počátečním zarovnání převážně nehybná. Hodnoty osy zaměření se mění o zlomky stupně v průběhu hodin vlivem větru nebo teplotních vlivů. Anténa se fyzicky nepohybuje, aby sledovala jednotlivé satelity.
Skutečné natáčení paprsku probíhá elektronicky uvnitř fázované soustavy na úrovni RF, přičemž se vychyluje až o ±50° od fyzické osy zaměření za účelem sledování obsluhujícího satelitu. Tento směr elektronického paprsku není vystaven přes žádný koncový bod spotřebitelského API.
Detekce změny satelitu
Když se nejbližší kandidátní satelit změní (jiné NORAD ID se stane geometricky nejbližším), je to pozorováno jako odvozená změna satelitu. Tyto změny korelují se skutečnými přepnutími antény, ale nepotvrzují je. Odrážejí orbitální mechaniku: jak satelity přelétají nad hlavou rychlostí ~7,5 km/s, ten nejblíže ke středu osy zaměření antény se přirozeně mění každých několik minut.
Skutečná předání satelitů na Starlinku jsou navržena tak, aby byla bezešvá (spojení před přerušením), a nevytvářejí měřitelnou diskontinuitu v latenci ani propustnosti, která by mohla na aktuálním firmwaru sloužit jako spolehlivý detekční signál.
Hodnocení spolehlivosti
Skóre spolehlivosti odráží geometrickou pravděpodobnost, že spárovaný satelit je skutečně obsluhujícím:
| Spolehlivost | Kritéria | Interpretace |
|---|---|---|
| Vysoká | < 10° od osy zaměření, ≤ 3 blízcí kandidáti | Málo satelitů v blízkosti, silný geometrický kandidát |
| Střední | < 25° od osy zaměření | Dobře v zorném poli, rozumný kandidát |
| Nízká | < 50° od osy zaměření | V dosahu natáčení antény, ale mnoho blízkých kandidátů |
| Žádná | > 50° od osy zaměření | Žádný satelit v dosahu elektronického natáčení antény |
Tyto prahy jsou kalibrovány pro fyzickou osu zaměření (směr těla antény), nikoli pro elektronický paprsek. Protože fázovaná soustava dokáže natočit paprsek o ±50° od čela antény, obsluhující satelit bude typicky 10–40° od středu fyzické osy zaměření. Shoda s „Vysokou" spolehlivostí znamená, že existuje jediný silný geometrický kandidát. Neznamená, že identifikace je potvrzena.
Stupeň přesnosti
Čemu můžete věřit
Pozice satelitů na globusu jsou přesné. TLE data z CelesTrak jsou autoritativní (pocházejí od US Space Force 18th Space Defence Squadron) a SGP4 propagace je standardní metoda používaná komunitou pro sledování vesmírných objektů. Poziční přesnost je u nedávno aktualizovaných TLE typicky v rozmezí několika kilometrů.
Poloha antény je přesná. Pochází přímo z palubního GPS antény.
Fyzický směr osy zaměření je přesný. Je měřen IMU (inerciální měřicí jednotkou) antény s nejistotou ~0,6°.
Sada viditelných satelitů je přesná. Vypočítané pozorovací úhly z vaší pozice ke každému satelitu jsou geometricky přesné, takže polární graf správně ukazuje, které satelity jsou nad vámi a kde se na obloze nacházejí.
Co je odvozeno
Identifikovaný satelit je kvalifikovaný odhad. Nejbližší satelit ke středu osy zaměření je nejlepší geometrický kandidát, ale anténa může komunikovat s jakýmkoli satelitem v dosahu elektronického natáčení ±50°. V kterémkoli okamžiku mohou být v zorném poli desítky satelitů.
Změny satelitu jsou pozorovaná geometrie, nikoli potvrzená předání. Když se nejbližší kandidát změní, odráží to orbitální drift: jiný satelit se stává geometricky nejbližším. Skutečná předání antény se s těmito geometrickými změnami mohou, ale nemusejí krýt. Některá skutečná předání budou pro odvozování neviditelná (anténa přepne na jiný satelit, ale geometricky nejbližší se nezmění) a některé pozorované změny budou čistý orbitální drift (geometricky nejbližší se změnil, ale anténa ve skutečnosti nepřepnula).
Skóre spolehlivosti jsou geometrická, nikoli založená na signálu. Shoda s „Vysokou" spolehlivostí znamená dobrou geometrii, nikoli ověřené spojení. Bez přístupu ke směru elektronického paprsku nebo ID obsluhujícího satelitu nemůže žádný nástroj založený na spotřebitelském firmwaru potvrdit, který satelit anténa skutečně používá.
Signály, které jsme zkoumali
Během vývoje bylo pro detekci předání vyhodnoceno několik signálů. Všechny byly testovány na skutečném hardwaru (rev3_proto2, firmware 2026.02.16.cr74084 a 2026.04.07.mr77639.1).
| Signál | Hypotéza | Zjištění |
|---|---|---|
seconds_to_first_nonempty_slot |
Měl by odpočítávat v rámci každého satelitního slotu a resetovat se při předání | Na testovaném spotřebitelském hardwaru vždy čte 0, pole je nevyplněné |
Diskontinuity v pop_ping_latency_ms |
Latence by měla skočit, když se šikmá vzdálenost během předání změní | Latence zůstává přes předání hladká. SpaceX pravděpodobně používá přepínání typu spojení před přerušením, které změny cesty absorbuje |
did_switch z historie výpadků |
Potvrzený příznak přepnutí v záznamech o výpadcích | Aktivuje se pouze během přerušení služby, nikoli při rutinních ~15sekundových čistých předáních |
| Diskontinuity osy zaměření | Fyzické přemístění antény by mohlo předání doprovázet | Tělo antény se téměř nehýbe, sledování satelitů potichu zvládá elektronické natáčení paprsku |
| SNR mapy překážek (bez resetu) | Změny SNR v jednotlivých buňkách by měly sledovat pohyb satelitu zorným polem | Bez resetování mapy vrací nezastíněná anténa statickou kumulativní masku čistého nebe. Všechny viditelné buňky čtou ~1,0 s nulovou variací mezi po sobě jdoucími dotazy. Nahromaděná data jsou plně nasycena, takže rozdílové porovnání snímků neukazuje žádné změny. |
| SNR mapy překážek (s resetem) | Po zavolání dish_clear_obstruction_map by se mapa měla znovu budovat z prázdného stavu a odhalit pozici obsluhujícího satelitu při každosekundovém vykreslování nových pixelů |
Potvrzeno funkční. Po resetu na hranicích předání produkuje dotazování s frekvencí 1 Hz čisté trajektorie satelitů v jednotlivých pixelech. Viz Obstruction Map and Satellite Tracking. |
Obstruction Map and Satellite Tracking
Pozadí
Studie SatInView autorů Ahangarpour, Zhao a Pan (ACM MobiCom '24 LEO-NET Workshop) prokázala, že obsluhující satelit lze identifikovat resetováním mapy překážek antény na 15sekundových hranicích předání, jejím dotazováním s frekvencí 1 Hz a XORováním sousedních snímků pro extrakci trajektorie satelitu při jeho pohybu zorným polem. Pozorovaná trajektorie se pak porovná s pozicemi satelitů propagovanými z TLE, čímž lze dosáhnout téměř jednoznačné identifikace.
Během počátečního vývoje prohlížeče Starlink jsme testovali mapu překážek bez provedení resetu. Na nezastíněné anténě se mapa jevila statická — plně nasycená maska čistého nebe bez variace mezi snímky. Usoudili jsme, že data neobsahují informace o satelitním signálu v reálném čase. Tento závěr byl pro neresetovanou mapu správný, ale neúplný: mapa se zdála statická, protože každý pixel, který mohl aktuální satelit vykreslit, byl již rozsvícen z předchozích průletů satelitů. Bez předchozího vymazání nahromaděných dat neměl XOR co detekovat.
Aktualizovaná zjištění
Po korespondenci s výzkumným týmem SatInView jsme otestovali kompletní přístup založený na resetu na hardwaru rev3_proto2 s firmwarem 2026.04.07.mr77639.1 (duben 2026). Výsledky potvrzují, že technika na aktuálním hardwaru a firmwaru funguje:
dish_clear_obstruction_mapje dostupná a funkční. Její volání vymaže nahromaděná SNR data (377 aktivních pixelů zredukovaných na 1 při testování).- Po resetu se mapa znovu buduje rychlostí přibližně jednoho nového pixelu za sekundu, jak se obsluhující satelit pohybuje zorným polem.
- XORování sousedních snímků s frekvencí 1 Hz produkuje čisté trajektoriové body v jednotlivých pixelech s téměř nulovým rozptylem.
- Časování předání po 15 sekundách (12., 27., 42. a 57. sekunda každé minuty, globálně synchronizováno) bylo potvrzeno na našem hardwaru. Po sobě jdoucí intervaly sledovaly stejný satelit kontinuálně, s jasným skokem trajektorie při skutečném předání.
- Mapa hlásí
FRAME_EARTHna stacionárních aktivních anténách, což znamená, že mřížka je orientována tak, že pixel v horním středu odpovídá skutečnému severu. Mobilní nebo neaktivní antény mohou hlásitFRAME_UT, kde pixel ve spodním středu odpovídá směru osy zaměření.
Kompromis: proč Nexus mapu ve výchozím nastavení neresetuje
Volání dish_clear_obstruction_map je destruktivní — maže nahromaděný profil překážek antény. Pro uživatele se zastíněnými instalacemi (stromy, budovy nebo jiné konstrukce) jsou tato data cenná pro diagnostiku problémů se signálem a budují se v průběhu času přes mnoho průletů satelitů. Resetování každých 15 sekund brání anténě v hromadění jakýchkoli dat o překážkách a mobilní aplikace Starlink zobrazí prázdnou nebo částečnou mapu.
Nexus v současné době používá geometrické odvozování (směr osy zaměření a párování s TLE) jako výchozí metodu identifikace satelitu. Tento přístup je nedestruktivní — nevolá žádné zapisovací koncové body na anténě a nemá vedlejší účinky na uživatelova data o překážkách.
Přístup založený na trajektorii používáme jako kalibrační nástroj pro validaci a zlepšení přesnosti našeho geometrického odvozování. Zároveň zvažujeme, zda nabídnout sledování trajektorie jako volitelný režim pro pokročilé uživatele a výzkumníky s jasným upozorněním na kompromis spojený s resetem mapy.
Co by to mohlo změnit
Budoucí aktualizace firmwaru nebo hardwarové revize by mohly odhalit další telemetrii, která by zlepšila přesnost odvozování:
- Funkční
seconds_to_first_nonempty_slot: pokud bude toto pole na novějším firmwaru nebo hardwaru vyplněné, poskytlo by spolehlivý signál časování pro každé předání. - Úhly elektronického natáčení paprsku: jakékoli odhalení skutečného směru paprsku fázované soustavy by umožnilo přímou identifikaci satelitu.
- Uvolněná autentizace na
dish_get_context: pokud by SpaceX znovu povolil poleinitial_satellite_id, problém by byl zcela vyřešen. - Nedestruktivní data o signálu v reálném čase: pokud budoucí firmware zpřístupní informace o signálu jednotlivých satelitů přes samostatný koncový bod nebo nedestruktivní variantu mapy překážek, přístup založený na párování trajektorií by bylo možné použít bez resetování uživatelských dat o překážkách.
- Nové generace hardwaru: SpaceX nasazuje satelity V3 a nový terminálový hardware. Odlišné revize firmwaru nebo hardwaru mohou vyplnit aktuálně neaktivní pole nebo odhalit novou telemetrii.
Předchozí práce
Nexus používá geometrické odvozování (směr osy zaměření a pozice satelitů propagované z TLE) k odhadu, který satelit anténu obsluhuje. Jde o heuristický přístup — účinný a nedestruktivní, ale omezené přesnosti.
Pro identifikaci s vyšší přesností dosahuje technika SatInView, vyvinutá autory Ahangarpour, Zhao a Pan na University of Victoria (ACM MobiCom 2024, LEO-NET Workshop), téměř jednoznačné identifikace satelitu korelací trajektorií z mapy překážek s TLE daty. Jejich přístup vyžaduje resetování mapy překážek na hranicích předání, o kterém jsme potvrdili, že na aktuálním hardwaru a firmwaru funguje (viz Obstruction Map and Satellite Tracking). Jejich implementace je dostupná na github.com/aliahan/SatInView.
Jejich techniku založenou na trajektorii používáme jako referenci pro kalibraci a zlepšování přesnosti geometrického odvozování používaného v prohlížeči Starlink.
Orbitální data
Pozice satelitů pocházejí z doplňkového GP koncového bodu CelesTrak, který poskytuje efemeridy dodávané SpaceX sloučené se standardními katalogovými daty 18th Space Defence Squadron. Data jsou lokálně ukládána do mezipaměti backendem v Rustu a obnovována každých 6 hodin, se záložní 48hodinovou mezipamětí pro případ nedostupnosti CelesTrak. Stavový řádek zobrazuje aktuální počet satelitů a stáří dat.
Poloha antény
Prohlížeč používá GPS souřadnice z koncového bodu get_location antény, pokud jsou dostupné. Pokud GPS data nejsou přístupná, můžete zeměpisnou šířku a délku zadat ručně v konfiguračním panelu.