ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ

Позиционирование GNSS: принципы и реализация имитации сигналов

GPS, BeiDou, Galileo, GLONASS — четыре глобальные навигационные спутниковые системы позволяют чипу стоимостью в несколько долларов определять своё местоположение в любой точке Земли. В этом руководстве мы простым языком объясняем, как на самом деле происходит позиционирование, какие «потери» несёт сигнал на своём пути и как наш имитатор сигналов GNSS достоверно «воспроизводит» всё это в легитимной замкнутой среде.

≈ 12 мин чтения· 6 глав
01 · ОСНОВНОЙ ПРИНЦИП · ПРИНЦИП

Позиционирование, по сути, — это точное измерение дальности

Спутниковое позиционирование сводится к одной фразе: если вы знаете, насколько далеко находитесь от нескольких точек с известными координатами, вы можете определить своё местоположение. Спутники и есть те самые опорные точки — на высоте 20 000 км, непрерывно передающие собственное положение и время.

Измерение расстояния через время

Спутниковые сигналы распространяются со скоростью света. Каждый сигнал «маркируется» точным временем отправки; приёмник фиксирует время прибытия, и разница Δt, умноженная на скорость света c, даёт расстояние от спутника до приёмника. Масштаб впечатляет: ошибка в 1 наносекунду ≈ 0,3 м ошибки по дальности. Именно поэтому каждый спутник оснащён атомными часами, отсчитывающими время с наносекундной точностью.

Но для удешевления в приёмниках используются обычные кварцевые часы с неизвестным «смещением шкалы времени». Поэтому фактически измеряется не истинная дальность, а отягощённая смещением «псевдодальность» — термин, который является ключом ко всему последующему.

Три сферы пересекаются, четыре спутника дают решение

Зная расстояние до одного спутника, вы оказываетесь на сфере вокруг него; два спутника — две сферы пересекаются по окружности; три спутника — три сферы сходятся в точке: это и есть «трилатерация». Так почему же в телефонах всегда пишут «требуется минимум 4 спутника»? Потому что помимо координат x, y, z есть четвёртая неизвестная: смещение часов приёмника. Четыре неизвестных требуют минимум четырёх спутников, решаемых совместно как одна система. Чем больше спутников в зоне видимости, тем стабильнее и точнее решение.

GROUND r₁r₂r₃Δt Приёмник
Рис. 1 · Пересечение трёх сфер и решение по четырём спутникам (4-й спутник устраняет смещение шкалы времени приёмника Δt)

Где спутник прямо сейчас? — эфемериды

Чтобы использовать спутник как опорную точку, нужно сначала точно знать, где он находится. Каждый спутник передаёт в навигационном сообщении набор эфемерид — по сути, кеплеровы элементы орбиты с рядом поправок на возмущения. Подставьте их в формулы, и приёмник вычислит трёхмерное положение и скорость спутника в любой момент. Эфемериды со временем «устаревают», поэтому их необходимо постоянно обновлять.

Время — душа всей системы

Вся GNSS опирается на единую шкалу времени (время GPS, время BeiDou и т. д.). Уход часов спутника, релятивистские эффекты, аппаратные задержки при передаче и приёме — любое временнóе рассогласование напрямую выливается в метры ошибки позиционирования. В прямом смысле позиционирование — это прежде всего задача синхронизации времени.

02 · СИГНАЛ · СИГНАЛ

Что именно передаётся из космоса

Сигнал спутника — это, по сути, три слоя, наложенных друг на друга. Поймите эти три слоя, и вы поймёте, где именно «спрятана» временна́я информация для измерения дальности.

① НесущаяCARRIER ② Дальномерный кодPRN / CDMA ③ Навигационное сообщениеNAV DATA МодуляцияОбъединитьBPSK
Рис. 2 · Несущая × дальномерный код × навигационное сообщение — трёхслойная модуляция

① Несущая — это синусоидальный сигнал гигагерцового диапазона, который «доставляет» сигнал к приёмнику. ② Дальномерный код (PRN) — открытая псевдослучайная последовательность 0/1, своего рода уникальный «отпечаток» каждого спутника: он позволяет приёмнику различать спутники на одной частоте (это и есть CDMA) и несёт в себе точную временну́ю метку, используемую для измерения дальности. ③ Навигационное сообщение — самый медленный информационный слой, передающий приёмнику эфемериды, параметры часов, состояние спутника и другие данные.

