Csak Pro kiadás

Áttekintés

A Starlink Viewer egy élő 3D földgömböt jelenít meg az összes ~10 000 Starlink műholddal, amelyek valós időben mozognak, az antenna helyzetét, valamint egy kikövetkeztetett kapcsolatot a terminálját nagy valószínűséggel kiszolgáló műholdhoz.

Az ideális Starlink felügyeleti eszköz pontosan megmutatná, hogy az antenna melyik műholddal kommunikál egy adott pillanatban, mikor vált át egy új műholdra, és a jelútvonalat az antennától a műholdon át a földi állomásig. Ehhez az antennának fel kellene fednie a kiszolgáló műhold azonosítóját és az elektronikus nyalábvezérlés irányát. A SpaceX egyiket sem teszi elérhetővé, ezért a Nexus a rendelkezésre álló adatokból következteti ki a kiszolgáló műholdat.

Miért szükséges a következtetés

A SpaceX a műhold-azonosítási adatokat hitelesített gRPC végpontok mögé zárja, amelyek elérhetetlenek a fogyasztói firmware-en.

  • A dish_get_context tartalmaz egy initial_satellite_id mezőt, de PermissionDenied hibát ad vissza a fogyasztói hardveren a 9f4d05a4 firmware (2021. június) óta.
  • A transceiver_get_telemetry feltárja az lmac_satellite_id és target_satellite_id mezőket, de UNIMPLEMENTED hibát ad vissza az összes fogyasztói terminálon.
  • A PKI kihívás-válasz hitelesítés a SpaceX által kontrollált kulcsokkal azt jelenti, hogy nem létezik közösségi megkerülő megoldás.
  • Az elektronikus nyalábvezérlés iránya: amely közvetlenül azonosítaná a kiszolgáló műholdat; egyetlen végponton sem érhető el.
  • Az antenna fázisozott rácsantennája elektronikusan vezérli a nyalábját akár ±50°-ra a boresighttól, de ez a vezérlési szög teljesen láthatatlan az API külső fogyasztói számára.

Elérhető adatok

Az antennáról mérve

Adat Amit elárul Frissítési gyakoriság
Boresight azimut és eleváció Az antenna testének fizikai tájolása 1 Hz
PoP ping késleltetés Oda-vissza idő a jelenléti pontig 1 Hz
Letöltési és feltöltési átviteli sebesség Jelenlegi átviteli teljesítmény 1 Hz
Időrés-számláló Műhold időrés-számláló (mindig 0 a tesztelt hardveren) 1 Hz
GPS koordináták Az antenna helyzete Igény szerint
Kiesési előzmények (did_switch) Megerősített műholdváltás szolgáltatáskiesés során Kiesési eseményenként
Akadálytérkép (SNR rács) 123×123 pixeles égboltkép; valós idejű műhold-jeladatokat tartalmaz, amikor átadási határokon újraindítják (lásd Obstruction Map and Satellite Tracking) 1 Hz

Külső források

Adat Amit elárul
TLE pályaelemek ~10 000 Starlink műholdhoz (CelesTrak / 18th Space Defence Squadron) Számított azimut, eleváció és ferde távolság minden műholdhoz bármely megfigyelői pozícióból

Ami nem elérhető

Adat Miért akarjuk Állapot
Kiszolgáló műhold ID Közvetlen azonosítás Hitelesítés mögé zárva
Elektronikus nyalábvezérlési szög Pontos nyalábirány Egyetlen végponton sem érhető el
Funkcionális időrés-számláló Átadás időzítési jel A mező létezik, de 0-t olvas a jelenlegi fogyasztói firmware-en

Hogyan működik az illesztés

Műhold-illesztés

A megjelenítő a következő számítást végzi 1 Hz frekvencián:

  1. A megfigyelő pozíciója: az antenna GPS koordinátái a get_location lekérdezésből meghatározzák, hol helyezkedik el a Földön.

  2. Műholdpozíciók: a CelesTrak TLE adatokon végzett SGP4 pályaterjesztéssel a megjelenítő kiszámítja az azimutot, elevációt és ferde távolságot minden Starlink műholdhoz az antenna helyzetéből nézve.

  3. Látómező szűrés: csak a 10° eleváció feletti műholdak kerülnek figyelembevételre. Az antenna fizikai boresight iránya (az alignment_stats adatokból) határozza meg a fázisozott rácsantenna ~100°-os látómező kúpjának közepét.

  4. Legközelebbi jelölt kiválasztása: a fizikai boresight középponttól legkisebb szögtávolságra lévő műhold kerül kiválasztásra a legvalószínűbb kiszolgáló műholdként.

A boresight szálkereszt

