Библиографическое описание:

Тимофеев А. С., Умысков А. В., Смоленков А. В., Блиялкин П. А. Алгоритм формирования пакетов данных для передачи по радиоканалу с использованием модифицированного байтстаффинга // Молодой ученый. — 2016. — №13. — С. 227-231.



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

При применении радиосредств необходимо учитывать зависимость качества радиосвязи от условий прохождения радиоволн и возможных помех в пункте приема. Шум радиоканала может оказывать значительное влияние на передачу пакетов, так как он вносит в них битовые ошибки. Для борьбы с этим используется помехозащитное кодирование. Однако помехозащитное кодирование пакета повышает нагрузку на приемник или вносит чрезмерную избыточность в передаваемые данные, что особенно важно для мобильных решений в связи с ограниченностью их источников энергии — аккумуляторов. Также качество канала связи может варьироваться в зависимости от многих факторов, поэтому алгоритм формирования пакетов, который хорошо работает в одних условиях, может оказаться бесполезным в других [2].

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

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

При неверных данных о границах пакетов приемник может пропустить начало пакета и не получить пакет вовсе, или пропустить его конец, что приведет к переполнению буфера приемника [3].

Общий алгоритм формирования пакетов.

Пара программных модулей, которые реализуют описываемый алгоритм формирования пакетов встраиваются в пакетную сеть и работают в режимах передачи и приема соответственно. Их разделяет синхронный канал связи, в котором присутствует шум [4]. Это означает, что на передаваемые данные накладываются битовые ошибки. Данное явление можно представить как операцию сложения по модулю 2 последовательности бит, некий процент которой является единицами (зависит от уровня шума), и передаваемых данных. Шум искажает содержимое пакетов, но их предварительная обработка передающим программным модулем позволяет восстановить их исходный вид принимающей стороной. Если по каким-то причинам принять пакет не удается (например, внезапное ухудшение качества канала или переполнение буфера приемника), то приемник отбрасывает его [5].

В отсутствии передаваемых пакетов канал содержит неопределенные данные. Передающая сторона посылает пакеты в некоторый момент времени. При этом приемник всегда прослушивает канал.

Для наглядности процесс изображен на рисунке 1.

\

Рис. 1. Передача пакетных данных по каналу связи

Для различных режимов работы (прием и передача) предусмотрены разные схемы данных и схемы алгоритмов. Основными данными, с которыми работает описываемый алгоритм в режиме передатчика, являются пакеты, подаваемые ему от прикладного ПО. Пакет данных модифицируется с помощью специальных последовательностей — процедура байтстаффинга [6]. Маркер начала и маркер конца являются специальными последовательностями, определяющими границы пакета. После завершения преобразований пакет становится готовым для отправки.

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

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

Схема алгоритма работы в режиме передатчика представлена на рисунке 2.

Схема алгоритма Передатчик

Рис. 2. Алгоритм работы в режиме передатчика

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

Схема алгоритма работы в режиме приемника представлена на рисунке 3.

Схема алгоритма Приемник

Рис. 3. Алгоритм работы в режиме приемника

Структура преобразованного пакета.

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

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

Всего специальных последовательностей 39 (с учетом длины маркера равной 8 битам). Две из них отводятся на обозначение конца и начала пакета соответственно (Н, К). Остальные 37 получаются в результате байтстаффинга данных передаваемого пакета согласно следующей логике.

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

Возможных вариантов искажения маркера одной битовой ошибкой — 8, двумя — 26. И того получается (формула (1)):

(1)

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

Структура пакета представлена на рисунке 4.

23213

Рис. 4. Структура преобразованного пакета

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

Тогда специальных последовательностей будет не 39, а 139, что получается из формулы (2).

(2)

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

Литература:

  1. От телеграфа до «военного интернета». [Электронный ресурс]. — Режим доступа: http://opkrt.ru/index.php/news/339-ot-telegrafa-do-voennogo-interneta/
  2. Военная техника связи. [Электронный ресурс]. — Режим доступа: http://elektronika-muk.ru/konspekt/voennaja-tehnika-svjazi.html/
  3. Прокис Джон. Цифровая связь. Пер. с англ. / Под ред. Д. Д. Кловского. — М.: Радио и связь. 2000. — 800 с.
  4. Интерфейсы. Синхронизация. Синхронные, асинхронные. Побитная, покадровая синхронизация. Форматы кадров. Битстаффинг, байтстаффинг. [Электронный ресурс]. — Режим доступа: http://studopedia.org/9–31760.html/
  5. Асинхронная и синхронная передачи. [Электронный ресурс]. — Режим доступа: http://supervideoman.narod.ru/4_4.htm/
  6. Bit Stuffing and Byte Stuffing. [Электронный ресурс]. — Режим доступа: http://girdhargopalbansal.blogspot.ru/2013/01/bit-stuffing-and-byte-stuffing.html/

Обсуждение

Социальные комментарии Cackle