Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория / Циклические коды.doc
Скачиваний:
30
Добавлен:
03.07.2018
Размер:
3.42 Mб
Скачать

1.7.9 Пример 9

Дан код (7,4,3)

;

.

Переходим к порождающему полиному кода с dmin=4, для этого достаточно умножить порождающий полином исходного кодаg(x)на (1+x):

.

Число проверочных символов увеличивается на единицу за счет уменьшения на единицу информационных символов, тогда полученному полиному g`(x)соответствует код (7,4,3) с параметрами:.

Кодер циклического кода (7,3) приведен на рис.2б (построен с помощью обобщенной структурной схемырис.2)

рис.2б. Кодирующий регистр на основе

кода (7,3) с dmin=4

1.7.10 Пример 10

Дан код (7,3,4):

;

.

.

Пусть:

,

тогда:

Найдем r(x):

Итак,

.

Тогда кодовый вектор:

,

где первые три символа – произвольно выбранные информационные символы, а последние четыре – соответствующие им проверочные символы (счет справа налево).

Для реализации данного вида декодера

Структура декодера, приведена на рис.4а(построен с помощью обобщенной структурной схемы декодера см.рис.4)

рис.4а. Структурная схема декодера Меггита для кода (7,3,4)

в режиме исправления и обнаружения ошибок (частный случай) на основе

Промоделируем работу декодера для различных режимов передачи сообщения:

  • правильная передача;

  • однократная ошибка;

  • двукратная ошибка;

  • трехкратная ошибка;

В декодере селектор ошибок настроен на определенную ошибочную комбинацию, его работа не зависит от входного вектора, поэтому может моделировать как входной вектор, так и вектор ошибок. При подаче на вход вектора ошибок на n=7 такте получаем такое же значение синдрома, как и при моделировании входного вектора.

Режим приема безошибочной комбинации:

Состояние ключей

№ такта

Вход

Разряд регистра

D1

D2

D3

0

0

0

0

0

1

1

1

0

1

2

0

1

1

1

3

0

1

1

0

4

0

0

1

1

5

0

1

0

1

6

0

0

1

0

7

0

0

0

1

(см.схему)

На 7-ом такте работы генератор синдрома выработал комбинацию 000 и в ячейку памяти D3 записался 0, т.е. произошла правильная передача сообщения (см.таблицу анализа синдрома). Последующие 7 тактов принятое сообщение будет выталкиваться из буферного регистра на выход.

Режим однократной ошибки (ошибка обозначена красным цветом):

Состояние ключей

№ такта

Вход

Разряд регистра

D0

D1

D2

D3

0

0

0

0

0

0

1

1

1

0

1

1

2

0

1

1

1

1

3

0

1

1

0

1

4

0

0

1

1

1

5

0

1

0

0

1

6

1

1

1

1

0

7

1

0

1

1

1

8

0

1

0

0

1

9

0

0

1

0

1

10

0

0

0

1

1

11

0/1

0

0

0

0

(см.схему)

Режим однократной ошибки (моделируем вектор ошибок)

Состояние ключей

№ такта

Вход

Разряд регистра

D0

D1

D2

D3

0

0

0

0

0

0

1

0

0

0

0

0

2

0

0

0

0

0

3

0

0

0

0

0

4

1

1

0

1

1

5

0

1

1

1

1

6

0

1

1

0

1

7

0

0

1

1

1

8

0

1

0

0

1

9

0

0

1

0

1

10

0

0

0

1

1

11

0/1

0

0

0

0

(см.схему)

На 11-ом такте работы через ключ K1 поступает сигнал исправления ошибки (), и по обратной связи (обозначенной пунктирными стрелками) поступает сигнал коррекции в генератор синдрома и в счетчик (в таблицах обозначен серым цветом), происходит обнуление синдрома и счетчика. Не смотря на то, что исправление произошло на 11-ом такте, декодер работает 14 тактов (выталкивает из буферного регистра оставшиеся символы).

Режим двукратной ошибки:

Состояние ключей

№ такта

Вход

Разряд регистра

D0

D1

D2

D3

0

0

0

0

0

0

1

1

1

0

1

1

2

0

1

1

1

1

3

0

1

1

0

1

4

0

0

1

1

1

5

0

1

0

0

1

6

1

1

1

1

0

7

0

1

1

0

0

8

0

0

1

1

0

(см.схему)

Режим двукратной ошибки (моделируем вектор ошибок):

Состояние ключей

№ такта

Вход

Разряд регистра

D0

D1

D2

D3

0

0

0

0

0

0

1

0

0

0

0

0

2

0

0

0

0

0

3

0

0

0

0

0

4

1

1

0

1

1

5

0

1

1

1

1

6

0

1

1

0

1

7

1

1

1

0

0

8

0

0

1

1

0

(см.схему)

На 8-ом такте работы декодера открылись оба ключа (генератор синдрома выработал на предыдущем такте комбинацию 110 и в ячейке памяти D3 записан 0). На первом входе нижнего элемента «И» стоит 1 (поступила с элемента «ИЛИ» (вход 110, выход 1)), на втором также 1 (инверсивное состояние ячейки памятиD3), следовательно вырабатывается сигнал стирания буферного регистра. (Теоретически показано в таблице анализа синдрома).

Режим трехкратной ошибки:

Состояние ключей

№ такта

Вход

Разряд регистра

D0

D1

D2

D3

0

0

0

0

0

0

1

0

0

0

0

0

2

0

0

0

0

0

3

0

0

0

0

0

4

0

0

0

0

0

5

0

0

0

0

0

6

1

1

0

1

1

7

0

1

1

1

1

8

0

1

1

0

1

9

0

0

1

1

1

10

0

1

0

0

1

11

0

0

1

0

1

12

0

0

0

1

1

13

0/1

0

0

0

0

(см.схему)

Режим трехкратной ошибки (моделируем вектор ошибок):

Состояние ключей

№ такта

Вход

Разряд регистра

D0

D1

D2

D3

0

0

0

0

0

0

1

1

1

0

1

1

2

0

1

1

1

1

3

0

1

1

0

1

4

1

1

1

0

0

5

0

0

1

1

0

6

0

1

0

0

0

7

1

1

1

1

1

8

0

1

1

0

1

9

0

0

1

1

1

10

0

1

0

0

1

11

0

0

1

0

1

12

0

0

0

1

1

13

0/1

0

0

0

0

(см.схему)

На 13-ом такте работы через ключ К1 поступает сигнал исправления ошибки (), и по обратной связи (обозначенной пунктирными стрелками) поступает сигнал коррекции в генератор синдрома и в счетчик (в таблицах обозначен серым цветом), происходит обнуление синдрома и счетчика. Оставшиеся символы выталкиваются из буферного регистра. Декодер считает, что исправил ошибку, но на самом деле происходит трансформация принятого сообщения (одно сообщение заменяется другим).