Место Kshana
Kshana — открытый воспроизводимый движок доказательств устойчивости PNT (позиционирования, навигации и времени). Вы описываете сценарий — датчики или часы, пропадание ГНСС (глобальной навигационной спутниковой системы), атаку подавлением или спуфингом, бюджет — и он показывает, насколько хорошо держатся время и положение, оценивая это по эксплуатационным показателям качества (FoM). Каждая возможность, стоящая за этими показателями, помечена в машинно проверяемой матрице как VALIDATED (проверено по независимому внешнему оракулу), MODELLED (внутренне согласовано, внешне не проверено) или PARTNER (отвечает аппаратный партнёр). На этой странице сказано, в чём он ведущий, для чего предназначен и чем не является.
В чём он ведущий: время и holdover для критической инфраструктуры#
Лучше всего проверена в движке синхронизация времени. Телекоммуникационные сети, энергосети и финансовые площадки получают время от ГНСС, и каждому приходится рассчитывать holdover: как долго локальные часы могут идти свободно после потери ГНСС, прежде чем ошибка времени выйдет за бюджет.
- Что относится к VALIDATED. Оценщики стабильности частоты, из которых строится ответ по holdover, — девиация Аллана (ADEV), модифицированная девиация Аллана (MDEV), девиация времени (TDEV), максимальная ошибка временного интервала (MTIE) и оценщик Theo1 с расширенным диапазоном — проверены по эталонным девиациям Stable32, независимой библиотеке
allantoolsи реальным измеренным цезиевым часам. Расчёт дисперсии выбега в holdover и его обращение во время holdover проверены по SciPy. Каждая строка, её тест и её оракул описаны вVERIFICATION-MATRIX.md. - Что остаётся MODELLED. Нижние границы шума для каждого класса часов (например, долговременная нижняя граница данного класса генераторов) определяют ответ для стабильных часов, и это типовые показатели, а не измерения вашего устройства. Для числа, которое вы собираетесь отстаивать, подставьте измеренные нижние границы.
- Телекоммуникационные блоки. Вид
telecom-timingсообщает MTIE и TDEV, сверяет их с масками Сектора стандартизации электросвязи Международного союза электросвязи (ITU-T) — G.8272 для первичных часов опорного времени (PRTC), G.8272.1 для расширенных PRTC (ePRTC), G.8273.2 для телекоммуникационных пограничных часов (T-BC) и G.8271.1 для сетевых пределов в опорной точке C — и сообщает, как долго holdover остаётся в пределах каждого бюджета ошибки времени. См.TELECOM-TIMING.md.
Чем он отличается#
Не физика и не стандарты составляют отличие: пропагация Simplified General Perturbations 4 (SGP4), девиация Аллана, системы координат и геометрический фактор DOP доступны, бесплатны и корректны в других библиотеках, и Kshana сверяет себя с несколькими из них. Отличие — в дисциплине доказательств:
- Открытость. Движок распространяется под GNU Affero General Public License (AGPL), так что любой может прочитать его и перезапустить. Для закрытой интеграции существует коммерческая лицензия.
- Воспроизводимость. Результат определяется
scenario + seed + engine versionпобитово, и прогоном можно поделиться в виде ссылки на браузерную песочницу. - Помеченное происхождение. Каждый параметр датчика привязан к опубликованному источнику (
PROVENANCE.md), и каждая возможность несёт свой уровень VALIDATED / MODELLED / PARTNER. Охрана непрерывной интеграции (CI) отклоняет строку VALIDATED без независимого внешнего оракула, так что внутреннюю самопроверку нельзя выдать за валидацию.
Мы не нашли другого открытого инструмента, который сочетал бы всё это в области holdover, целостности, инерциального выбега и квантовых датчиков, но поиск, ничего не нашедший, не доказывает, что ничего нет; мы не утверждаем, что мы единственные.
Квантовые системы: нейтральный метод сравнения, результаты помечены MODELLED#
Kshana сравнивает квантовые и классические часы и инерциальные датчики на одном и том же сценарии одним и тем же кодом: каждое устройство — это модель ошибок, и движок не знает, какое из них «квантовое». Рассматривайте его как нейтральный метод сравнения квантовых и классических систем, результаты которого помечены MODELLED. Большинство входных данных — опубликованные коэффициенты Аллана / бюджета шума; у акселерометра на атомном интерферометре с холодными атомами есть слой из первых принципов, из которого выводится его коэффициент шума. Измеренные данные девиации Аллана партнёра можно подать через вид quantum-trade — это путь для повышения уровня показателей конкретного устройства. См. QUANTUM.md и QUANTUM-MODELS.md.
Луна, цислунное пространство и дальний космос: поддерживаются, а не главное#
Лунный / цислунный набор (мониторинг лунной целостности, ядро задачи трёх тел Земля–Луна, лунные шкалы времени, анализ зоны обслуживания) и движок радиометрической навигации в дальнем космосе — это поддерживаемые возможности. Большинство их строк MODELLED, а лунную навигацию уже обслуживают специализированные инструменты, поэтому они предлагаются как возможности того же движка, каждая со своим уровнем, а не как главное направление.
Остальное в движке#
Тот же движок с теми же уровнями охватывает также:
- PNT на низкой околоземной орбите (LEO), от начала до конца. Проектирование сигнала (
leo-signal), пролёт и бюджет линии по диапазонам (leo-pass), широковещательное навигационное сообщение (leo-navmsg), объединённое позиционирование на средней и низкой околоземных орбитах (leo-pvt), сходимость прецизионного абсолютного позиционирования (PPP) с дополнением LEO (leo-ppp), позиционирование по нетерриториальной сети 5G (ntn-positioning) иleo-pnt-chain, который передаёт выход каждой стадии следующей для одной системы. - Спектр. Водопад спектральной плотности мощности в L-диапазоне (а также в диапазонах сверхвысоких частот (UHF), S и C) при заданной по сценарию временной шкале помехи, с отношением помехи к сигналу по диапазонам и эффективной несущей к плотности шума (
spectrum), а также ввод и вывод записей Signal Metadata Format (SigMF). - Солнечная система и любое центральное тело. Положения и физические константы планет и крупных спутников (
solar-system), позиционирование вокруг любого из этих тел (body-pnt) и проектирование орбитальных группировок Walker и по опубликованным слотам с картами покрытия и геометрического фактора DOP вокруг любого из них (constellation-design). - Кампании. Существующие виды, соединённые в цепочку на одной общей временной шкале, с перебором, прогоняемые как ансамбли Монте-Карло с начальным значением либо запускаемые бок о бок при общих условиях (
campaign). - Выходные данные. Каждый прогон записывает документ результата, график и отчёт в HTML (HyperText Markup Language) и JSON (JavaScript Object Notation);
--animateзаписывает анимацию SVG (Scalable Vector Graphics), HTML или последовательность кадров;--exportзаписывает эфемериды CZML (Cesium Language), KML (Keyhole Markup Language), GeoJSON или STK (Systems Tool Kit) для видов, которые размещают объекты на Земле, и SigMF дляspectrum.
Большинство этих строк MODELLED; матрица верификации называет немногие, относящиеся к VALIDATED (например, рекомендации Международного союза электросвязи по дождю и сцинтилляциям, алгоритм широковещательных эфемерид Galileo, проверка кадра по CRC-24Q (24-битному циклическому избыточному коду) и решатель времени распространения света для планет).
Чем Kshana не является#
- Это не имитатор радиочастотных (РЧ) сигналов и не стенд полунатурного моделирования (HIL). Kshana не управляет никаким радиооборудованием и ничего не передаёт. Большая его часть работает на уровне моделей ошибок и бюджетов линий — до того, как покупается оборудование или лабораторное время. На уровне сигнала это только программное обеспечение: слой IQ ГНСС (
iq) записывает файлы отсчётов IQ (синфазная/квадратурная составляющие) в основной полосе для легитимных сигналов ГНСС для программных приёмников и запускает на них собственный программный приёмник; раздел[iq]видаspectrum(начиная с 0.29.0) записывает снимок SigMF (Signal Metadata Format) своей аналитической модели, включающий заданные источники помех (шумоподобные — по отсчётам частоты, тоны и чирпы — как формы волны); аspoof_captureсуммирует аутентичный сигнал и копию сигнала спуфера в памяти, чтобы проверить захват контура, не записывая её. Испытание аппаратного приёмника на реальном РЧ-воздействии — задача РЧ-имитатора. - Это не замена MATLAB/Simulink, STK или Orekit. Он работает рядом с ними. Он читает и записывает используемые ими форматы обмена — сообщения об эфемеридах орбиты CCSDS (Consultative Committee for Space Data Systems), прецизионные орбиты SP3 (Standard Product 3), RINEX (Receiver Independent Exchange Format) — записывает эфемериды CZML, KML, GeoJSON и STK для их средств просмотра, а его численная силовая модель перекрёстно проверяется по Orekit, а не предлагается вместо него.
- Это не движок обработки ГНСС по фазе несущей и не служба позиционирования (см. ниже).
- Это не орган сертификации. Метка VALIDATED означает, что возможность совпадает с внешним оракулом; это не сертификация какого-либо продукта или оператора.
Чем Kshana является и не является по сравнению с движком обработки ГНСС#
Kshana не является движком обработки ГНСС по фазе несущей, и ни один вид сценария не является службой позиционирования. Одной ногой он стоит в области измерений — как код библиотеки, на который опирается исследование характеристик и который проверяется по независимым эталонам. Кинематическое позиционирование в реальном времени (RTK) на короткой базе с фиксацией целых неоднозначностей LAMBDA (least-squares ambiguity decorrelation adjustment) выполняется по реальным двухчастотным наблюдениям RINEX, как и статический фильтр прецизионного абсолютного позиционирования (PPP) с плавающими неоднозначностями с окончательными орбитами и часами IGS, а часы приёмника, которые оценивает этот фильтр, — это решение по времени относительно окончательных часов станции IGS. Каждый из этих трёх — строка VALIDATED матрицы верификации по указанным там данным станций IGS, и каждый работает на статических коротких окнах наблюдений, а не как потоковая служба с разрешением неоднозначностей на длинных базах, сглаживанием по несущей или кинематическим ровером. Вид leo-ppp запускает фильтр PPP с плавающими неоднозначностями по коду и фазе несущей, но на измерениях, которые он сам имитирует, чтобы изучить время сходимости с дополнением LEO и без него; файл наблюдений он не обрабатывает. Вид pvt (положение, скорость и время) решает положение приёмника по реальным кодовым псевдодальностям RINEX и широковещательным эфемеридам, проверен по обследованной координате Международной службы ГНСС (IGS) (станция ABMF, 2018-05-13) с результатом 5,7 м СКО (среднеквадратичное отклонение) в 3-мерном пространстве / 1,1 м по горизонтали. Но продукт — это исследование характеристик, а не служба позиционирования, и приведённое ниже изложение призвано избавить потенциального пользователя от разочарования из-за неподходящего инструмента.
| Kshana | Движок обработки ГНСС (RTKLIB — открытая библиотека кинематического позиционирования в реальном времени; gLAB — набор инструментов лаборатории ГНСС группы gAGE Политехнического университета Каталонии) | |
|---|---|---|
| Входная величина | сценарий: модели ошибок датчиков, окна пропаданий, геометрия — или, для pvt, файл реальных наблюдений RINEX плюс широковещательная навигация |
реальные наблюдения ГНСС (RINEX), эфемериды, поправки |
| Вывод | показатели качества характеристик: holdover, ошибка времени/положения, доступность, границы целостности/безопасности — плюс положение по коду в режиме одиночного определения (SPP) из вида pvt |
решение по положению/скорости/времени (SPP, PPP, RTK) |
| Вопрос, на который он отвечает | «насколько хороша была бы эта архитектура и где она ломается?» | «по этим измерениям, где я сейчас?» |
| Квантовые / оптические датчики | моделируются как модели ошибок (оптические часы, инерциальный измерительный блок (IMU) на холодных атомах, оптическая передача времени), результаты помечены MODELLED | не моделируется |
| Обработка реальных наблюдений | SPP по коду из реальных наблюдений RINEX (pvt, уровень метров); RTK на короткой базе с LAMBDA и статический PPP с плавающими неоднозначностями по реальной фазе несущей — как код библиотеки, проверенный по станциям IGS (VALIDATED, статические и короткие окна, не потоковая служба); плюс геометрия / геометрический фактор DOP / доступность |
основная компетенция, вплоть до PPP/RTK по фазе несущей |
| Установка | ноль — работает во вкладке браузера (WebAssembly) | нативная сборка / набор инструментов |
Дополняют, а не конкурируют — RTKLIB и gLAB#
RTKLIB и gLAB — зрелые, широко используемые пакеты обработки ГНСС. Они берут реальные измерения и выдают решение по положению (SPP/PPP/RTK; gLAB также превосходный учебный инструмент с богатой историей в Европейском космическом агентстве (ESA) и в Европейской геостационарной навигационной оверлейной службе (EGNOS)). Kshana их не заменяет и не пытается заменить. Его путь работы с наблюдениями узок: кодовое одиночное позиционирование (pvt) и, как проверенный код библиотеки, RTK на короткой базе с фиксацией целых неоднозначностей LAMBDA и статический фильтр PPP с плавающими неоднозначностями по реальным двухчастотным наблюдениям, каждый VALIDATED по данным станций IGS (фильтр PPP также по прогону RTKLIB на тех же входных данных). В нём нет сглаживания по несущей, кинематической или потоковой обработки и разрешения неоднозначностей на длинных базах, а pvt не оценивает тропосферу и ионосферу — он применяет модели тропосферы Саастамойнена/Нилла и безионосферную комбинацию L1/L2, но не решает их как состояния.
Конвейер дополняющий:
- RTKLIB / gLAB отвечают на вопрос «где я, по этим сигналам?»
- Kshana отвечает на вопрос «как долго я сохраняю хороший ответ, когда эти сигналы пропадают, и что мне даёт лучшие часы или инерциальный датчик, классический или квантовый?»
Естественный рабочий процесс использует движок обработки для участка с доступной ГНСС, а Kshana — для изучения поведения holdover и пространства компромиссов по датчикам вокруг него. Если вам нужна служба позиционирования по фазе несущей — кинематическое PPP или RTK, длинные базы, сетевое разрешение неоднозначностей, — используйте RTKLIB или gLAB; если нужны воспроизводимые, помеченные доказательства об устойчивости и holdover, именно для этого создан Kshana.
Ступень в браузере без установки#
Большинство инструментов моделирования в этой области (RTKLIB, gLAB, General Mission Analysis Tool (GMAT), Orekit, STK) требуют нативной установки или лицензии и времени на освоение до первого результата. Kshana компилируется в WebAssembly и работает целиком в браузере — песочница загружает готовый сценарий, запускает настоящий движок на стороне клиента (ничего не загружается на сервер) и показывает результат за секунды. Управляемые ползунки и сценарии в один щелчок означают, что для первого полезного результата не нужны ни TOML (Tom's Obvious Minimal Language, формат файлов сценариев), ни набор инструментов.
Эта ступень без установки — осознанная позиция:
- Доступность — рецензент, студент или специалист по закупкам может опробовать настоящий движок по ссылке, на любом устройстве, без какой-либо настройки.
- Воспроизводимость — тот же движок, что работает в браузере, является библиотекой, поставляемой на crates.io, в Python Package Index (PyPI) и npm; результат воспроизводим по
scenario + seed + engine version, а прогоном можно поделиться в виде URL (веб-адреса). - Честность — самостоятельный запуск движка в открытую — самый сильный ответ на призыв «доверяйте числам»: браузерная ступень и есть поверхность аудита.
Браузерная ступень не делает Kshana заменой настольного пакета обработки — она делает вопрос о сравнительных исследованиях характеристик доступным для тех, кто никогда бы такой пакет не установил.
См. также#
CAPABILITY.md— карта области действия по строкам (полная область действия решателяpvtи невязки — в строке Обработка ГНСС / PNT).VALIDATION.md— что проверено, с доказательствами.TELECOM-TIMING.md— вид телекоммуникационной синхронизации и его маски.GLOSSARY.md— определения используемых здесь терминов простым языком.web/README.md— браузерная песочница.