В наши дни в навигации доминируют глобальные навигационные спутниковые системы (ГНСС) второго поколения: GPS, ГЛОНАСС, Galileo и Beidou. Они развиваются и управляются разными странами, но очень похожи по своей структуре, техническим решениям и возможностям.

Каждая из систем содержит несколько десятков спутников, которые движутся по круговым орбитам на высоте около 20 000 км и содержат на своем борту высокостабильные часы. Спутники наблюдаются станциями наземного комплекса управления, что позволяет предсказывать положение спутников и уход их часов с точностью в метры и наносекунды.

Фронт сигнала, соответствующий одному и тому же времени излучения, в моменты A, B и C
Фронт сигнала, соответствующий одному и тому же времени излучения, в моменты A, B и C

Каждый из спутников излучает навигационный радиосигнал, формируя его в собственной шкале времени:

t^{s} \mapsto S(t^{s})

Сигнал выступает оберткой, физическим носителем показаний часов спутника. Это способ обеспечить "видимость" этих часов за тысячи километров, несмотря на облака, листву и прочие препятствия.

Структура функции S(t) известна и описана в контрольных документах системы. Имея математическую модель сигнала, приемник определяет заложенное в сигнал время и сравнивает его с собственными часами. Разница сигнального времени и часов приемника связана с расстоянием до спутника, а расстояние до спутника - с местоположением приемника. Собрав наблюдения от нескольких спутников, приемник составляет несложную систему уравнений и определяет где он находится.

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

Формирование группового навигационного сигнала на борту спутника
Формирование группового навигационного сигнала на борту спутника

Алгоритмы обработки навигационных сигналов определяются математической моделью навигационного сигнала. И на этом шаге современные ГНСС преподносят нам сюрприз. Оказывается, что разные системы используют разные сигналы. Более того, каждый спутник не ограничивается одним типом сигнала, а излучает целый набор. Так на новых спутниках ГЛОНАСС можно выделить до 14 разных навигационных сигналов! А в совокупности по всем системам типов сигналов больше 50.

Распределение сигналов различных типов по нижнему L-диапазону частот
Распределение сигналов различных типов по нижнему L-диапазону частот

Если попытаться к радионавигации применить модель OSI, то разные системы и сигналы задают разные протоколы физического уровня. Информативный процесс отражается на физический по немного разным правилам. И если мы хотим построить мультисистемный навигационный приемник, мы должны добавить поддержку всех этих протоколов.

Но не спешите расчехлять ваши IDE. У разных сигналов слишком много общего, поэтому писать независимый код под каждый тип сигнала - плохая идея:

  1. Поддерживать и тестировать множество реализаций однотипных функций тяжело и дорого, к тому же распухает объем прошивки.

  2. При сигнальной обработке часть функций реализуется аппаратно (в ПЛИС или модулях СБИС), а значит мы займем кристалл множеством специализированных каналов, потеряем в гибкости настроек.

Что если попробовать другую крайность: обобщить разные сигналы до одной математической модели, а нюансы разных сигналов описывать параметрами этой модели? К такому подходу моя команда пришла после разработки нескольких навигационных приемников. Сейчас мы используем унифицированные каналы, инициализируя их нужными параметрами при старте слежения за тем или иным сигналом.

Функциональная схема навигационного приемника
Функциональная схема навигационного приемника

Модель традиционных сигналов

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

Согласно формуле Вудворда, чем большую полосу занимает сигнал, и чем больше его спектр сосредоточен на краях выделенного диапазона, тем меньше шумовая ошибка оценки задержки его огибающей. Спутник передает навигационные данные (информацию о своем положении и т.п.) с низкой скоростью, что не приводит к существенному расширению спектра сигнала. Поэтому для увеличения точности оценки задержки сигнала его дополнительно модулируют спектрорасширяющей последовательностью.

