Проверка циклического кода на возможность исправления ошибок

 

Рассмотренная система кодирования позволяет обнаруживать и исправлять заданное количество ошибок. Факт существования ошибки при передаче блока по КС может быть обнаружен по остатку от деления на образующий полином. Если остаток от деления отличен от нуля, это свидетельствует о наличии ошибки.

Для поиска вектора ошибки Е используют следующий алгоритм.

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

 

Допустим, в некотором блоке закодированного сообщения умышленно была допущена ошибка.

5 строка:

B =

 

1 0 1 1 1 0 1 0 0 0 1 | 1 1 0 0 1

1 1 0 0 1                 1 1 0 1 1 0 1   

1 1 1 0 0

1 1 0 0 1

0 1 0 1 1

0 0 0 0 0

    1 0 1 1 0

    1 1 0 0 1

       1 1 1 1 0

       1 1 0 0 1

          0 1 1 1 0

          0 0 0 0 0

             1 1 1 0 1

             1 1 0 0 1

                0 1 0 0    

 

Вес остатка равен 1, следовательно, необходимо сложить его с сообщением.

 

 

Таким образом, ошибка в блоке сообщения была исправлена.

 

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

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



КОДИРОВАНИЕ ИНФОРМАЦИИ

СВЕРТОЧНЫМ КОДОМ

 

Необходимо построить сверточный код, способный обнаруживать и исправлять одну ошибку при передаче сообщения М = (АКСЕНЕНКО_И), закодированного с помощью метода Хаффмана.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: