Декодирование

Главным инструментов процесса декодирования в обнаружении и/или исправлении ошибок в принятом кодовом слове является остаток от деления кодового слова на образующий полином. Этот остаток называют синдром ом ошибки.

Как и в случае кодирования, декодирование можно производить двумя основными способами:

1. табличный;

2. циклическим способом.

Для табличного декодирования предварительно должны быть подготовлена таблица декодирования циклическим кодом (ДЦК) для каждого конкретного случая такая таблица будет своя. Таблица ДЦК строится с учётом корректирующей способности кода: количество обнаруживаемых ошибок, количество исправляемых ошибок. В такую таблицу закладывается информация о каждом синдроме ошибки, начиная с 0 (кодовая комбинация принята без ошибок) и заканчивая комбинациями, сигнализирующими о возникновении неисправимой ошибки.

Процесс табличного декодирования состоит из нескольких этапов (рис. 3):

1. деление принятого кодового слова на образующий полином g (x);

2. выборка из таблицы ДЦК значения по адресу получившегося остатка;

3. анализ выбранного значения из таблицы;

4. подача информационного блока D на выход или сигнала о неисправимой ошибке.

Рис. 3. Декодирование табличным методом

Таблица ДЦК – таблица декодирования циклического кода;

БАР – блок анализатора результата таблицы ДЦК.

Алгоритм циклического декодирования:

1. принятое кодовое слово делится на образующий полином;

2. вычисляется вес остатка. Если вес остатка ws, то принятая комбинация складывается по модулю два с остатком. Сумма даст исправленную комбинацию. Если w > s, то

3. производим циклический сдвиг влево (можно и вправо, так как направление не влияет, но если двигаем в одну сторону, то направление сдвига необходимо сохранять) принятой комбинации, делим полученную в результате циклического сдвига комбинацию на образующий полином g (x). Если в остатке ws, то складываем делимое с остатком. Затем производим циклический сдвиг в обратную сторону полученной комбинации. Результат сдвига уже не содержит ошибок. Если после первого циклического сдвига и последующего деления остаток получается таким, что его вес w > s, то

4. повторяется процедура пункта 3 до тех пор, пока не будет ws, либо произведём n – 1 сдвигов. В этом случае

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

6. из неё извлекаются старшие m разрядов – информационный блок (рис. 4).

Данный алгоритм декодирования легко реализуется на схемах с регистрами с обратной связью.

Рис. 4. Декодирование циклическим методом

~ cW – принятое кодовое слово;

БЦС – блок циклического сдвига;

БАВ – блок анализатора веса;

D – исправленный информационный блок.

ЛИТЕРАТУРА

1. Мак-Вильямс Ф.Дж., Слоэн М.Дж. Теория кодов, исправляющих ошибки, 1979.

2. Питерсон У. Коды исправляющие ошибки. - пер. с англ. М.: «Мир», 1976.

3. Осокин А.Н., Каплинский К.В. Теория информации: лабораторный практикум для студентов специальности 220100 «Вычислительные машины, системы, комплексы и сети» Центра дистанционного образования. – Томск: Изд. ТПУ, 2000.

4. Темников Ф.Е. и др. Теоретические основы информационной техники, – М.: «Энергия», 1971.

5. Блейхут Р. Теория и практика кодов, контролирующих ошибки./Пер. с англ. – М.: «Мир», 1986.

6. Харкевич А. А. Борьба с помехами.– М.: Наука, 1965г. – 275 с.


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



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