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

Рассмотрим все на примере кода (7; 3).

Образующий многочлен, исправляющий одиночные и двойные смежные ошибки, получается путем умножения образующего многочлена, исправляющего одиночные ошибки на (x 1) (см. 6.3.6.). Если у нас в предыдущем примере многочленом, исправляющим одиночные ошибки, был g(x) = x3 x2 1, то в качестве многочлена, исправляющего одиночные и двойные смежные ошибки, выбираем многочлен:

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

Если количество проверочных символов увеличилось до m = 4, то, если мы хотим оставить n = 7, количество информационных символов сократилось до k = 3.

Пусть ai(x) = 101, тогда

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

В линии связи подействовала помеха . Из линии связи получили ƒi*(x) = 1000100.

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

Решение

Последовательность действий та же, что и в случае исправления одиночных ошибок.

1. Выберем схему деления. Пусть это будет схема деления с m-ного такта, то есть g(x) = 10111; имеем:

Реализация декодирующего устройства, исправляющего одиночные и двойные смежные ошибки с двумя схемами деления
Рис. 6.14. Схема деления с m-ного такта

2. Определим остатки, на которые необходимо настроить схемы распознавания ошибок. Этих остатков должно быть два: один для ошибки и второй для ошибки (двойной смежной ошибки в старших разрядах). Пока одиночная ошибка будет двигаться по схеме деления до ячейки x3, никакого деления не будет, то есть

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

А с пятого такта включится обратная связь и будет деление:

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

Для двойной смежной ошибки получим аналогичным образом:

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

Итак, для исправления двойной смежной ошибки необходимо находить остаток 0101, а для одиночной ошибки – 1011. Если бы построили схему деления с первого такта, то остатки были бы другими: 1000 и 1100.

1. Спроектируем схемы распознавания остатков с минимизацией затрат.

Для исправления одиночной ошибки:

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

Для исправления двойной смежной ошибки:

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

2. Особо следует рассмотреть возможность коррекции схемы деления 2. Когда будет исправлена первая из двух смежных ошибок, то в схеме деления 2 остаток из 0101 должен перейти в остаток для исправления одиночной ошибки, то есть в 1011, а затем он должен перейти в 0000.

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

Работа идет корректно.

3. Нарисуем общую схему Д.У.:

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

4. Приведем таблицу потактовой работы декодирующего устройства.

Таблица 6.7

Реализация декодирующего устройства, исправляющего одиночные и двойные смежные ошибки с двумя схемами деления
№/№ тактов Вход ƒi*(x) Состояние ячеек схем деления Выход Примечание
x0 x1 x2 x3
1 1 1 0 0 0 Шло заполнение схемы деления, т.к. в x3 был всегда ноль
2 0 0 1 0 0
3 0 0 0 1 0
4 0 0 0 0 1
5 1 0 1 1 0 Шло потактовое деление в схеме деления 1. На 7 такте перезапись остатка в схему деления 2.
6 0 0 0 1 1
7 0 1 1 1 1
8 0 0 1 1 1 Начало выхода информации из регистра
9 1 0 1 0 0 Остаток соответствующий 2-ой смежной ошибке
10 1 1 0 1 1 Коррекция ошибки и остатка
11 0 0 0 0 1 Коррекция 2-ой ошибки и остатка
12 0 0 0 0 1  
13 0 0 0 0 0  
14 0 0 0 0 0  

В таблице 9 получен требуемый результат.

Примечание. Не всегда коррекция остатка проходит так удачно: из остатка двойной смежной ошибки получается остаток для одиночной ошибки, а он превращается в ноль. http://peredacha-informacii.ru/ Для более сложных случаев возможно следующее решение:

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

Таким образом, происходит исправление двух ошибок подряд, если ошибки смежные, и одной ошибки, если смежных нет.