A polár égtérképen lévő szálkereszt az antenna testének fizikai tájolását jelöli, nem az elektronikus nyalábirányt. A Starlink fázisozott rácsantenna a kezdeti beállítás után nagyrészt mozdulatlan; a boresight értékek órák alatt a fok töredékeivel változnak szél- vagy hőhatások miatt. Az antenna fizikailag nem mozog az egyes műholdak követéséhez.

A tényleges nyalábvezérlés elektronikusan történik a fázisozott rácsantennán belül RF szinten, akár ±50°-ra a fizikai boresighttól söpörve a kiszolgáló műhold követéséhez. Ez az elektronikus nyalábirány egyetlen fogyasztói API végponton sem érhető el.

Műholdváltás-észlelés

Amikor a legközelebbi műholdjelölt megváltozik (más NORAD-ID válik geometriailag a legközelebbivé), ezt kikövetkeztetett műholdváltásként észleli a rendszer. Ezek a változások korrelálnak a tényleges antenna-átadásokkal, de nem erősítik meg azokat. Az orbitális mechanikát tükrözik; ahogy a műholdak ~7,5 km/s sebességgel haladnak el felettünk, az antenna boresight középpontjához legközelebb eső műhold természetesen néhány percenként változik.

A valódi műholdátadások a Starlink hálózatban zökkenőmentesre vannak tervezve (make-before-break), nem okozva mérhető ugrást a késleltetésben vagy átviteli teljesítményben, amelyet a jelenlegi firmware-en megbízható észlelési jelként lehetne használni.

Megbízhatósági pontszám

A megbízhatósági pontszám a geometriai valószínűségét tükrözi annak, hogy az illesztett műhold a tényleges kiszolgáló:

Megbízhatóság Feltételek Értelmezés
Magas < 10° a boresighttól, ≤ 3 közeli jelölt Kevés műhold a közelben; erős geometriai jelölt
Közepes < 25° a boresighttól Jól a látómezőn belül; ésszerű jelölt
Alacsony < 50° a boresighttól Az antenna vezérlési tartományán belül, de sok közeli jelölt
Nincs egyezés > 50° a boresighttól Nincs műhold az antenna elektronikus vezérlési tartományán belül

Ezek a küszöbértékek a fizikai boresightra (az antenna test iránya) vannak kalibrálva, nem az elektronikus nyalábra. Mivel a fázisozott rácsantenna ±50°-ra tud vezérelni az antenna felületétől, a kiszolgáló műhold jellemzően 10-40°-ra lesz a fizikai boresight középponttól. A „Magas" megbízhatósági egyezés azt jelenti, hogy egyetlen erős geometriai jelölt van; nem azt jelenti, hogy az azonosítás megerősített.

Pontossági fok

Amiben megbízhat

A műholdpozíciók a földgömbön pontosak. A CelesTrak TLE adatai mérvadóak (az US Space Force 18th Space Defence Squadrontól származnak), és az SGP4 terjesztés az űrkövetési közösség által használt standard módszer. A pozícionális pontosság jellemzően néhány kilométeren belül van a nemrég frissített TLE-k esetében.

Az antenna helyzete pontos. Közvetlenül az antenna fedélzeti GPS-éből származik.

A fizikai boresight irány pontos. Az antenna IMU-ja (inerciális mérőegység) méri ~0,6°-os bizonytalansággal.

A látható műholdak halmaza pontos. A pozíciójából az egyes műholdakig számított nézeti szögek geometriailag precízek, így a polárdiagram helyesen mutatja, mely műholdak vannak felettünk és hol helyezkednek el az égen.

Ami kikövetkeztetett

Az azonosított műhold egy megalapozott becslés. A boresight középponthoz legközelebbi műhold a legjobb geometriai jelölt, de az antenna bármely műholddal kommunikálhat a ±50°-os elektronikus vezérlési tartományán belül. Bármely adott pillanatban tucatnyi műhold lehet a látómezőben.

A műholdváltások megfigyelt geometria, nem megerősített átadások. Amikor a legközelebbi jelölt megváltozik, ez orbitális sodródást tükröz; egy másik műhold válik geometriailag a legközelebbivé. A tényleges antenna-átadások egybeeshetnek vagy sem ezekkel a geometriai változásokkal. Egyes valódi átadások láthatatlanok lesznek a következtetés számára (az antenna átvált egy másik műholdra, de a geometriailag legközelebbi nem változik), és egyes megfigyelt változások tiszta orbitális sodródás lesz (a geometriailag legközelebbi megváltozott, de az antenna valójában nem váltott).

A megbízhatósági pontszámok geometriaiak, nem jelalapúak. A „Magas" megbízhatósági egyezés jó geometriát jelent, nem validált kapcsolatot. Az elektronikus nyalábirányhoz vagy a kiszolgáló műhold ID-hez való hozzáférés nélkül egyetlen fogyasztói firmware-alapú eszköz sem tudja megerősíteni, melyik műholdat használja ténylegesen az antenna.

