Файл: Зелигер Н.Б. Основы передачи данных учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 28.06.2024

Просмотров: 204

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Умножение полинома G.(xQj на одночлен вида х,! заключается в добавлении к этому полиному справа k нулей. Пусть G(x) — хі +

+ х2-НІ

=>- iliOlOl,

k —4, тогда

xhG(x) = x 4 (x4 + x2+ 1) = x8 + x 6 +

+ x4 =>-

101010000.

Разделим

теперь

xhG(x)

на

Р(х).

Пусть

Р ( х ) = х 4 + х + 1 =>

ЮОМ:

 

 

 

 

 

 

 

делитель

дуЮіЮіІОООО 10011

 

 

 

 

ш 1 0 0 1 1

 

1 0 0 1 1 0

 

 

 

 

 

 

 

0 1 1 0 0

 

 

 

 

 

 

 

 

 

0 0 0 0 0

 

 

 

 

 

 

 

делитель

дч 1 1 0 0 0

 

 

 

 

 

 

 

® 1 0 0 ІІІІ

 

 

 

 

 

 

 

делитель

 

 

 

 

 

 

 

 

 

 

0 ( 1 0 1 0

 

 

 

 

 

 

 

 

 

0 0 0 0 0

 

 

 

 

 

 

 

остаток

1 0 1 0

 

 

 

 

 

 

Процедура деления одного двоичного числа

(делимого)

на дру­

гое двоичное число

(делитель)

сводится

к последовательному сло­

жению по модулю два делителя

(в данном случае

1 0 0 1 1 )

с соот­

ветственными членами делимого

( 1 0 1 0 1 ), далее — с двоичным чис­

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

В кодирующем и декодирующем устройствах для замены про­ цедуры деления полинома на полином суммированием использу­ ются регистры сдвига с обратными связями с числом ячеек, рав­ ным степени образующего полинома, и сумматоры по модулю два, число которых равно весу образующего полинома, уменьшенному на единицу. Место включения сумматоров определяется структу­ рой образующего полинома Р(х). Например, для Р(х) =|1 + х + х4 число ячеек регистра сдвига равно четырем, число сумматоров по модулю два равно двум, причем сумматоры включаются перед не­

нулевыми членами полинома (х° и х).

После четвертой ячейки

(х4) сумматор на включается, поскольку

результат сложения

по

модулю два старшего разряда делимого со старшим разрядом

де­

лителя всегда равен нулю.

Рассмотрим один из вариантов кодирующего устройства для циклического (9,5)-кода с исправлением одиночной ошибки. Обра­ зующий полином для этого кода Р(х) = х4+ х + 1. Кодирующее ус­ тройство (рис. 2.13) состоит из двух регистров: регистра задержки (РЗ) и регистра сдвига (PC) с обратной связью, двух сумматоров по модулю два Si и S2 и двух ключей Кі и Кг-

Члены полинома G(x) вводятся параллельно в регистр задерж­ ки и в регистр сдвига, начиная со старшего члена (слева направо).

По окончании k тактов

(в данном случае k —4) первый член поли­

нома G(x) оказывается

в последней ячейке РЗ и PC. Последова-

78


тельное смещение членов полинома G(x) на k разрядов соответст­ вует умножению G(x) на xh. Для G(x) — xk + xz+\, x'LG(x) = x?+

+ .v6 + x4.

Далее ключ К\ размыкается, а ключ Кг замыкается, создавая в PC цепь обратной связи. С этого момента (с 5-го такта) начинает­ ся передача членов полинома G(x) с РЗ на выход схемы и одно-

РЗ

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

для циклического

кода

 

временно деление xhG(x) на Р(х).

Элементы,

выходящие из по­

следней ячейки ір'егжгрра PC, подаются (параллельно) по цепи об­

ратной связи к сумматорам

и S2,

в которых

производится сло­

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

Через т тактов (в данном случае т =5)

процедура деления

л:hG(x) на Р(х) закончится, и в ячейках PC

будет записан полу­

ченный остаток R(x). Затем ключ Кі замкнется, а Кг разомкнется,

и члены остатка

R(x)

будут направлены на

выход схемы, вслед

за переданными

регистром задержки членами полинома

G(x).

 

 

 

 

Таблица 2 . 8

 

 

Последова­

Последова­

Последова -

Положение ключей

тельность

тельность

тельность

такта

заполнения

заполнения

посылок на

 

 

 

ячеек РЗ

ячеек PC

выходе схемы

Кі — замкнут

 

1

1000

1000

 

/С2 — разомкнут

 

2

0100

0100

 

 

 

3

1010

1010

 

 

 

4

0101

0101

 

Кг — замкнут

 

5

1010

он о

1

 

6

0101

ООП

01

К\ — разомкнут

 

7

0010

1101

101

 

 

8

0001

1010

0101

 

 

9

0000

0101(остаток)

10101

замкнут

 

10

Поступление новой

 

 

 

 

комбі нации

 

79



•Кодовая комбинация на выходе кодирующего устройства будет иметь вид

F (х) — х + Xs ■4- X4 + л;6 + л:8

010110101.

R (х)

хк а (л)

Я (а-) Х к в ( X)

Последовательность заполнения ячеек регистров РЗ и PC (такт

за тактом) показана в табл.

2 .8 .

 

При заполнении ячеек PC первый элемент пятой строки обра­ зуется путем сложения по модулю два четвертого элемента преды­ дущей строки с очередным элементом, вводимым в регистр; второй элемент пятой строки образуется путем сложения по модулю два

четвертого элемента предыдущей

строки с ее первым элементом.

Д Е КО Д И Р У Ю Щ Е Е

УСТРОЙСТВО

Из ранее рассмотренного принципа обнаружения ошибок в при­ нятой кодовой комбинации циклического (п, іщ)-кода следует, что признаком, указывающим на наличие ошибок в данной комбина­ ции, служит остаток, получаемый в результате деления кодового полинома Н(х) или полинома ошибок Е(х) на образующий поли­ ном Р(х).

Полином Н(х), отображающий кодовую комбинацию, поступа­ ющую на вход декодирующего устройства, в общем случае, из-за помех в канале связи, отличается от полинома F(x), отображающе­ го кодовую комбинацию на выходе декодирующего устройства, на­ личием одного или нескольких ошибочных элементов. Рассмотрим один из вариантов декодирующего устройства для циклического (9, 5)-кода с исправлением одиночной ошибки.

Пусть F(x) = x+ x 3+xk + x6+x&=>- 0101 ІОІОіІ. Образующий по­ лином для этого кода Р(х) = 1+х+х'1 => 11001. Деление Н(х) на Р(х) заменим делением Е(х) на Р(х) . Так как каждый из девяти элементов кодовой комбинации может оказаться ошибочным, то число полиномов ошибок Е(х), участвующих в процедуре деления на образующий полином Р(х), равно числу разрядов принятой ко­ довой комбинации, т. е. девяти.

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

Декодирующее устройство (рис. 2Л4) состоит из регистра сдви­ га РСі на 9 ячеек, предназначенного для заполнения всех элемен-

Рис. 2.14. Структурная схема декодирующего устройства для циклического кода

80


t o b принятой кодовой комбинации, регистра сдвига РС2 на 4 ячей­ ки с обратной связью, используемого для деления кодового полино­ ма на образующий полином Р(х), дешифратора, на вход которого поступает остаток R(x) от деления Н(х) на Р(х) и устройства для исправления ошибки УИО (сумматор по модулю два), в котором происходит сравнение каждого элемента кодовой комбинации с сиг­ налом на выходе дешифратора.

■Последовательность заполнения ячеек регистра сдвига с обрат­ ной связью РС2 при делении каждого из 9 полиномов ошибок Е(х)

на образующий полином

Р(х)

показана в табл. 2.9.

Из таблицы

видно, что при наличии ошибки ів «пер­

 

 

Т а б л и ц а 2.9

вом ('Старшем) (разряде принятой ком­

 

 

 

 

 

 

бинации остаток от деления полино­

 

 

Лр5 разряда

 

мов '(1 0 1 0 )

запишется

в регистре пос­

 

 

 

ле 9 тактов. При наличии ошибки в

такта

1

2

9

каждом последующем разряде приня­

 

 

 

 

той комбинации [(2, 3,

4 ... ,9)

остаток

1

1000

 

 

от деления полиномов будет таким же,

 

 

но со сдвигом на один такт относи­

2

0100

1000

 

тельно .предыдущего.

 

 

 

 

3

0010

0100

 

При поступлении на вход дешифра­

4

0001

0010

 

тора остатка

Я(х) = 1 0 1 0

на

его вы­

5

1100

0001

 

ходе появится единица. Так как мо­

 

6

он о

1100

 

менты появления единиц

на

выходе

 

дешифратора совпадают с моментами

7

ООП

он о

 

появления

соответственных

разрядов

8

1101

ООП

 

кодовой комбинации на выходе реги­

9

1010

1101

1000

стра сдвига

 

РСь то

ошибочные эле­

10

 

1010

0100

менты будут исправлены .сумматором

 

11

 

 

0010

по модулю два.

 

 

 

 

 

 

В рассмотренном варианте декоди­

12

 

 

0001

рующего устройства к моменту поступ­

13

 

 

1100

ления каждой следующей комбинации

14

 

 

он о

исправление

ошибки

в '

предыдущей

15

 

 

ООП

комбинации

(на 'что в предельном слу­

 

 

16

 

 

1101

чае затрачивается 9 тактов) должно

 

 

быть закончено, т. е. (регистр сдвига

17

 

 

1010

РС2, осуществляющий деление, должен

18

 

 

 

быть полностью очищен. Поэтому не­

 

 

 

 

обходимо, чтобы декодирующее уст­

частотой: заполнение ре­

ройство работало с переменной тактовой

гистров — с

тактовой

частотой, равной

частоте поступления

ин­

формации,

а

исправление

ошибки — девятикратной тактовой

частотой. Тогда к началу поступления очередной кодовой ком­ бинации исправление ошибки в предыдущей комбинации бу­ дет закончено.

Сравнение схем рис. 2.13 и 2.14 со схемами рис. 2.Ш и 2.1.2 по­ казывает, что кодопреобразователи для циклического кода намно­ го проще, чем для кода Хемминга.

81