Пожалуй самые популярные сигналы, которые можно встретить в каждом смартфоне, - это сигналы GPS L1C/A и ГЛОНАСС L1OF. В этих сигналах в качестве спектрорасширяющей последовательности используются дальномерные коды с периодом в 1 мс и длиной 1023 и 511 символов соответственно. Эти последовательности являются псевдослучайными, формируются с помощью линейных генераторов на сдвиговых регистрах. Модель таких традиционных сигналов, как C/A и OF, проста:

S\left( t  \right) = A C D \cos \left( 2 \pi f_0  t  + \varphi \right),

где

  • A = A(t) - амплитуда сигнала, пропорциональная корню из его мощности,

  • C = C(t) - модуляция дальномерным кодом, принимает значения +1 и -1, смена значений происходит часто (2 мкс или менее),

  • D = D(t) - модуляция символами навигационного сообщения, смена значений происходит редко (2 мс или более), а сами значения заранее не известны приемнику,

  • f_0 - несущая частота, например, 1575.42 МГц для GPS L1C/A, \varphi- начальная фаза.

    Сигнал ГНСС с модуляцией дальномерным
кодом и навигационным сообщением
    Сигнал ГНСС с модуляцией дальномерным кодом и навигационным сообщением

Обобщаем на новые сигналы

После нескольких десятков лет эксплуатации GPS и ГЛОНАСС с традиционными сигналами встал вопрос о модернизации систем, включая добавление новых сигналов. Задача разработки сигналов возникла и в Galileo с Beidou, создаваемых с нуля. Разработчики стали упражняться в попытках угодить всем потребителям одновременно, героически борясь с конфликтующими требованиями:

  • высокая потенциальная точность и низкая ошибка многолучевости;

  • простота приемной аппаратуры и низкое энергопотребление;

  • минимизация влияния от/на другие радиосистемы;

  • постоянство огибающей (высокий КПД усилителя на спутнике) и уплотнение со старыми сигналами;

  • использование ранее распределенных под спутниковую навигацию частот;

  • чувствительность и помехоустойчивость при большей скорости передачи данных.

Схемы модуляции усложнились. Например, в GPS L2C применили посимвольное уплотнение двух сигнальных компонент, когда они передаются по-очереди: символ от одного, символ от другого. Эта же схема используется в сигналах ГЛОНАСС с кодовым разделением.

В некоторых сигналах применили оверлейные (они же вторичные) коды. С их помощью улучшаются корреляционные свойства сигналов, один сигнал меньше мешает приему другого.

Отдельная хитрость - использование цифровой поднесущей, т.е. умножение сигнала на меандр. Это приводит к расщеплению спектра сигнала, на нем появляются два лепестка. Если использовать новый сигнал на одной несущей со старым, это разнесет их по спектру, и они меньше будут влиять друг на друга. В зависимости от особенностей реализации этот прием называют BOC (binary offset carrier), AltBOC, TMBOC, CBOC, QMBOC и т.д.

Сигнал ГНСС с модуляцией дальномерным
кодом, цифровой поднесущей, оверлейным кодом и навигационным
сообщением
Сигнал ГНСС с модуляцией дальномерным кодом, цифровой поднесущей, оверлейным кодом и навигационным сообщением

Если всё объединить, получаем обобщенную модель навигационного сигнала:

S(t) = A B C M O D \cos (2 \pi f_0 t + \varphi)

где в дополнение к введенным ранее функциям

  • B = B(t) - модуляция цифровой поднесущей, принимает значения +1 и -1, смена значений происходит часто (половина мкс или менее),

  • M = M(t) - П-функция размещения во временном слоте, принимает значения +1 и 0 внутри и вне временного слота соответственно, смена значений происходит часто (половина мкс или менее),

  • O = O(t) - модуляция оверлейным кодом, принимает значения +1 и -1, смена значений происходит редко (1 мс или более).

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

Сигналы системы GPS

Система GPS сменила уже несколько поколений спутников, сейчас продолжают функционировать аппараты от Block IIA до Block III.

Связь излучаемых сигналов с типом навигационного спутника GPS
Связь излучаемых сигналов с типом навигационного спутника GPS