Современные системы также вещают на нескольких частотах одновременно (GPS L1/L2/L5, BeiDou B1/B2/B3, …). Мультисистемность и многодиапазонность не только увеличивают количество видимых спутников и повышают надёжность в условиях затенения — двухчастотная комбинация позволяет практически полностью исключить ионосферную погрешность. Это основа высокоточного позиционирования, и именно поэтому наш симулятор работает с 48 каналами параллельно в диапазоне 1176–1610 МГц.

03 · ПОГРЕШНОСТИ РАСПРОСТРАНЕНИЯ · PROPAGATION

Что происходит с сигналом на пути к приёмнику

На протяжении 20 000 км от спутника до приёмника сигнал «теряет в цене» слой за слоем. Чтобы симуляция была убедительной, а позиционирование точным, необходимо моделировать каждую из этих потерь по отдельности — именно это и отличает серьёзный симулятор от игрушечного.

Ионосферная задержка8-параметрическая модель Клобучара Тропосферная задержкаЗависит от угла места / высоты Релятивистские эффекты · групповая задержкаTGD / ISC Здание · отражатель Многолучевое отражение Приёмник
Рис. 3 · Основные источники ошибок на пути сигнала

К основным «скидкам» относятся: ионосферная задержка (сильно зависит от солнечной активности; обычно корректируется 8-параметрической моделью Клобучара), тропосферная задержка (зависит от угла возвышения спутника и высоты станции), релятивистские эффекты (спутник движется быстро и находится в более слабом гравитационном поле, поэтому его часы идут быстрее и требуют коррекции — включая поправку на эксцентриситет орбиты), групповая задержка TGD/ISC (аппаратная задержка смещения между частотами), многолучевость (сигналы, отражённые от зданий/земли, накладываются на прямую волну) и смещение часов спутника (описывается полиномом a0/a1/a2).

Именно поэтому мы встраиваем полную цепочку моделей потерь и ошибок — ионосферу Клобучара, тропосферу с зависимостью от угла возвышения, релятивистские и групповые поправки, затухание мощности по углу возвышения. На выходе получается не «идеальный сигнал», а сигнал, приближенный к реальному небу; только тогда тестирование с его использованием обретает подлинный смысл.

04 · НАША РЕАЛИЗАЦИЯ · РЕАЛИЗАЦИЯ

Воссоздание всего небосвода в программной среде

Симулятор GNSS-сигналов выполняет описанный ранее процесс «в обратном порядке»: имея сценарий (время, местоположение, траекторию движения), он вычисляет положение каждого спутника, псевдодальность и доплеровский сдвиг относительно приёмника, синтезирует соответствующий РЧ-сигнал и подаёт его на приёмник. Это освобождает разработку и тестирование от реальной погоды и реальных траекторий — внутри закономерной замкнутой среды можно воспроизвести любой сценарий по требованию: слабые сигналы, высокую динамику, заданные конфигурации созвездий…

Этот путь начался не с нуля. В сообществе открытого кода такие проекты, как GPS-SDR-SIM и GNSS-SDR, на раннем этапе доказали, что можно «генерировать baseband-сигналы GNSS с помощью программно-определяемой радиосистемы (SDR)» — обычно для одного созвездия, одной частоты, формируя IQ-файл офлайн и воспроизводя его. Мы опираемся на эти наработки, но вывели их на принципиально иной уровень инженерной пригодности.

Движок реального времени · непрерывно 24/7 · без пропаданий / без дрейфа Сценарий и эфемеридыSCENARIO Расчёт орбит спутниковPOS · RANGE Модуляция и синтезCODE × CARRIER Модели ошибок и потерьPROPAGATION IQ → SDR RFRF FRONT-END Клобучар · тропосфера · релятивистские эффекты · групповая задержкаСовместимость с недорогими SDR→ На вход антенны приёмника
Рис. 4 · От сценария к радиочастотному сигналу: программно-определяемая цепочка формирования сигналов GNSS

