Само за Pro издание

Преглед

Starlink Viewer показва 3D глобус в реално време с всичките ~10 000 сателита Starlink, анимирани в реално време, местоположението на вашата антена и предполагаема връзка със сателита, който най-вероятно обслужва вашия терминал.

Идеалният инструмент за мониторинг на Starlink би ви показал точно кой сателит комуникира с вашата антена във всеки даден момент, кога предава към нов сателит и пътя на сигнала от антената ви през сателита до наземната станция. Това би изисквало антената да разкрие идентичността на обслужващия сателит и посоката на електронното насочване на лъча. SpaceX не предоставя нито едното, нито другото, затова Nexus извежда обслужващия сателит от наличните данни.

Защо е необходимо извеждане

SpaceX заключва данните за идентификация на сателити зад автентикирани gRPC крайни точки, които са недостъпни на потребителски фърмуер.

  • dish_get_context съдържа поле initial_satellite_id, но връща PermissionDenied на потребителски хардуер от фърмуер 9f4d05a4 (юни 2021).
  • transceiver_get_telemetry предоставя lmac_satellite_id и target_satellite_id, но връща UNIMPLEMENTED на всички потребителски терминали.
  • PKI удостоверяване чрез предизвикателство-отговор с ключове, контролирани от SpaceX, означава, че не съществува заобиколно решение от общността.
  • Посока на електронното насочване на лъча: което директно би идентифицирало обслужващия сателит; не е достъпна през никоя крайна точка.
  • Фазираната решетъчна антена на антената насочва лъча си електронно до ±50° от главната ос, но този ъгъл на насочване е напълно невидим за външните потребители на API.

Налични данни

Измерени от антената

Данни Какво ни казва Честота на обновяване
Азимут и елевация на главната ос Физическа ориентация на корпуса на антената 1 Hz
Латентност на PoP ping Време за двупосочно пътуване до точката на присъствие 1 Hz
Пропускателна способност при изтегляне и качване Текуща пропускателна способност 1 Hz
Таймер на слот Таймер за сателитен слот (винаги 0 на тествания хардуер) 1 Hz
GPS координати Местоположение на антената При поискване
История на прекъсванията (did_switch) Потвърдено превключване на сателит по време на прекъсване на услугата При събитие на прекъсване
Карта на препятствията (SNR решетка) Небесна карта 123×123 пиксела; съдържа данни за сателитен сигнал в реално време, когато се нулира на границите на предаване (вижте Obstruction Map and Satellite Tracking) 1 Hz

Външни източници

Данни Какво ни казва
TLE орбитални елементи за ~10 000 сателита Starlink (CelesTrak / 18th Space Defence Squadron) Изчислен азимут, елевация и наклонено разстояние на всеки сателит от всяка позиция на наблюдател

Какво не е налично

Данни Защо ги искаме Статус
Идентификатор на обслужващ сателит Директна идентификация Заключен зад автентикация
Ъгъл на електронно насочване на лъча Точна посока на лъча Не е достъпен в никоя крайна точка
Функционален таймер на слот Сигнал за момента на предаване Полето съществува, но чете 0 на текущия потребителски фърмуер

Как работи съпоставянето

Съпоставяне на сателити

Визуализаторът извършва следното изчисление с честота 1 Hz:

  1. Позиция на наблюдателя: GPS координатите на антената от get_location определят къде се намирате на Земята.

  2. Позиции на сателитите: използвайки SGP4 орбитално разпространение върху TLE данни от CelesTrak, визуализаторът изчислява азимута, елевацията и наклоненото разстояние на всеки сателит Starlink, видян от местоположението на вашата антена.

  3. Филтриране по зрително поле: разглеждат се само сателити над 10° елевация. Физическата посока на главната ос на антената (от alignment_stats) определя центъра на конуса на ~100° зрително поле на фазираната решетка.

  4. Избор на най-близък кандидат: сателитът с най-малко ъглово разстояние от центъра на физическата главна ос се избира като най-вероятен обслужващ сателит.

Кръстосаният визьор на главната ос

