Скачиваний:
79
Добавлен:
04.03.2014
Размер:
1.58 Mб
Скачать

42. Рекуррентный код. Кодирующее и декодирующее устройства. Пример.

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

Рекуррентные коды предназначены в основном для исправления пачек (пакетов) ошибок.

При этом предполагается наличие опреденного числа не искаженных символов, как до поступления первого искаженного символа пачки, так и после поступления последнего искаженного символа пачки.

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

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

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

В процессе кодирования проверочные символы размещаются между информационными так, чтобы на каждые nнепрерывно передаваемых выходных символов приходилосьkинформационных. Простой класс составляют (n;n– 1) – рекуррентные коды, у которых наkинформационных символов приходится только один проверочный.

В рассмотренном классе рекуррентных кодов за каждым информационным символом следует проверочный символ (n = 2; k = 1). Коды этого класса способны исправить пачку ошибок длины не более b при условии, что две соседние пачки разделены между собой защитным промежутком (3b + 1), т.е. между последним символом данной пачки и первым символом следующей пачки должно быть не менее (3b + 1) безошибочных символов. Наибольшая длина пачки b кратна двум. Конкретно исследуется код, обладающий способностью исправлять пачки ошибок длиной не более 4. Характеристики некоторых подобных кодов приведены в таблице 7.1.

Таблица 7.1

Максимальная длина исправляемой пачки ошибок (b)

Число ячеек

Защитный промежуток (3b + 1)

в кодирующем устройстве (b)

в декодирующем устройстве (2.5b)

2

2

5

7

4

4

10

13

6

6

15

19

8

8

20

25

10

10

25

31

12

12

30

37

Схемы кодирующего и декодирующего устройств приведены на рис. 7.3.

Рис. 7.3. Схема кодирующего и декодирующего устройств

Будем считать, что на вход поступает последовательность информационных символов (контрольная точка К1):

100100111001.

Синхронный коммутатор СК1 выдает на выход поочередно информационные символы и проверочные символы вырабатываемые сдвигающим регистром. Число ячеек памяти в кодирующем регистре равно b(4).

Процесс формирования проверочных символов показан в таблице 7.2.

Таблица 7.2

такта

Состояние ячеек регистра

Проверочные символы на выходе сумматора

1

2

3

4

 

0

0

0

0

 

1

1

0

0

0

0

2

0

1

0

0

0

3

0

0

1

0

1

4

1

0

0

1

0

5

0

1

0

1

1

6

0

0

1

0

1

7

1

0

0

1

0

8

1

1

0

0

1

9

1

1

1

0

1

10

0

1

1

1

1

11

0

0

1

1

0

12

1

0

0

1

1

13

 

 

 

 

1

Следовательно, последовательность проверочных символов (контрольная точка К2):

0010110111011.

Общая последовательность символов на выходе кодирующего устройства (контрольная точка К4), в которой на первом месте информационные, затем соответствующие проверочные:

100001100101101111010011.

Изменение значений символов в передаваемой последовательности, отражающей влияние помехи, осуществляется с помощью сумматоров по модулю два.

Предположим, что в канале связи произошло искажение 7-го, 8-го и 9-го символов (см. контрольную точку К3).

Последовательность на выходе канала связи (см. контрольную точку К5) имеет вид:

1000010111101101111010011,

где искаженные символы подчеркнуты.

Последовательность информационных символов на входе декодирующего устройства (см. контрольную точку т.в):

100010111001.

Последовательность проверочных символов соответственно имеет вид (т.с):

0011110111011.

Декодирующее устройство состоит из двух частей. Первая часть вырабатывает опознаватель ошибки (синдром), а вторая анализирует синдром и производит само исправление (узел коррекции). Процесс формирования последовательности символов в точке а показан в таблице 7.3.

Таблица 7.3

такта

Состояние ячеек регистра

Символы в точке а

1'

2'

3'

4'

1

1

0

0

0

0

2

0

1

0

0

0

3

0

0

1

0

1

4

0

0

0

1

0

5

1

0

0

0

1

6

0

1

0

0

0

7

1

0

1

0

1

8

1

1

0

1

0

9

1

1

1

0

0

10

0

1

1

1

1

11

0

0

1

1

0

12

1

0

0

1

1

13

 

 

 

 

1

Сформированная в точке а последовательность сравнивается с последовательностью проверочных символов, поступающих из канала связи, в результате чего на выходе (см. контрольную точку К7) вырабатывается опознаватель ошибки – синдром.

Последовательность проверочных символов:

0011110111011.

Последовательность в точке а:

0010101001011.

Последовательность в контрольной точке К7:

0001011110000.

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

Рассмотрим подробнее последовательность в точке К7. Будем считать, что произошел наихудший случай – исказилось b символов. Следовательно, будет поражено b/2 информационных и b/2 проверочных символов. До поступления первого ошибочного символа на входе регистр содержит безошибочные информационные символы. Поэтому в течение первых b/2 тактов в синдроме возникают единицы за счет ошибок в проверочных символах. На этом пачка ошибок заканчивается, и в дальнейшем на выходной сумматор формирователя синдрома будут поступать лишь безошибочные проверочные символы. За следующие b тактов единицы формируются в синдроме с начала за счет поступлений ошибочных информационных символов из первого полурегистра, а за тем – из второго. Итак последовательность в точке К7 (синдром) содержит:

1. Единицы на местах ошибок в проверочных символах.

2. Со сдвигом на b/2 от соответсвующих проверочных символов единицы на местах ошибок в информационных символах.

000100000000…

__0001100000…

____00011000…

Теперь видно, что произошла ошибка в 4-м проверочном и 4-м и 5-ом информационных символах (соответственно в 7-м, 8-м и 9-м символах общей последовательности). Вторая часть схемы (узел коррекции) позволяет провести исправление ошибок в информационных символах автоматически. Анализатор синдрома построен в точном соответствии с его структурой. На выходе схемы “НЕ” получим инвертированную последовательность, т.е. последовательность:

1110100001111.

На втором входе схемы “И” получаем последовательность, сдвинутую на два такта относительно последовательности в точке К7:

0000010111100.

На третьем входе схемы “И” получаем последовательность, сдвинутую относительно последовательности в точке К7 на четыре такта, т.е.:

0000000101111.

На выходе схемы “И” (на три входа) получаем последовательность (см. контрольную точку К8), которая должна исправить нашу последовательность информационных сигналов.

1110100001111

0000010111100

0000000101111

0000000001100 – последовательность в точке К8.

Поскольку корректирующий сигнал формируется через 3b/2 тактов, а информационные символы задерживаются только на b тактов, то возникает необходимость в дополнительной задержке информационных символов на b/2 тактов (b/2 = 2). Это осуществляется блоком задержки. Совместно с сумматором по модулю два он образует устройство исправления ошибок.

Последовательность в точке К6:

0000100010111001.

Последовательность в точке К8:

00000110000000.

Исправленная последовательность на выходе (см. контрольную точку К9):

100100111001.

На пути информационных символов в декодирующем устройстве имеется всего 3b/2 ячеек. Это соответствует 3b символам во входной последовательности. Отсюда, чтобы вывести все ошибочные символы из схемы требуется промежуток из 3b + 1 безошибочных символов. Чтобы не проводить исправление в случае появления ошибочных символов в этот период и предусмотрена схема “НЕ”.

Аналогичным образом строятся схемы кодирующего и декодирующего устройств для исправления пачки ошибок длиной не более b = 2; 6; 8; 10; 12 и т.д.