В процессе модернизаций были добавлены гражданские сигналы L2C на второй несущей частоте, военные криптозащищенные M сигналы. С Block IIF начали вводиться сигналы L5 на третьей несущей частоте с полосой 20 МГц, а Block III подарил нам сигналы L1C. Последние со временем могут заменить C/A в наших смартфонах и сделать доступной для гражданских пользователей функцию цифровой подписи для защиты от спуфинговых атак.

Параметры обобщенной модели для сигналов GPS собраны в таблице (кликните для увеличения):

Сигналы системы ГЛОНАСС

Количество модификаций спутников ГЛОНАСС меньше, чем в GPS. Но по разнообразию заявленных сигналов они не отстают. Основными сигналами остаются традиционные сигналы с частотным разделением, но с выводом новых спутников ГЛОНАСС-К2 мы увидим и новые сигналы с кодовым разделением. А там и BOC модуляция, и временное уплотнение, и прочие изыски.

Параметры обобщенной модели для сигналов ГЛОНАСС собраны в таблице (кликните для увеличения):

Сигналы системы Galileo

Галилео изящно вписался в частотный план навигационных систем. Его сигнал E1 по назначению и параметрам близок к L1C GPS и B1C BDS. В тестовом режиме он уже сейчас включает цифровую подпись для защиты от спуфинга. Сигнал E5 использует модуляцию AltBOC и образует самый широкополосный совокупный сигнал из всех существующих, целых 50 МГц. При разработке системы сигнал E6 предполагался коммерческим, по отдельной подписке. Но несколько лет назад его дальномерные коды были открыты, а на днях опубликована и спецификация сообщения C/NAV.

Параметры обобщенной модели для сигналов Galileo собраны в таблице (кликните для увеличения):

Сигналы системы Beidou

Темпы обновления и развития системы Beidou поражают. Сейчас система находится в третьей фазе, за прошлые 2-3 года спутниковая группировка почти полностью обновлена. Сигналы третьей фазы напоминают сигналы Galileo и хорошо дополняют американскую и европейскую системы.

Параметры обобщенной модели для сигналов Beidou собраны в таблице (кликните для увеличения):

Заключение

При всем разнообразии навигационные сигналы современных ГНСС могут быть приведены к общему описанию, что позволяет унифицировать программные и аппаратные блоки, их обрабатывающие. Эта унификация упрощает разработку и тестирование приемника, подсказывает как выстраивать архитектуру программного обеспечения и какие интерфейсы использовать. Упрощаются аналитические расчеты, их достаточно провести для обобщенной модели, а затем редуцировать до требуемого сигнала.

Приведенное в статье описание является высокоуровневым и не затрагивает реализацию блоков обработки таких сигналов. Кроме того, за бортом остался канальный уровень передачи данных (data link layer) с вопросами синхронизации, декодирования и хранения сообщений. Он тоже требует обобщения, но об этом как-нибудь в другой раз.

Комментарии (41)


  1. lab412
    02.08.2022 09:06
    +2

    У меня давно был вопрос. Все говорят до сих пор что GPS имеет "военные" частоты и "гражданские". Первые дают точность в миллиметры чтобы самолёты летали и ракеты падали куда надо. Вторые частоты для "обычных людей" и там точность такая что не всегда машина даже может понять на какой полосе она едет... Но это все "слухи", а на практике как? Вся эта байка в моем представлении разбивается о то, что если сигнал излучается и нет фидбэка назад, то никто не запретит принять "военный" сигнал и использовать для того чтобы кататься на велике. Вопрос лишь в том, что может быть закрытый протокол, но за 30 лет использования его бы уже давно изучили и разобрали по полочкам, хотя бы потому что он был 30 лет назад придуман а не вчера. Тот же GSM давно "реверснули" и получили кучу плюшек...


    1. Korogodin Автор
      02.08.2022 09:19
      +15

      "Военные" сигналы GPS - это сигналы с P(Y) (L1P, L2P в таблице) и M (L1M, L2M в таблице) кодом. У них в 10-20 раз шире полоса, чем у соседних гражданских сигналов. Это позволяет существенно снизить ошибку многолучевости и шумовую ошибку, но все остальные источники ошибок никуда не уходят. Поэтому при прочих равных можно говорить об увеличении точности позиционирования раза в два.

      Прелесть M и P сигналов в другом:
      1. Их дальномерный код является, по-сути, хэшем от текущего времени. Ключики периодически меняют, сломать их тяжело. Это защитает от спуфинга и ретрансляционных помех.
      2. Широкая полоса увеличивает на порядок помехоустойчивость, что в разы сокращает радиус действия помехопостановщика
      3. У M сигнала есть режим spot beam, когда его мощность поднимается на два порядка на ограниченной территории


      1. lab412
        02.08.2022 11:35
        +1

        ну я так и не понял, почему они "военные" и "не для всех" если известно что это за сигнал? ну так почему в машины ставят "плохой" приёмник? если есть спецификация - то почему никто не разработал приёмник и не продаёт?


        1. Korogodin Автор
          02.08.2022 11:39
          +7

          Ключи распространяются только среди специальных потребителей, да и спецификация открыта лишь частично.

          Есть приемы, позволяющие принимать эти сигналы без ключа, но с существенной потерей в отношении сигнал/шум. Несколько десятелетий назад сигналов и спутников было мало, это было актуально. Реализация встречается в старых геодезических приемниках


          1. lab412
            02.08.2022 14:22
            -2

            берем готовый девайс с ключом, его всё равно никто не будет проверять так как обратной связи нет... реверсим... профит... такое делается на право и налево во всех отраслях и софтовах, видимо просто GPS нафик никому не сдался, как тот самый неуловимый Джо...


            1. Korogodin Автор
              02.08.2022 14:30
              +4

              Ключи индивидуальные для каждого приемника, они хранятся в аппаратном SAASM блоке. Даже если его расковырять, ключ скоро сменится и старый станет бесполезным.


              1. pulsework
                03.08.2022 10:24
                +1

                каким образом новый ключ попадет в девайс?


                1. Korogodin Автор
                  03.08.2022 10:31

                  Мне, к счастью, не приходилось получать такой ключ. Но могу предположить, что по любому доверенному каналу.

                  Тут главное обеспечить целостность ключа. Если он будет перехвачен, то ничего страшного. А вот если искажен, то с приемом сигналов будут проблемы.


                1. vadimr
                  03.08.2022 10:35

                  Секретчик из штаба приедет с секретным чемоданом и его прошьёт.


            1. vadimr
              02.08.2022 21:34

              У военных, в отличие от гражданских применений, шифрование построено на одноразовых ключах из шифроблокнотов. Его нельзя вскрыть раз и навсегда, а только на время действия ключа, которое весьма невелико. Дальше придётся снова с нуля вскрывать вторую строчку шифроблокнота и т.д.

              Но в реальности военные просто аннулируют шифроблокнот утраченного девайса.


              1. pulsework
                03.08.2022 10:25

                откуда пентагон узнает что девайс утрачен? их же миллионы?


                1. vadimr
                  03.08.2022 10:32

                  Их далеко не миллионы.

                  Если он работает в военном режиме GPS (а это, в основном, только стратегические вооружения), то в нём содержатся секретные ключи и, соответственно, применяется совершенно секретный шифроблокнот. Утрату секретного или, тем более, сов. секретного носителя невозможно не заметить даже при том бардаке, который, по слухам, бывает иногда в Пентагоне.

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


                  1. pulsework
                    03.08.2022 10:37

                    HIMERAS оснащены GPS - их сейчас в У используют сотнями если не тысячами, несколько из них захвачена на складах. Часть упала не взорвавшись... Возможно похожа ситуация с натовскими 155 мм с цифровым наведением...


                    1. vadimr
                      03.08.2022 10:39

                      Они используют гражданский режим GPS, как и любая другая экспортная техника.

                      Причём думаю, что и в армии США HIMARS используют только гражданский режим. Не с руки артиллеристам связываться со всей этой бодягой.

                      Спецпотребители GPS – это, в основном, аппаратура вроде ядерных подводных лодок, авианосцев, стратегических бомбардировщиков и т.п.


          1. khe404
            02.08.2022 18:33
            +1

            Мне казалось, что GPS излучал на двух частотах L1 и L2. При этом L1 кодировался гражданским Y ключом, а L2 как гражданским Y так и военным P и в мирное время P ключ был в принципе доступен, но система имела возможность закрываться, и на гражданское использование налагать ограничения. Дополнительная же точность военного приемника достигалась за счет того, что время прохождения ионосферы для сигналов разной частоты разное, но различие этого времени дает понимание о состоянии среды между спутником и приемником.

            Что касается расковырять - то ключ не является фиксированным и может меняться.


      1. TyVik
        04.08.2022 19:21

        Но тем не менее, спуфинг GPS - вполне реальная тема даже для военных дронов.


    1. select26
      02.08.2022 10:19

      В статье написано, что точная временная метка находится внутри сигнала. Функция сигнала может включать генератор псевдослучайных последовательностей, например. Или симметричное шифрование/кодирование.

      Как реверснуть такое решение?

      Ну и из за однонаправленности потока ассиметричное шифрование применить сложно. А симметричное - предполагает хранение обеих частей шифра. А военные хранить умеют.


      1. Korogodin Автор
        02.08.2022 10:29

        Тут два варианта:
        1. Обеспечить формирование одних и тех же последовательностей как на борту спутника, так и в приемнике. Для этого ключ передавать по отдельным каналам (сигналы санкционированного доступа).
        2. Накладывать случайные последовательности так, чтобы они не исключали прием сигнала отдельными кусочками (codeless режим для сигналов санкционированного доступа, цифровая подпись для сигналов гражданских).


    1. saege5b
      03.08.2022 08:32

      Миллиметровую точность можно добиться и другим способом:

      Ставишь в точке с известными координатами второй приемник, обеспечиваешь устойчивую связь между двумя приемниками. Специальный софт. Готово. Не всегда, не везде, но в большинстве работает, все будет зависеть от "мобильного" приемника.


  1. suhoveev
    02.08.2022 09:14
    +2

    Напишите пожалуйста про развитие  глобальных навигационных спутниковых систем.


    1. Korogodin Автор
      02.08.2022 09:24
      +5

      Тема широкая, но я подумаю. Как мининимум, потребуется разбить на статьи о разных системах, а может и отдально писать про спутники, отдельно про наземный сегмент, отдельно про приемники.


    1. Korogodin Автор
      02.08.2022 14:13

      И таймлайн развития приемников неплохо, я надеюсь, отражают две вот эти статьи:

      https://habr.com/en/post/664110/

      https://habr.com/en/post/664132/


  1. Shiva-TM
    02.08.2022 12:25
    +1

    Очень плотно, сжато и по делу.


  1. IvanPetrof
    02.08.2022 14:39

    приемник определяет заложенное в сигнал время и сравнивает его с собственными часами.

    а как приёмник настраивает собственные часы? Ведь любой сигнал со спутника приходит с неизвестной задержкой?


    1. Korogodin Автор
      02.08.2022 15:00
      +2

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

      Уход собственных часов дает одинаковый вклад во все наблюдаемые задержки, как подставка. Эта подставка оценивается наравне с координатами приемника. Она выступает четвертой неизвестной в системе уравнений. По этой причине для первого определения нужны наблюдения хотя бы от четырех спутников.


      1. JPEGEC
        03.08.2022 07:29

        Зачем тогда вообще свое время? Ну сравнивать с нулем например.


        1. VT100
          03.08.2022 09:13

          Вот за ноль и берётся сигнал 4-го спутника, часы которого высоко синхронны с остальными. Иначе — в трёх уравнениях дальности от 3-х спутников будет свободная переменная и решая их систему можно оказаться в другой точке.


        1. Chupaka
          03.08.2022 09:20

          Время обычно идёт, а вот ноль со временем не меняется :)


        1. Korogodin Автор
          03.08.2022 09:49
          +1

          Можно и с нулем, но это не сократит число необходимых спутников.

          Собственно, если при старте приемника недоступна сотовая сеть, а его RTC по какой-то причине на работают (батарейка села), то он и стартует с нуля. В нашем приемнике таким нулем выступает 1 января 1970 года.

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


  1. alexhott
    02.08.2022 15:35

    Так есть или нет приемник работающий сразу со всеми 4-я системами навигации?


    1. Korogodin Автор
      02.08.2022 15:49
      +2

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


  1. Un_ka
    02.08.2022 18:42

    Почему GPS, Galileo, ГЛОНАСС имеют группировку спутников, насчитывающую 24-30 аппаратов, а Китай решил использовать 48?


    1. Korogodin Автор
      02.08.2022 18:44
      +1

      Сейчас одновременно работают спутники и второй фазы, и третьей. Со временем отключат аппараты второй фазы и переведут в резерв.


    1. vadimr
      03.08.2022 10:55
      +1

      Нельзя напрямую сравнивать, у них орбитальные плоскости тоже расположены по-разному. Бейдоу спроектирована так, чтобы очень плотно покрывать низкие широты, что ценно в условиях высотной городской застройки в городах Китая. А в Арктике, например, гораздо лучшее покрытие у ГЛОНАСС.


  1. Tangaroa
    03.08.2022 03:52
    +2

    статью можно дополнить вот такой ссылкой на самодельный приёмник GPS из палки-верёвки (ну, почти): http://www.aholme.co.uk/GPS/Main.htm


  1. vadimk91
    03.08.2022 07:59

    Не знаю с чем это связано, но на телефоне GPS test при старте первым делом находит спутники GPS и только примерно через полминуты ГЛОНАСС, BEIDOU и прочие. Особенность чипсета, мощность передатчиков, зона обслуживания или что-то другое?

    И даже когда приёмник поддерживает несколько систем, в работе больше десятка спутников, хороший SNR - ошибка определения высоты по прежнему может быть +-50 метров, хотя точность определения координат например 3 метра.


    1. Korogodin Автор
      03.08.2022 09:58

      Вероятно, от сотовой сети получает эфемериды только для GPS


  1. Soukhinov
    03.08.2022 10:56

    Правильно ли я понимаю, что если оснастить GPS-приёмник атомными часами, то будет достаточно принимать 3 спутника «за раз» для навигации, а если ещё оснастить «идеальным» (в некотором смысле этого слова) инерциальным модулем, то достаточно будет одного спутника «за раз»?


    1. Korogodin Автор
      03.08.2022 11:04
      +1

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

      Альтернативный вариант - разыграть количество спутников на время. По вращению Земли определить направление на север, по реакции опоры - вертикаль, пронаблюдав несколько часов один спутник - определить своё местоположение. В этом случае да, навигационная система могла бы состоять из одного спутника, идеальных часов и идеальных инерциальных датчиков. Но часа 2-3 на инициализацию уйдет.


      1. Soukhinov
        03.08.2022 22:33

        Спасибо. Мой вопрос был по второму сценарию — без возможности инициализации точными значениями.

        Допустим, я просыпаюсь в какой-то неизвестной пустыне (в более сложном случае — дрейфующим где-нибудь в океане). У меня есть навигационный приёмник с идеальными часами и идеальной инерциальной системой, но он выключен — не инициализирован. А в космосе только один рабочий спутник. Я своё оборудование включаю и начинаю принимать сигнал.


        1. Korogodin Автор
          03.08.2022 22:40

          Если при выключении питание сбрасывалось с часов и инерциалки, то придется подождать, как я сказал, 2-3 часа. За это время можно сделать гирокомпасирование и пронаблюдать спутник в разных точках небосклона. Гирокомпасирование даст ориентацию, спутник - положение. А дальше можно уже работать по инерциалке.