Megvizsgált jelek

A fejlesztés során több jelet értékeltek ki az átadás-észleléshez. Mindegyiket valódi hardveren tesztelték (rev3_proto2, firmware-ek 2026.02.16.cr74084 és 2026.04.07.mr77639.1).

Jel Hipotézis Eredmény
seconds_to_first_nonempty_slot Visszaszámlálnia kellene műhold-időrésenként és újraindulnia átadáskor Mindig 0-t olvas a tesztelt fogyasztói hardveren; a mező nincs feltöltve
pop_ping_latency_ms ugrások A késleltetésnek ugrania kellene, amikor a ferde távolság megváltozik átadás közben A késleltetés simán alakul az átadásokon keresztül; a SpaceX valószínűleg make-before-break kapcsolást használ, amely elnyeli az útváltozásokat
did_switch a kiesési előzményekből Megerősített váltásjelző a kiesési rekordokban Csak szolgáltatáskiesések során aktiválódik, nem a rutinszerű ~15 másodperces tiszta átadások során
Boresight ugrások Az antenna fizikai újrapozícionálása kísérheti az átadásokat Az antenna teste alig mozdul; az elektronikus nyalábvezérlés hangtalanul kezeli a műholdkövetést
Akadálytérkép SNR (újraindítás nélkül) A cellánkénti SNR változásoknak követniük kellene a műhold mozgását a látómezőn keresztül A térkép újraindítása nélkül akadálymentes antennán statikus kumulatív tiszta égbolt maszkot ad vissza; minden látható cella ~1,0-t olvas, nulla variációval az egymást követő lekérdezések között. A felhalmozott adatok teljesen telítettek, így a képkockák közötti különbség nem mutat változást.
Akadálytérkép SNR (újraindítással) A dish_clear_obstruction_map meghívása után a térképnek üresről kellene újraépülnie és feltárnia a kiszolgáló műhold pozícióját, miközben másodpercenként új pixeleket fest Megerősítetten működik. Az átadási határokon történő újraindítás után az 1 Hz-es lekérdezés tiszta egy-pixeles műholdpályákat hoz létre. Lásd Obstruction Map and Satellite Tracking.

Obstruction Map and Satellite Tracking

Háttér