Кръстосаният визьор на полярната карта на небето представя физическата ориентация на корпуса на антената, а не посоката на електронния лъч. Фазираната решетъчна антена на Starlink е предимно неподвижна след първоначалното подравняване; стойностите на главната ос се променят с части от градуса за часове поради вятър или термични ефекти. Антената не се движи физически, за да проследява отделни сателити.

Действителното насочване на лъча се извършва електронно вътре във фазираната решетка на RF ниво, като обхваща до ±50° от физическата главна ос за проследяване на обслужващия сателит. Тази посока на електронния лъч не е достъпна през никоя потребителска API крайна точка.

Откриване на смяна на сателит

Когато най-близкият кандидат сателит се промени (различен NORAD идентификатор стане геометрически най-близък), това се наблюдава като изведена смяна на сателит. Тези промени корелират с, но не потвърждават действителни предавания на антената. Те отразяват орбиталната механика; докато сателитите преминават над нас с ~7,5 km/s, най-близкият до центъра на главната ос на антената се променя естествено на всеки няколко минути.

Реалните предавания между сателити на Starlink са проектирани да бъдат безпроблемни (свързване-преди-прекъсване), без да произвеждат измерим разрив в латентността или пропускателната способност, който би могъл да се използва като надежден сигнал за откриване на текущия фърмуер.

Оценка на достоверност

Оценката на достоверност отразява геометричната вероятност съпоставеният сателит да е действителният обслужващ:

Достоверност Критерии Интерпретация
Висока < 10° от главната ос, ≤ 3 близки кандидата Малко сателити в близост; силен геометричен кандидат
Средна < 25° от главната ос Добре в зрителното поле; разумен кандидат
Ниска < 50° от главната ос В обхвата на насочване на антената, но с много близки кандидати
Без съвпадение > 50° от главната ос Няма сателит в обхвата на електронно насочване на антената

Тези прагове са калибрирани за физическата главна ос (посока на корпуса на антената), а не за електронния лъч. Тъй като фазираната решетка може да насочва ±50° от лицевата страна на антената, обслужващият сателит обикновено ще бъде на 10-40° от центъра на физическата главна ос. Съвпадение с „Висока" достоверност означава, че има единствен силен геометричен кандидат; не означава, че идентификацията е потвърдена.

Степен на точност

На какво можете да се доверите

Позициите на сателитите на глобуса са точни. TLE данните от CelesTrak са авторитетни (източник от US Space Force 18th Space Defence Squadron) и SGP4 разпространението е стандартният метод, използван от общността за проследяване на космически обекти. Точността на позицията обикновено е в рамките на няколко километра за наскоро обновени TLE.

Местоположението на вашата антена е точно. То идва директно от вградения GPS на антената.

Физическата посока на главната ос е точна. Тя се измерва от IMU (инерциална измервателна единица) на антената с несигурност от ~0,6°.

Множеството видими сателити е точно. Изчислените ъгли на наблюдение от вашата позиция до всеки сателит са геометрически прецизни, така че полярната диаграма коректно показва кои сателити са над вас и къде се намират на небето.

Какво е изведено

Идентифицираният сателит е обосновано предположение. Най-близкият сателит до центъра на главната ос е най-добрият геометричен кандидат, но антената може да комуникира с всеки сателит в обхвата на електронно насочване ±50°. Във всеки даден момент десетки сателити може да са в зрителното поле.

Смените на сателити са наблюдавана геометрия, а не потвърдени предавания. Когато най-близкият кандидат се промени, това отразява орбитален дрейф; различен сателит става геометрически най-близък. Реалните предавания на антената може да съвпадат или да не съвпадат с тези геометрични промени. Някои реални предавания ще бъдат невидими за извеждането (антената превключва към друг сателит, но геометрически най-близкият не се променя), а някои наблюдавани промени ще бъдат чист орбитален дрейф (геометрически най-близкият се е променил, но антената всъщност не е превключила).

Оценките на достоверност са геометрични, а не базирани на сигнал. Съвпадение с „Висока" достоверност означава добра геометрия, а не валидирана връзка. Без достъп до посоката на електронния лъч или идентификатора на обслужващия сателит, никой инструмент, базиран на потребителски фърмуер, не може да потвърди кой сателит антената действително използва.

Сигнали, които проучихме

