Á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_contexttartalmaz egyinitial_satellite_idmezőt, dePermissionDeniedhibát ad vissza a fogyasztói hardveren a9f4d05a4firmware (2021. június) óta. - A
transceiver_get_telemetryfeltárja azlmac_satellite_idéstarget_satellite_idmezőket, deUNIMPLEMENTEDhibá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:
-
A megfigyelő pozíciója: az antenna GPS koordinátái a
get_locationlekérdezésből meghatározzák, hol helyezkedik el a Földön. -
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.
-
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_statsadatokból) határozza meg a fázisozott rácsantenna ~100°-os látómező kúpjának közepét. -
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_mapelé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ákFRAME_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_contextlekérdezésen: ha a SpaceX újra engedélyezné azinitial_satellite_idmező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.