Ahangarpour, Zhao, and Pan SatInView tanulmánya (ACM MobiCom '24 LEO-NET Workshop) bemutatta, hogy a kiszolgáló műhold azonosítható az antenna akadálytérképének újraindításával 15 másodperces átadási határokon, 1 Hz-es lekérdezésével és a szomszédos képkockák XOR-olásával a műhold látómezőn áthaladó pályájának kinyerésére. A megfigyelt pályát ezután a TLE alapján propagált műholdpozíciókhoz illesztik a szinte egyértelmű azonosítás érdekében.

A Starlink Viewer kezdeti fejlesztése során az akadálytérképet újraindítás végrehajtása nélkül teszteltük. Akadálymentes antennán a térkép statikusnak tűnt, teljesen telített tiszta égbolt maszk képkockák közötti variáció nélkül. Arra a következtetésre jutottunk, hogy az adatok nem tartalmaznak valós idejű műhold-jelinformációt. Ez a következtetés pontos volt az újraindítatlan térképre, de hiányos: a térkép azért tűnt statikusnak, mert minden pixel, amelyet az aktuális műhold festhetett, már meg volt világítva a korábbi műholdátvonulásokból. A felhalmozott adatok előzetes törlése nélkül semmi új nem volt, amit a XOR érzékelhetett volna.

Frissített megállapítások

A SatInView kutatócsoporttal folytatott levelezés után teszteltük a teljes újraindítás-alapú megközelítést rev3_proto2 hardveren, amelyen 2026.04.07.mr77639.1 firmware (2026. április) futott. Az eredmények megerősítik, hogy a technika működik a jelenlegi hardveren és firmware-en:

  • A dish_clear_obstruction_map elérhető és funkcionális. Meghívása törli a felhalmozott SNR adatokat (377 aktív pixelről 1-re csökkent a tesztelés során).
  • Újraindítás után a térkép körülbelül másodpercenként egy új pixel sebességgel épül újra, ahogy a kiszolgáló műhold áthalad a látómezőn.
  • Szomszédos képkockák XOR-olása 1 Hz-en tiszta, egy-pixeles pályapontokat eredményez közel nulla szórással.
  • A 15 másodperces átadási időzítés (minden perc 12., 27., 42. és 57. másodperce, globálisan szinkronizálva) megerősítést nyert a hardverünkön. Az egymást követő intervallumok folyamatosan ugyanazt a műholdat követték, egyértelmű pályaugrással, amikor tényleges átadás történt.
  • A térkép FRAME_EARTH-ot jelent álló aktív antennákon, ami azt jelenti, hogy a rács úgy van tájolva, hogy a felső-középső pixel a valódi északnak felel meg. A mobil vagy inaktív antennák FRAME_UT-ot jelenthetnek, ahol az alsó-középső pixel a boresight iránynak felel meg.

Kompromisszum: miért nem indítja újra a Nexus a térképet alapértelmezés szerint

A dish_clear_obstruction_map hívás destruktív; törli az antenna felhalmozott akadályprofilját. Akadályozott telepítésű felhasználók számára (fák, épületek vagy egyéb szerkezetek) ezek az adatok értékesek a jelproblémák diagnosztizálásához, és sok műholdátvonulás során halmozódnak fel idővel. 15 másodpercenkénti újraindításuk megakadályozza, hogy az antenna bármilyen akadályadatot gyűjtsön, és a Starlink mobilalkalmazás üres vagy részleges térképet fog mutatni.

A Nexus jelenleg a geometriai következtetést (boresight irány + TLE illesztés) használja alapértelmezett műhold-azonosítási módszerként. Ez a megközelítés nem destruktív; nem hív meg semmilyen író végpontot az antennán, és nincs mellékhatása a felhasználó akadályadataira.

A pálya-alapú megközelítést kalibrációs eszközként használjuk a geometriai következtetés pontosságának validálására és javítására. Azt is értékeljük, hogy felajánljuk-e a pálya-követést opcionális módként haladó felhasználóknak és kutatóknak, egyértelmű tájékoztatással a térkép újraindításának kompromisszumáról.

Mi változtathatna ezen

Jövőbeli firmware-frissítések vagy hardverváltozatok további telemetriát tárhatnának fel, amely javítaná a következtetés pontosságát:

  • Funkcionális seconds_to_first_nonempty_slot: ha ez a mező feltöltésre kerül újabb firmware-en vagy hardveren, megbízható átadásonkénti időzítési jelet biztosítana.
  • Elektronikus nyalábvezérlési szögek: a fázisozott rácsantenna tényleges nyalábirányának bármilyen feltárása lehetővé tenné a közvetlen műhold-azonosítást.
  • Enyhített hitelesítés a dish_get_context lekérdezésen: ha a SpaceX újra engedélyezné az initial_satellite_id mezőt, a probléma teljesen megoldódna.
  • Nem destruktív valós idejű jeladatok: ha a jövőbeli firmware külön végponton vagy az akadálytérkép nem destruktív változatán keresztül tárná fel a műholdankénti jelinformációt, a pálya-illesztési megközelítést a felhasználó akadályadatainak újraindítása nélkül is lehetne használni.
  • Új hardvergenerációk: a SpaceX V3 műholdakat és új terminálhardvert telepít. Különböző firmware- vagy hardververziók feltölthetik a jelenleg üres mezőket vagy új telemetriát tárhatnak fel.

Korábbi kutatások

A Nexus geometriai következtetést (boresight irány + TLE alapján propagált műholdpozíciók) használ annak becslésére, melyik műhold szolgálja ki az antennát. Ez egy heurisztikus megközelítés; hatékony és nem destruktív, de korlátozott pontosságú.

Nagyobb pontosságú azonosításhoz az Ahangarpour, Zhao, and Pan által a University of Victoria-n kifejlesztett SatInView technika (ACM MobiCom 2024, LEO-NET Workshop) szinte egyértelmű műhold-azonosítást ér el az akadálytérkép pályáinak TLE adatokkal való korrelálásával. Megközelítésük megköveteli az akadálytérkép újraindítását az átadási határokon, amelyről megerősítettük, hogy működik a jelenlegi hardveren és firmware-en (lásd Obstruction Map and Satellite Tracking). Implementációjuk elérhető itt: github.com/aliahan/SatInView.

Az ő pálya-alapú technikájukat használjuk referenciaként a Starlink Viewerben alkalmazott geometriai következtetés pontosságának kalibrálásához és javításához.

Pályaadatok

A műholdpozíciók a CelesTrak kiegészítő GP végpontjából származnak, amely a SpaceX által szolgáltatott efemeriszeket a standard 18th Space Defence Squadron katalógusadatokkal egyesítve biztosítja. Az adatokat a Rust háttérrendszer helyileg gyorsítótárazza és 6 óránként frissíti, 48 órás elavult gyorsítótár tartalékkal, ha a CelesTrak nem érhető el. Az állapotsor a jelenlegi műholdszámot és az adatok korát mutatja.

Az antenna helyzete

A megjelenítő az antenna get_location végpontjából származó GPS koordinátákat használja, ha elérhetők. Ha a GPS adatok nem hozzáférhetők, manuálisan megadhatja a szélességi és hosszúsági fokot a konfigurációs panelen.