По време на разработката бяха оценени няколко сигнала за откриване на предаване. Всички бяха тествани на реален хардуер (rev3_proto2, фърмуер 2026.02.16.cr74084 и 2026.04.07.mr77639.1).

Сигнал Хипотеза Заключение
seconds_to_first_nonempty_slot Трябва да отброява за всеки сателитен слот и да се нулира при предаване Винаги чете 0 на тествания потребителски хардуер; полето е непопълнено
Разриви в pop_ping_latency_ms Латентността трябва да скочи, когато наклоненото разстояние се промени по време на предаване Латентността остава гладка през предаванията; SpaceX вероятно използва превключване тип свързване-преди-прекъсване, което поглъща промените в пътя
did_switch от историята на прекъсванията Потвърден флаг за превключване в записите за прекъсвания Активира се само по време на прекъсвания на услугата, не при рутинни ~15-секундни чисти предавания
Разриви на главната ос Физическото преместване на антената може да придружава предаванията Корпусът на антената почти не се движи; електронното насочване на лъча се справя безшумно с проследяването на сателити
SNR на картата на препятствията (без нулиране) Промените в SNR за всяка клетка трябва да проследяват движението на сателита през зрителното поле Без нулиране на картата тя връща статична кумулативна маска за чисто небе на необструктирана антена; всички видими клетки показват ~1,0 без никакво отклонение между последователни запитвания. Натрупаните данни са напълно наситени, така че разликата кадър по кадър не показва промени.
SNR на картата на препятствията (с нулиране) След извикване на dish_clear_obstruction_map картата трябва да се изгради отново от празно състояние и да разкрие позицията на обслужващия сателит, докато рисува нови пиксели всяка секунда Потвърдено, че работи. След нулиране на границите на предаване, запитванията с честота 1 Hz произвеждат чисти траектории на сателита с един пиксел. Вижте Obstruction Map and Satellite Tracking.

Obstruction Map and Satellite Tracking

Предистория

