Обнаружение и исправление пачек ошибок
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Для произвольного линейного блокового (п, k)-кода, рассчитанного на исправление пакетов ошибок длины b или менее, основным соотношением, устанавливающим связь корректирующей способности с числом избыточных символов, является граница Рейджера: n – k ³ 2 b

При исправлении линейным кодом пакетов длины b или менее с одновременным обнаружением пакетов длины l ³ b или менее требуется по крайней мере b + l проверочных символов.

Из циклических кодов, предназначенных для исправления пакетов ошибок, широко известны коды Бартона, Файра и Рида-Соломона.

Первые две разновидности кодов служат для исправления одного пакета ошибок в блоке. Коды Рида-Соломона способны исправлять несколько пачек ошибок.

Особенности декодирования циклических кодов, исправляющих пакеты ошибок, рассмотрены далее на примере кодов Файра.

 

4.10.6 Методы образования циклического кода

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

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

Многочлен а(х), соответствующий k-разрядной комбинации безызбыточного кода, умножаем на хт, где m = n - k . Степень каждого одночлена, входящего в а(х), увеличивается, что по отношению к комбинации кода означает необходимость приписать со стороны младших разрядов m нулей. Произведение а(х)хт делим на образующий многочлен g ( x ). В общем случае при этом получаем некоторое частное q ( x ) той же степени, что и а(х) и остаток r (х). Последний прибавляем к а(х)хт. В результате получаем многочлен

f ( x ) = a ( x ) xm + r ( x )

 

Поскольку степень g ( x ) выбираем равной т, степень остатка r (х) не превышает m – 1. В комбинации, соответствующей многочлену а(х)хт, т младших разрядов нулевые, и, следовательно, указанная операция сложения равносильна приписыванию r (х) к а(х) со стороны младших разрядов.

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

a ( x ) xm = q ( x ) g ( x ) + r ( x )

 

Так как операции сложения и вычитания по модулю два идентичны, r (х) можно перенести влево, тогда что и требовалось доказать.

 

a(x)xm+ r(x) = f(x) = q(x)g(x)

 

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

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

Равенства для определения проверочных символов могут быть получены путем решения рекуррентных соотношений:

 

             (4.5)

 

где h -двоичные коэффициенты так называемого генераторного многочлена h ( x ), определяемого так

h ( x ) = ( xn + 1)/ g ( x ) = h 0 + h 1 x + … + hkxk

 

Соотношение (4.5) позволяет по заданной последовательности информационных сигналов a 0 , a 1 , ..., ak -1 вычислить n - k проверочных символов ak, ak +1 , ... ..., an-1. Проверочные символы, как и ранее, размещаются на местах младших разрядов. При одних и тех же информационных символах комбинации кода, получающиеся таким путем, полностью совпадают с комбинациями, получающимися при использовании предыдущего способа кодирования. Применение данного способа целесообразно для кодов с числом проверочных символов, превышающим число информационных, например для кодов Боуза-Чоудхури-Хоквингема.



Дата: 2019-07-30, просмотров: 227.