Пролёт LEO и бюджет линии связи (leo-pass)
LEO-PNT — это позиционирование, навигация и время (PNT) со спутников на низкой околоземной орбите (LEO). Вид leo-pass моделирует один или несколько пролётов спутников LEO над пользователем и рассчитывает бюджет линии связи по диапазонам, рядом со спутниками GNSS (глобальная навигационная спутниковая система) средней околоземной орбиты (MEO) в зоне видимости. Движок не привязан к конкретной системе: любая орбитальная группировка, любая конструкция сигнала и любой диапазон задаются прямо в сценарии. Именованные системы — необязательные предустановки, каждая в своём файле с источником.
- Код:
src/leo_pass.rs(сам вид) иsrc/leo_link/(общедоступные строительные блоки, которые могут вызывать другие модули). - Сценарии:
leo-pass-vs-gnss-cn0,leo-indoor-uhf,leo-iot-energy,leo-pass-xona-pulsar,leo-pass-iridium,leo-resilience-spoof-doppler,leo-focus-science-iono-soundingи необязательныйleo-pass-celeste-iod-multiband(результаты — в разделе Встроенные сценарии). Этот вид также входит в кампанииleo-resilience-spoof-monitors,leo-focus-iot-eirp,leo-focus-indoor-uhfи во все сценарииleo-vertical-*, а также является стадией пролёта видаleo-pnt-chain. - Обзор всех видов и сценариев LEO-PNT: LEO-PNT.md.
- Оракулы:
tests/leo_link_reference.rs, эталонные данные вtests/fixtures/leo_link/с URL их источников.
Что вычисляет один запуск#
Для каждого спутника LEO, диапазона и эпохи:
| Составляющая | Модель | Метка |
|---|---|---|
| Угол места, азимут, дальность | пользователь в WGS-84 (World Geodetic System 1984), спутник в инерциальной системе, совмещённой с земной системой на эпоху | вычислено |
Скорость изменения дальности ρ̇ = d·Δv/ρ, ускорение дальности ρ̈ = (|Δv|² − ρ̇² + d·Δa)/ρ |
замкнутая форма; каждый запуск проверяет обе величины по центральным разностям распространённой дальности и сообщает наибольшую разность | замкнутая форма |
Доплер −f·ρ̇/c, скорость изменения Доплера −f·ρ̈/c |
первого порядка, по диапазонам | замкнутая форма |
| Потери в свободном пространстве | Фриис, 20·log10(4πRf/c) |
VALIDATED |
| EIRP спутника (эквивалентная изотропно излучаемая мощность) и диаграмма | изофлюкс до граничного угла места, гауссов главный лепесток −12(η/θ₃)² dB или плоская |
MODELLED |
| Антенна пользователя | патч G_z + 10·q·log10(sin el) dBic, полусферическая или изотропная |
MODELLED |
| Поглощение в газах | упрощённые выражения ITU-R (Международный союз электросвязи, Сектор радиосвязи) P.676-10, приложение 2 (заменены P.676-13, табличные коэффициенты которой движок не содержит) | MODELLED |
| Ослабление в дожде | коэффициенты ITU-R P.838-3 и процедура P.618-14, § 2.2.1.1, по интенсивности дождя R0.01 и высоте дождя | VALIDATED |
| Тропосферные мерцания | ITU-R P.618-14, § 2.4.1; ниже 4 GHz — экстраполяция, помеченная в отчёте | VALIDATED (4–55 GHz) |
| Потери при проникновении в здание (пользователь в помещении) | ITU-R P.2109-2, традиционное или термоэффективное здание, при угле места трассы у фасада | VALIDATED |
| Рассогласование поляризаций | коэффициент потерь на поляризацию по осевым отношениям и направлениям вращения, усреднённый по ориентации эллипса | замкнутая форма |
| Шумовая температура системы | нижний предел антенны + излучение неба на поглощающей трассе (275 K) + космический фон 2,7 K + приёмник 290(10^(NF/10) − 1) |
MODELLED |
| C/N0 (отношение мощности несущей к спектральной плотности шума) | EIRP + G_sat − L_fs − L_gas − L_rain − L_scint − L_BEL − L_pol + G_user − 10·log10(kT) − L_impl |
MODELLED |
| Групповая задержка в ионосфере | 40.3·STEC/f², где STEC (полное электронное содержание по наклонной трассе) берётся из модели Klobuchar или из вертикального полного электронного содержания (TEC), масштабированного долей слоя Чепмена ниже спутника |
масштабирование VALIDATED, TEC MODELLED |
Для каждой пары диапазонов: безионосферные коэффициенты, усиление шума √(a₁² + a₂²) и тепловой шум кода каждого диапазона и комбинации в максимуме пролёта. Сравнение с GNSS на MEO использует ту же антенну пользователя и тот же приёмник, с минимальной принимаемой мощностью каждого сигнала из документа интерфейса (Galileo Open Service Signal-in-Space Interface Control Document, OS SIS ICD, выпуск 2,1, таблица 12; GPS по IS-GPS-200 и IS-GPS-705), плюс заданный запас, масштабированный по дальности. Необязательный раздел [iot] (Интернет вещей) даёт время до первого определения места, энергию на одно определение и срок работы батареи в зависимости от скважности для заданного энергетического бюджета приёмника (MODELLED, каждое допущение — входной параметр и указано в отчёте).
Спутники#
orbit = "pass"(по умолчанию): круговая орбита, расположенная так, что пользователь видит один пролёт с выбранным максимальным углом места в выбранное время, восходящий или нисходящий, к востоку или к западу от пользователя; наклонение может быть солнечно-синхронным.orbit = "elements": явные кеплеровы элементы.orbit = "tle": двухстрочный набор элементов (TLE) через распространитель Simplified General Perturbations 4 (SGP4) движка.[[leo_constellation]]: орбитальная группировка Уокера, построенная кодомconstellation-design(егоConstellationCfgили оболочки предустановки); приводятся самые высокие пролёты в окне.
Диапазоны и конструкции сигналов#
Диапазоны: system = "<preset>" с необязательным подмножеством bands и записи [[satellite.band]], которые добавляют диапазон или переопределяют любое поле диапазона предустановки. system = "none" только с записями [[satellite.band]] вообще не использует предустановку.
Диапазон может также называть конструкцию leo-signal (signal = "xona-x5", любая конструкция в data/leo-signals/ или переданная видом leo-pnt-chain; см. LEO-SIGNAL.md). Тогда диапазон берёт центральную частоту конструкции (если не задано frequency_mhz), ширину полосы передачи и скорость следования чипов отслеживаемой компоненты, делит свою EIRP между компонентами конструкции по их долям мощности и на каждой эпохе сообщает C/N0 отслеживаемой компоненты и её дрожание слежения за кодом по схеме «раньше — позже» с ограниченной полосой (Betz и Kolodziejski, 2009, формула вида leo-signal) как ошибку дальности.
Предустановки#
Каждая предустановка помечает свои числа как «PUBLIC» (с URL), «REPRESENTATIVE» (документированный проектный выбор, никогда не утверждение о реальной системе) или «WORKSHOP».
| Пресет | Источник | Диапазоны | Орбита |
|---|---|---|---|
generic-leo (по умолчанию) |
REPRESENTATIVE; несущие L, S и C из открытых документов | UHF 450 MHz (репрезентативная), L 1191,795 MHz (центр Galileo E5), S 2492,028 MHz (NavIC S, несущая диапазона S Navigation with Indian Constellation), C 5020 MHz (центр выделения RNSS (радионавигационная спутниковая служба) 5010–5030 MHz), каждая 0 dBW | 550 km, солнечно-синхронная, Уокер 240/12/1 |
generic-c-band |
REPRESENTATIVE, для систем диапазона C, параметры которых не опубликованы (например, TrustPoint) | C 5020 MHz, BPSK(10) (двоичная фазовая манипуляция при 10 × 1,023 Mchip/s), изофлюксная | 550 km, 53° |
xona-pulsar |
PUBLIC, arXiv 2509,19551, таблицы 1–2 | X1 1593,3225 MHz, X5 1190,51625 MHz; EIRP из опубликованной минимальной принимаемой мощности при 10° | 1080 km, 53° (192) и 97° (66) |
iridium-stl |
PUBLIC, Resilient Navigation and Timing Foundation (RNTF) и опубликованная орбита | Satellite Time and Location (STL) на 1621 MHz (середина диапазона 1616–1626 MHz); EIRP из «300 раз больше, чем у GPS» | 781 km, 86,4°, 66 в 6 плоскостях |
starlink-soop |
PUBLIC параметры сигнала (NAVIGATION 72(1)), REPRESENTATIVE орбита и EIRP | маяк Ku 240 MHz, только Доплер | 550 km, 53° |
centispace |
PUBLIC структура сигнала (PMC10301026), REPRESENTATIVE орбита и EIRP | BPSK 2,046 Mchip/s вблизи L1 и L5 | 1000 km, 55° |
celeste-iod (необязательная) |
WORKSHOP параметры сигнала, PUBLIC орбита | семь диапазонов конфигурации № 1 | 510 km, солнечно-синхронная |
Предустановка Celeste IOD (in-orbit demonstration) необязательна. Её параметры сигнала были представлены на семинаре по LEO-PNT программы Navigation Innovation and Support Programme (NAVISP) Европейского космического агентства (ESA) в 2026 году и пока не имеют открытого источника; они находятся в модуле link файла src/celeste_iod.rs, используемом scenarios/leo-pass-celeste-iod-multiband.toml. Как предустановка удерживается: каждое число движка, полученное с семинара, находится в одном файле, src/celeste_iod.rs, который build.rs включает в сборку только при его наличии, и в сценариях только для репозитория scenarios/*celeste-iod*.toml. Удаление этого файла и этих сценариев удерживает предустановку без правки исходного кода; любые другие тесты, оракулы и сценарии работают без неё, а число файлов сценариев в README по-прежнему включает удержанные файлы. Её EIRP и диаграмма откалиброваны по кривой C/N0, показанной на семинаре, поэтому этот сценарий воспроизводит кривую по построению.
Модель широковещательных эфемерид ATOMIC на основе полинома «нулевых часов» — это предустановка навигационного сообщения, и она не входит в этот вид.
Наблюдение LEO в сравнении с GNSS#
scenarios/leo-pass-vs-gnss-cn0.toml качественно воспроизводит то, что показывают демонстрации LEO-PNT: C/N0 LEO нарастает и спадает колоколом, который остаётся выше маски 590 s и достигает максимума 56,8 dB-Hz, на 8,9 dB выше медианы плоских несущих GNSS на MEO (Galileo E1, от 40,5 до 52,0 dB-Hz, медиана 47,8 dB-Hz). Запас обусловлен дальностью, а не более мощным передатчиком: в максимуме пролёта спутник находится в 569 km, примерно в 40 раз ближе, чем спутник Galileo в зените (23 222 km), что даёт на 32 dB меньше потерь в свободном пространстве; обобщённая предустановка излучает 0 dBW (1 W).
Входящие в поставку сценарии#
Каждая строка — один запуск kshana scenarios/<name>.toml (движок 0.40.0):
| Сценарий | Конфигурация | Результат одного запуска |
|---|---|---|
leo-pass-vs-gnss-cn0 |
generic-leo, диапазон L, 550 km, пролёт 80° над Мюнхеном |
пик L 56,8 dB-Hz, медиана 42,2 dB-Hz; медиана Galileo E1 47,8 dB-Hz |
leo-pass-xona-pulsar |
xona-pulsar, расчётный пролёт 70° и четыре спутника наклонной оболочки, морской пользователь |
пик X1 65,6 dB-Hz и X5 68,9 dB-Hz на расчётном пролёте; наибольший доплеровский сдвиг X1 31,4 kHz |
leo-pass-iridium |
iridium-stl, пролёт 65°, воздушный пользователь |
пик STL 80,5 dB-Hz, на 34,3 dB выше медианы GPS L1; наибольший доплеровский сдвиг 35,4 kHz |
leo-indoor-uhf |
generic-leo, пользователь в помещении в Риме (традиционное здание) |
пик UHF 34,1, L 24,2, S 16,5, C 8,5 dB-Hz; медиана Galileo E1 22,4 dB-Hz |
leo-iot-energy |
generic-leo, UHF и L с разделом [iot] |
горячее определение места 0,90 s и 18,0 mJ на каждом сигнале; холодное определение места: UHF 19,0 s (381 mJ), L 47,0 s (939 mJ), GPS L1 38,1 s (762 mJ) |
leo-focus-science-iono-sounding |
generic-leo, четыре диапазона, пролёт 70° над Тромсё |
см. Зондирование ионосферы |
leo-resilience-spoof-doppler |
16 спутников обобщённого слоя 1080 km, L и C, скачок 30 m | см. Мониторы спуфинга |
kshana scenarios/<name>.toml --animate html --export all также записывает интерактивный проигрыватель (.animation.html, эпохи пролёта) и файлы эфемерид геометрии пролёта в форматах CZML (Cesium Language), KML (Keyhole Markup Language), GeoJSON и STK (Systems Tool Kit) (ANIMATION.md, INTEROP.md).
Зондирование ионосферы#
Каждая пара диапазонов даёт также наклонное TEC, которое её безгеометрическая комбинация кодов восстанавливает в максимуме пролёта, STEC = (P₂ − P₁)·f₁²f₂² / (40.3·(f₁² − f₂²)), и 1-сигму этой оценки по шуму кода двух диапазонов в максимуме (geometry_free_stec_tecu, geometry_free_stec_sigma_tecu). Оценка равна наклонному TEC модели по построению: комбинация точна в первом порядке. Именно сигма делает план диапазонов лучшим или худшим зондом: scenarios/leo-focus-science-iono-sounding.toml (четыре диапазона над Тромсё) восстанавливает 18,85 единиц TEC по каждой паре с 1-сигмой 0,017 единиц TEC для UHF с L и 2,9 для S с C. Только тепловой шум кода; без многолучевости и межчастотного смещения. MODELLED.
Мониторы спуфинга ([spoofer])#
Необязательный раздел [spoofer] подделывает сигналы, которые приёмник видел бы в заявленной точке. С onset_s заявленное положение скачком смещается на offset_m, а затем движется по горизонтали со скоростью push_rate_m_s в направлении push_azimuth_deg; подложные дальность и скорость её изменения в точности равны таковым для заявленного положения, на диапазонах LEO, названных в bands (по умолчанию все), и на сигнале GNSS на MEO, если не задано gnss = false. simulate_iono определяет, несут ли подложные псевдодальности ионосферную задержку (у наземного передатчика её нет).
Приёмник запускает два монитора (src/leo_link/spoof.rs), каждый с заданной вероятностью ложной тревоги на эпоху (p_fa, по умолчанию 1e-5), и объявляет обнаружение на первой эпохе, на которой вероятность его обнаружения достигает 1 − p_md (по умолчанию 0,999). Вероятности обнаружения точны для заданного гауссова шума и вычисляются по среднему остатку без шума; шум не разыгрывается.
| Монитор | Статистика | Что он обнаруживает |
|---|---|---|
| Согласованность Доплера и геометрии пролёта | измеренные скорости изменения дальности в сравнении с предсказанными по орбитам и независимому априорному положению и скорости (prior_sigma_m, prior_velocity_sigma_m_s); хи-квадрат обобщённого метода наименьших квадратов по окну window_s (по умолчанию один шаг), где дрейф часов — мешающий параметр (или задан drift_sigma_m_s); шум петли слежения за частотой по C/N0 (Kaplan и Hegarty, 2006, § 5.6.2), по каналам GNSS, по каналам LEO и по всем каналам |
ошибка положения δx смещает скорость изменения дальности на g·δx, g = −(Δv − ρ̇u)/ρ: поперечная скорость спутника LEO относительно его дальности примерно в 25 раз больше, чем у спутника MEO, поэтому та же ошибка в доплеровском сдвиге LEO примерно в 25 раз больше |
| Междиапазонная согласованность | пошаговое изменение от эпохи к эпохе безгеометрической комбинации псевдодальностей каждой пары диапазонов LEO, с удалённой ионосферной моделью приёмника, в сравнении с шумом кода √(2(σ₁² + σ₂²)) и допустимой немоделируемой скоростью изменения ионосферы (iono_rate_bound_m_s) |
спуфер, который подделывает одни диапазоны, а другие нет, либо все диапазоны без ионосферы, в момент своего включения; но не тот, который подделывает все диапазоны и имитирует ионосферу |
scenarios/leo-resilience-spoof-doppler.toml: скачок на 30 m на обследованном пункте во Франкфурте меняет скорости изменения дальности GNSS примерно на 4 mm/s, а LEO — примерно на 10 cm/s (медианные градиенты 1.4e-4 и 3.5e-3 в секунду). Тест только по GNSS его никогда не обнаруживает (наибольшая нецентральность 0,06); тест по всем каналам обнаруживает его через 105 s после включения. scenarios/leo-resilience-spoof-monitors.toml запускает четыре спуфера против обоих мониторов.
Ограничения, заявленные в каждом результате: спуфер — идеализированное, самосогласованное смещение положения, которое компенсирует собственный путь (без признаков по мощности, углу прихода или пику корреляции); априорное значение не зависит от спуфированных определений места; ионосферная модель приёмника — это модель движка, поэтому подлинный междиапазонный остаток в среднем равен нулю. MODELLED (две строки в VERIFICATION-MATRIX.md).
Валидация#
| Оракул | Проверка | Результат |
|---|---|---|
| ITU-R P.838-3, таблица 5, 115 частот | p838_coefficients_reproduce_table5_to_its_printed_digits |
каждый коэффициент в пределах 0,6 от последней напечатанной цифры (наихудший наблюдаемый 0,51) |
| проверочные примеры исследовательской комиссии ITU-R 3 (CG-3M3J-13-ValEx-Rev8.3.0), дождь по P.618-14 | p618_rain_attenuation_matches_the_itu_validation_examples |
56 случаев в пределах 1e-4 dB (наблюдалось 5e-6 dB) |
| Те же примеры, мерцания по P.618-14 | p618_scintillation_matches_the_itu_validation_examples |
42 случая в пределах 1e-5 dB |
| рабочая книга Clutter and BEL исследовательской комиссии ITU-R 3, P.2109 | p2109_building_entry_loss_matches_the_itu_workbook |
568 значений в пределах 0,001 dB |
отношение групповых задержек по IS-GPS-200 γ = (77/60)² |
first_order_iono_reproduces_the_is_gps_200_group_delay_ratio |
до 1e-12; усиление L1/L2 и L1/L5 2,978 и 2,588 |
| форма Фрииса в километрах и мегагерцах | free_space_loss_is_the_friis_kilometre_megahertz_form |
до 1e-4 dB |
| arXiv 2509,19551, таблица 1 (Pulsar: проверка на орбите (IOV), полная эксплуатационная готовность (FOC) полярная, FOC наклонная, GPS) | doppler_envelope_reproduces_the_pulsar_paper_table_1 |
20 скоростей и максимумов Доплера в пределах 0,05 % |
Оракулы дождя и мерцаний берут высоту дождя и влажную рефрактивность в том виде, как их дают проверочные примеры: движок не содержит ни карты ITU-R P.839, ни карты P.453.
Ограничения#
- EIRP и диаграммы — это опубликованные принимаемые мощности, пересчитанные в EIRP, или репрезентативные значения; измеренная диаграмма какого-либо спутника не используется, и ни один C/N0 LEO не сравнивается с измерением.
- Газовый член — это замещённый упрощённый метод P.676-10; ниже 1 GHz это значение для 1 GHz, масштабированное по f², а дождь там принимается равным нулю.
- Доля TEC ниже спутника LEO берётся из одного слоя Чепмена (без плазмосферы), с возможностью переопределения заданной долей.
- Расчётные орбиты пролёта и орбиты Уокера — двухтельные с необязательным вековым J2 (вторая зональная гармоника Земли); путь TLE использует SGP4. Собственное ускорение пользователя в замкнутой форме скорости изменения Доплера опущено (численная проверка сообщает, чего это стоит для движущегося пользователя).
- В RINEX (Receiver Independent Exchange Format) 4,02 нет навигационных записей для LEO; любой экспорт LEO в стиле RINEX относится к коду навигационного сообщения и является задокументированным расширением Kshana (предшествующая работа: arXiv 2401,17767).