Проучването SatInView от Ahangarpour, Zhao, and Pan (ACM MobiCom '24 LEO-NET Workshop) демонстрира, че обслужващият сателит може да бъде идентифициран чрез нулиране на картата на препятствията на антената на 15-секундните граници на предаване, запитване с честота 1 Hz и XOR на съседни кадри, за да се извлече траекторията на сателита, докато се движи през зрителното поле. Наблюдаваната траектория след това се съпоставя с позициите на сателитите, изчислени от TLE, за постигане на почти недвусмислена идентификация.

По време на първоначалната разработка на Starlink Viewer тествахме картата на препятствията без нулиране. На необструктирана антена картата изглеждаше статична, напълно наситена маска за чисто небе без никакви промени между кадрите. Стигнахме до заключението, че данните не съдържат информация за сателитен сигнал в реално време. Това заключение беше вярно за ненулираната карта, но непълно: картата изглеждаше статична, защото всеки пиксел, който текущият сателит би могъл да нарисува, вече беше осветен от предишни преминавания на сателити. Без предварително изчистване на натрупаните данни, нямаше нищо ново за откриване чрез XOR.

Обновени заключения

След кореспонденция с изследователския екип на SatInView тествахме пълния подход с нулиране на хардуер rev3_proto2, работещ с фърмуер 2026.04.07.mr77639.1 (април 2026). Резултатите потвърждават, че техниката работи на текущия хардуер и фърмуер:

  • dish_clear_obstruction_map е наличен и функционален. Извикването му изчиства натрупаните SNR данни (377 активни пиксела, намалени до 1 при тестването).
  • След нулиране картата се изгражда отново с приблизително един нов пиксел в секунда, докато обслужващият сателит се движи през зрителното поле.
  • XOR на съседни кадри с честота 1 Hz произвежда чисти точки на траекторията от един пиксел с почти нулево разпръскване.
  • 15-секундната синхронизация на предаването (12-та, 27-ма, 42-ра и 57-ма секунда на всяка минута, глобално синхронизирани) беше потвърдена на нашия хардуер. Последователните интервали проследяваха непрекъснато един и същ сателит, с ясен скок в траекторията при действително предаване.
  • Картата докладва FRAME_EARTH на стационарни активни антени, което означава, че решетката е ориентирана с горния централен пиксел, съответстващ на истинския север. Мобилните или неактивните антени могат да докладват FRAME_UT, където долният централен пиксел съответства на посоката на главната ос.

Компромис: защо Nexus не нулира картата по подразбиране

Извикването dish_clear_obstruction_map е разрушително; то изтрива натрупания профил на препятствията на антената. За потребители с препятствани инсталации (дървета, сгради или други конструкции) тези данни са ценни за диагностика на проблеми със сигнала и се натрупват с течение на времето през много сателитни преминавания. Нулирането им на всеки 15 секунди пречи на антената да натрупа каквито и да било данни за препятствия, а мобилното приложение на Starlink ще показва празна или частична карта.

Понастоящем Nexus използва геометрично извеждане (посока на главната ос + TLE съпоставяне) като метод по подразбиране за идентификация на сателит. Този подход е неразрушителен; не извиква никакви записващи крайни точки на антената и няма странични ефекти върху данните за препятствия на потребителя.

Използваме подхода, базиран на траектории, като инструмент за калибриране, за да валидираме и подобрим точността на нашето геометрично извеждане. Също така оценяваме дали да предложим проследяване на траектории като опционален режим за напреднали потребители и изследователи, с ясно разкриване на компромиса при нулиране на картата.

Какво би могло да промени това

Бъдещи обновления на фърмуера или хардуерни ревизии биха могли да разкрият допълнителна телеметрия, която да подобри точността на извеждане:

  • Функционален seconds_to_first_nonempty_slot: ако това поле се попълва на по-нов фърмуер или хардуер, то би предоставило надежден сигнал за момента на всяко предаване.
  • Ъгли на електронно насочване на лъча: всяко разкриване на действителната посока на лъча на фазираната решетка би позволило директна идентификация на сателит.
  • Облекчена автентикация на dish_get_context: ако SpaceX повторно активира полето initial_satellite_id, проблемът би бил решен напълно.
  • Неразрушителни данни за сигнал в реално време: ако бъдещ фърмуер разкрие информация за сигнал по сателити през отделна крайна точка или неразрушителен вариант на картата на препятствията, подходът на съпоставяне по траектория би могъл да се използва без нулиране на данните за препятствия на потребителя.
  • Нови хардуерни поколения: SpaceX разполага V3 сателити и нов терминален хардуер. Различни фърмуерни или хардуерни ревизии може да попълнят понастоящем неактивни полета или да разкрият нова телеметрия.

Предшестващи изследвания

Nexus използва геометрично извеждане (посока на главната ос + позиции на сателити, изчислени от TLE), за да прецени кой сателит обслужва антената. Това е евристичен подход; ефективен и неразрушителен, но ограничен в прецизност.

За идентификация с по-висока точност, техниката SatInView, разработена от Ahangarpour, Zhao, and Pan в University of Victoria (ACM MobiCom 2024, LEO-NET Workshop), постига почти недвусмислена идентификация на сателит чрез корелиране на траектории от картата на препятствията с TLE данни. Техният подход изисква нулиране на картата на препятствията на границите на предаване, което потвърдихме, че работи на текущия хардуер и фърмуер (вижте Obstruction Map and Satellite Tracking). Тяхната реализация е достъпна на github.com/aliahan/SatInView.

Използваме тяхната техника, базирана на траектории, като референция за калибриране и подобряване на точността на геометричното извеждане, използвано в Starlink Viewer.

Орбитални данни

Позициите на сателитите са получени от допълнителната GP крайна точка на CelesTrak, която предоставя ефемериди, предоставени от SpaceX, обединени със стандартните каталожни данни на 18th Space Defence Squadron. Данните се кешират локално от Rust бекенда и се обновяват на всеки 6 часа, с резервен вариант от 48-часов остарял кеш, ако CelesTrak е недостъпен. Лентата за статус показва текущия брой сателити и възрастта на данните.

Местоположение на антената

Визуализаторът използва GPS координати от крайната точка get_location на антената, когато са налични. Ако GPS данните не са достъпни, можете ръчно да въведете вашата географска ширина и дължина в панела за конфигурация.