Во-первых, надёжность. Старый подход с автономными файлами не позволяет проводить длительные испытания. Мы создали движок реального времени, поддерживающий непрерывную работу 24/7 — без пропадания сигнала и накопления ухода на длительных интервалах, — благодаря чему ресурсные испытания и автоматический мониторинг наконец становятся реальностью.

Во-вторых, стоимость. Цена высококлассных источников сигнала легко достигает шестизначных сумм. Мы провели глубокую оптимизацию на уровне алгоритмов, поэтому движок совместим с недорогими SDR-устройствами, снижая стоимость возможностей лабораторного уровня до приемлемых для обычных пользователей величин — так что больше команд и частных специалистов смогут реально их применять.

Наконец, производительность. В отличие от прототипов с одним спутником и одной частотой, мы обеспечиваем многосистемный, многодиапазонный параллелизм по 48 каналам, что — вместе с полными моделями ошибок из предыдущего раздела и темпом обновления 1 кГц — даёт реальный выигрыш как в скорости, так и в точности позиционирования, достаточный для проверки высокодинамичных и высокоточных сценариев. За более детальным перечнем возможностей обратитесь к характеристикам на главной странице.

05 · НА СТОРОНЕ ПРИЁМНИКА · НА СТОРОНЕ ПРИЁМНИКА

Как приёмник вычисляет местоположение

Предыдущие главы описывали позиционирование с точки зрения системы; эта переносит фокус на сторону приёмника. Для приёмника определение координат обычно проходит четыре стадии — поиск, слежение, демодуляция и решение навигационной задачи — непрерывно выполняемые в диапазоне от миллисекунд до секунд, после чего он начинает выдавать результаты.

Поиск и слежение

После включения приёмник должен сначала обнаружить спутниковые сигналы в шуме. Спутники быстро движутся относительно земли, поэтому их несущая имеет заметный доплеровский сдвиг, а дальномерный код приходит с неизвестной кодовой фазой. На этапе поиска приёмник коррелирует локально сгенерированную копию кода с входящим сигналом в двумерном пространстве поиска «доплеровская частота × кодовая фаза»; когда они совпадают и корреляция даёт чёткий пик, спутник считается обнаруженным. Затем он переходит в режим слежения: контур слежения за кодом (DLL) удерживает совмещение кодовой фазы, а контур слежения за несущей (PLL) сохраняет захват несущей, что в совокупности обеспечивает стабильное и непрерывное считывание измерений с сигнала. Если любой из контуров теряет захват, требуется повторный поиск.

Демодуляция, решение навигационной задачи и время до первого определения координат

Когда слежение стабилизируется, приёмник выполняет битовую и кадровую синхронизацию, демодулирует навигационное сообщение и получает такие параметры, как эфемериды и уход часов; на их основе он вычисляет положение каждого спутника на данный момент, затем объединяет соответствующие псевдодальности и находит координаты, скорость и время (PVT) приёмника методом наименьших квадратов или с помощью фильтра Калмана. Время от включения до выдачи первых координат называется временем до первого определения местоположения (TTFF): холодный старт без предварительной информации обычно занимает десятки секунд, тогда как тёплый старт с кэшированными эфемеридами и приблизительным местоположением часто требует всего нескольких секунд. Чем больше спутников в зоне видимости и чем лучше их геометрия (чем меньше PDOP), тем стабильнее и точнее решение.

Чип GNSS + нижние слои ОС (невидимы для приложений) АнтеннаANTENNA ВЧ-трактВЧ / понижающее преобразование Поиск · слежениеDLL / PLL Демодуляция · решениеPVT Прикладной уровень · ПРИЛ Системная служба местоположенияLOCATION SVC APPШирота/долгота + точность Только координаты, ничего лишнего
Рис. 5 · Цепочка обработки сигнала в приёмнике: прикладной уровень получает лишь итоговые координаты, но не детали сигнала

Потребительские устройства, такие как телефоны: прикладной уровень не имеет доступа к деталям сигнала

Стоит подчеркнуть один момент: на потребительских устройствах, таких как телефоны, приём сигнала, понижающее преобразование, захват, слежение и демодуляция сообщений полностью выполняются чипом GNSS (или радиочастотным и baseband-блоками внутри SoC) совместно с нижними слоями ОС. Приложение, как правило, не может получить доступ к исходным измерениям или процессу обработки сигналов; оно способно лишь получить конечный результат через системную службу местоположения — набор координат широты и долготы с оценкой точности. (Некоторые платформы предоставляют интерфейс для чтения сырых измерений, но он доступен не на каждом устройстве и не свободен от системных разрешений и ограничений фреймворка.)

