Машинный перевод, не проверенный носителем языка. Эталоном служит английская версия.

Страницы видов сценариевПравить на GitHubИсточник: docs/kinds/by-kind/pvt.md

pvt (вид сценария)

Вид сценария движка v0.40.0, семейство Измерения GNSS, позиционирование и целостность. Носит консультативный характер: результат анализа исследовательского и инженерного инструмента; это не навигационное оборудование с утверждённым типом и не служба обеспечения безопасности жизни. Каждая метка здесь принадлежит движку или матрице верификации; вид считается MODELLED, если матрица не говорит иного (как заслуживается метка: раздел README «Evidence»).

Что делает#

Одноточечное определение положения по реальным наблюдениям: определение положения приёмника по файлу наблюдений RINEX 3 и файлу широковещательной навигации (кодовые псевдодальности, широковещательные эфемериды, ионосфера по Клобучару, тропосфера по Саастамойнену/Нилу), при необходимости с проверкой по съёмочной координате.

Один прогон scenarios/pvt-abmf.toml сводится к следующему: pvt 55bdd18628e1 | 11 спутн. нав. | решено 2/3 эпох | в среднем 9,0 спутн., PDOP 1,8 | СКО 3D-ошибки 5,74 м (макс. 7,12 м)

Входные параметры#

Из схемы (kshana kinds --json):

  • Обязательные поля: obs_rinex, nav_rinex
  • Необязательные поля: truth_ecef, apriori_ecef, mask_deg, dual_frequency

Пример scenarios/pvt-abmf.toml задаёт, среди прочего:

Поле Значение Единица
dual_frequency true флаг
kind pvt текст
mask_deg 5 deg
nav_rinex 3,03 N: GNSS NAV DATA M: MIXED текст
obs_rinex 3,02 OBSERVATION DATA M текст
truth_ecef [2.9198e6, -5.3837e6, 1.7746e6] не указано

Запустите#

kshana scenarios/pvt-abmf.toml

Что он даёт#

Скалярные результаты этого прогона с единицами, которые указывает движок:

Результат Значение Единица
evidence.id_rule стабильный идентификатор строки матрицы (ID текст
evidence.matrix docs/VERIFICATION-MATRIX.md текст
evidence.tier MODELLED текст
fom.epochs_solved 2 число
fom.epochs_total 3 число
fom.max_3d_m 7.116806 m
fom.mean_n_used 9 число
fom.mean_pdop 1.793611 1
fom.mean_postfit_rms_m 1.971614 m
fom.rms_3d_m 5.740406 m
График, который движок строит для scenarios/pvt-abmf.toml, вид pvt

Доказательства#

MODELLED: строки матрицы верификации, называющие этот вид.

  • MODELLED Фильтр Хатча без расхождения (код без ионосферы, сглаженный фазой несущей без ионосферы, окно N эпох, перезапуск при потере захвата, скачке геометрической независимости или пропуске) в сборке точного одноточечного позиционирования
  • MODELLED dop_error_mc::run_geometry и check: Монте-Карло с заданным начальным значением (N = 20 000 эпох на геометрию, сигма = 1,5 м, начальное значение ChaCha8 36 + i) собственного итеративного определения методом наименьших квадратов в движке (pvt::solve_spp, единичные веса, решение от истинного положения) на Tests: uere_dop_monte_carlo.rs.

Строки, которые задействовал сам прогон, с оракулом, который указывает им матрица (публичные источники названы там):

  • VALIDATED Положение спутника в ECEF по кеплеровым элементам широковещательных эфемерид IS-GPS-200 / Galileo-OS / BeiDou-OS из разобранной навигационной записи RINEX-3. Оракул (ExternalDataset): RTKLIB v2.4.2-p13 eph2pos(), скомпилированный из исходного кода на C (T. Takasu, BSD-2-Clause) — независимая реализация IS-GPS-200/SIS-ICD, получающая идентичные навигационные записи RINEX-3; положение спутника в ECEF совпало до ~62 нм. (Интерполяция точных эфемерид SP3 проверяется отдельно — см. «SP3 precise-ephemeris interpolation»)
  • MODELLED Детерминированные, хешируемые по сценарию, SBOM и кроссплатформенные эталонные проверки (golden). Оракул (ExternalDataset): соответствие SBOM официальной схеме JSON CycloneDX 1,5 (плюс допустимые идентификаторы SPDX) — внешний опубликованный стандарт, ноль ошибок валидации на всём графе зависимостей; часть о детерминизме FoM и побайтной воспроизводимости остаётся закреплённой проверкой внутренней согласованности, поэтому строка остаётся MODELLED

Ограничения#

Что отчёт самого прогона называет не смоделированным или не проверенным:

  • Воспроизводимость и гарантии качества ПО — MODELLED, а не validated: одно из частных утверждений проверено извне, но вся возможность составлена из смоделированных частей, поэтому возможность остаётся Modelled. (матрица верификации (docs/MODELLED-RATIONALE.md))

См. также#