Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
12667_Теор.кодирования (контр. раб.).doc
Скачиваний:
99
Добавлен:
10.04.2015
Размер:
6.58 Mб
Скачать

2.3.10. Декодирование циклических кодов

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

Подсчитывается вес остатка . Если он равен или меньше кратности исправляемых ошибок, т.е., то принятый КВ складывают по модулю 2 с остатком и получают исправленный КВ.

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

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

Пример

Предположим, что при передаче рассмотренного выше КВ произошло искажение 2-го разряда, т.е. принятый КВимеет вид:.

Решение

Согласно правилу, необходимо делить поступивший КВ на образующий многочлен и оценивать вес остатка.

Выполняем:

1

1

0

1

1

1

0

1

0

1

1

1

0

1

1

1

1

0

1

1

0

1

1

1

1

0

1

1

0

1

1

1

1

0

0

1

0

1

1

1

1

1

. Остаток не нулевой, следовательно, есть ошибка.

Вес – нужно осуществить циклический сдвиг принятой кодовой комбинации влево и повторить деление:

1)

1

1

0

1

1

1

0

1

0

1

1

1

0

1

1

0

1

1

1

0

1

1

1

0

1

. Опять, поэтому выполняем еще один циклический сдвиг влево и повторяем деление:

2)

1

0

1

1

1

0

1

0

1

1

1

0

1

1

1

0

1

1

1

0

1

1

1

0

1

1

1

0

1

1

0

0

1

. Здесь, поэтому складываем сдвинутую кодовую комбинацию с остатком по модулю 2:

0

1

1

1

0

1

1

0

0

1

0

1

1

1

0

1

0

Полученную после суммирования комбинацию циклически сдвигаем вправо на 2 такта:

0

1

1

1

0

1

0

– 1-ый сдвиг вправо

0

0

1

1

1

0

1

– 2-ой сдвиг вправо

1

0

0

1

1

1

0

Исправленная кодовая комбинация – 1001110.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]