Портрет

Лебедев Валентин Павлович
кандидат физико-математических наук, старший научный сотрудник Института солнечно-земной физики СО РАН

Протоколы спутниковой связи ‒ очень интересная тема, которая динамично развивается. Поговорим о протоколах спутниковой связи и проследим процесс того, как организуется протокол передачи данных.

#ПротоколыСвязи #спутник #ТехнологииБеспроводнойСвзяи


Протоколы спутниковой связи ‒ очень интересная тема, которая динамично развивается. Это видно хотя бы по тому, как оперативно на наших глазах поправляются отчеты и вносятся изменения в протоколы, допустим, PROXIMITY-1, цель которых обеспечить надежную передачу данных со спутниками, разворачиваемыми на низкой орбите Земли, такими как система телекомунационных спутников Starlink. 

С полным каталогом возможных протоколов системы спутниковой связи можно ознакомиться на сайтах Международного Комитета по космическим системам передачи данных (Consultative Committee for Space Data Systems - CCSDS). По ссылке: https://public.ccsds.org/default.aspx можно ознакомиться с теми документами, которые прямо сейчас редактируются. В Международный Комитет по космической передаче данных входят наиболее солидные и опытные люди, которые с разных стран и с разных отраслей приносят свой опыт. Например, в тестовом режиме спутники системы Starlink, которые сейчас выведены на ближнюю орбиту Земли, передают телекоммуникационную информацию. Телекоммуникационная информация - это информация, которая передается со спутника на Землю (DownLink), терабайты данных в сутки, которые оперативно анализируются, и по результатам анализа проходят необходимые прошивки, вносятся изменения в программы общения и протоколы. Со спутника на Землю - это телеметрическая информация, с Земли на спутник - это уже телекоманды, так чтобы не путаться их разделяют, они отличаются частотным диапазоном, то есть рабочая частота DownLink и Uplink, направление тоже разное. 

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

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

Итак, к нам поступают данные, и на этом уровне идет разговор о физическом канале, о физическом уровне передачи данных. Что происходит на этом уровне?  Модулированный сигнал преобразуется в битовый поток данных. В стандарте, конечно, предусматриваются возможные виды модуляции (манипуляции): 

  • фазовая манипуляция  (Phase-Shift Keying PSK),

  • двоичная фазовая манипуляция (Binary Phase-Shift Keying BPSK),

  • квадратурная фазовая манипуляция (Quadrature Phase Shift Keying QPSK),

  • восьмеричная фазовая манипуляция (8-PSK). 

Те способы модуляции, которые уже зарезервированы на международном уровне, более предпочтительные, потому что в данном случае ваши разрабатываемые протоколы будут нормально взаимодействовать с уже разработанным “железом”, так как это “железо” уже знает, как работать с данным видом модуляции. Конечно, вы можете придумать более сложный уровень модуляции. Я думаю, что в дальнейшем будут предложены виды модуляции, которые позволяют еще больше уплотнить информацию в каналах, но сейчас в основном используются фазовая модуляция и фазовая модуляция одновременно с амплитудной модуляцией. 

На физическом уровне модулированный сигнал преобразуется в битовый поток данных. В данном случае на физическом уровне также необходимо предусмотреть еще и тонкости при работе с сигналами, то есть могут быть какие-то искажения или могут быть даны рекомендации, как делать поправку на доплеровское смещение частоты - это очень важно, потому что спутник может лететь от наблюдателя со скоростью, допустим, 7 км/с и, если он работает на частоте 10 ГГц, то доплеровское смещение частоты означает, что несущая частота на приемнике отличается от несущей частоты на передатчике. Это связано с движением объекта. Если вы наблюдаете объект, какой-то спутник, который движется относительно вас вдоль луча, который соединяет вас и спутник со скоростью 7 км/с, а спутник работает на несущей частоте примерно 10 ГГц, то доплеровское смещение частоты получится примерно 200 кГц, а это уже достаточно много. То есть если не делать поправку на доплеровское смещение частоты, то за счет доплеровского смещения сигнал может выйти за данный частотный диапазон, и вы его просто не увидите. Поэтому очень важно также на физическом уровне смотреть как раз компенсацию доплеровского сдвига частоты. Сейчас это сделать несложно, потому что спутник движется по законам небесной механики, его координация и траектория известны, и соответственно поправку связанную с его движением можно посчитать, и сделать соответствующую коррекцию. 

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

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

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

Очень важно понимать, что в заголовке еще указывается. Кроме того, что номер блока, также должна быть приведена техническая информация о космическом аппарате, который блок передает, чтобы можно было разобраться с какого аппарата это принято. Поэтому ID космического аппарата в блоке передаваемых данных обязательно должно быть, и такой информации можно перечислить достаточно много. Подробнее можно посмотреть на сайте https://public.ccsds.org/default.aspx.

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

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

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

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

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

В случае, если мы говорим про телекоманды, то есть это передача с Земли на спутник, то есть несколько важных отличий. 

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

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

Вот такие важные отличия в форматах и протоколах передачи данных со спутника на Землю и с Земли на спутник. Для более подробного ознакомления с текущими  разрабатываемыми протоколами заходите на сайт https://public.ccsds.org/default.aspx, и можете посмотреть, как все это доводится, достраивается в реальном времени.

Для размышления

Подумайте, как и по какому принципу будет изменяться частота сигнала на приёмнике, если приёмник или источник будут двигать вдоль оси между ними?

Материалы

Последнее изменение: Saturday, 26 December 2020, 09:18