Это также объясняет, почему тесты позиционирования должны воздействовать на сигнальном или системном уровне, а не подменять значения на прикладном уровне: симулятор работает непосредственно с чипом. Он воспроизводит достаточно реалистичные спутниковые сигналы на радиочастотном входе, так что вся цепочка выполняет захват, слежение и решение по реальной логике, и устройство самостоятельно вычисляет заданное положение — только такая проверка заслуживает доверия и только она способна охватить поведение в реальных условиях, таких как слабые сигналы, многолучёвость и высокая динамика.

06 · ЗАКЛЮЧЕНИЕ · ЗАКЛЮЧЕНИЕ

Знать, как и почему

От слабого луча сигнала в космосе до стабильных координат на вашем экране — между ними лежат слой за слоем измерения дальности, решения, синхронизации и моделирования ошибок, работающие согласованно. Поймите принципы — и вы яснее увидите, где хороший симулятор должен приложить усилия; и именно по этим трём направлениям — надёжность, стоимость и производительность — мы довели открытый прототип до продукта, пригодного для серьёзной инженерной работы.

Чтобы узнать больше о конкретных возможностях и вариантах сотрудничества, вернитесь на главная страница продукта или свяжитесь с нами.

↑ Наверх
ПРИЛОЖЕНИЕ · ПОЛНЫЕ ХАРАКТЕРИСТИКИ · ПРИЛОЖЕНИЕ

Характеристики AnyLocate

Ниже приведены ключевые технические характеристики; «✓» означает поддержку, остальные значения — конкретные цифры. Полные параметры указаны в руководстве, поставляемом с программным обеспечением, и зависят от вашей текущей версии.

01 Диапазоны / Группировки ГРУППИРОВКА
GPSL1CA / L1C
BeiDou (BDS)B1I / B1C
GalileoE1 / E5a
ГЛОНАССG1 / G2
02 Каналы и РЧ РЧ / КАНАЛЫ
Каналы48
Диапазон РЧ1176 – 1610 МГц
Квантование IQ2 / 4 / 8 / 16 бит
АнтеннаОдноканальная передача
Вывод измерений
Мощность RFРегулируемая
ВыходПотоковая передача SDR в реальном времени · офлайн IQ-файл
Одновременные каналыДинамически (возможности зависят от вычислительных ресурсов хоста / полосы пропускания SDR)
03 Сценарии СЦЕНАРИИ
Статическая фиксированная точка
Базовая динамика
Пользовательская динамика
Непрерывная работа 24/7
Зона покрытияЛюбая точка мира в любое время
Системы времениUTC · GPS · BeiDou · Galileo · GLONASS
Смешанные группировкиЛюбая комбинация созвездий / сигналов
04 Динамика DYNAMICS
Частота обновления1 кГц
Скорость≤ 100 м/с
Ускорение≤ 2 G
Точность позиционирования≤ 5 м
Доплеровский сдвигМоделируется в реальном времени по относительной скорости спутник–приёмник
05 Модели погрешностей и распространения РАСПРОСТРАНЕНИЕ
Ионосферная модельКлобучар (8 параметров)
Тропосферная модельЗависимость от угла места / высоты
Модель часов спутникаПолином a0/a1/a2
Релятивистская поправкаЧлен эксцентриситета
Групповая задержкаМежсигнальное смещение TGD / ISC
Затухание мощности от угла возвышения
06 Инжекция и продвинутые функции ПРОДВИНУТЫЕ
Инжекция пользовательских эфемерид
Горячая замена актуальных эфемеридПлавное переключение на лету с сохранением захвата на всём протяжении (кроссфейд)
Инжекция навигационных сообщений
Управление сдвигом / переход через ноль номера недели
Модель UTC
Управление выбором спутниковМаскировка одного спутника по группировке / PRN + маска по углу места
КонфигурацияJSON / XML
Внешние интерфейсыMCP / CLI
// Полное руководство по характеристикам поставляется вместе с ПО · реальные возможности зависят от вашей версии