Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Шляпоберский В.И. Основы техники передачи дискретных сообщений

.pdf
Скачиваний:
23
Добавлен:
27.10.2023
Размер:
19.24 Mб
Скачать

Т А Б Л И Ц А

6.13

 

6.13.

По состоянию

триг­

 

Состояние триггеров

геров

ТС\—ТС)

 

можно

 

однозначно

 

определить

кажен. ин-

 

тсг

тс.

тс.

 

фор. раз­

ГС,

номер

искаженного

раз­

ряда

 

 

 

 

ряда.

Это

достигается

 

 

 

 

 

 

1

1

0

0

тем,

что

каждому

синдро­

1

му соответствует

появле­

2

1

0

1

0

ние

сигнала

на

одном из

3

0

1

1

0

выходов

дешифратора.

4

1

1

1

0

В

конце

цикла

приема

в период между 10

и 1-м

5

1

0

0

1

импульсами

распредели­

 

 

 

 

1

6

0

1

0

теля

подается

управляю­

 

 

 

 

 

щий

сигнал

(101 ),

считы­

 

 

 

 

 

вающий

набранную

ком­

бинацию

и

одновременно

открывающий

дешифратор.

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

В качестве схемы исправления ошибок используются шесть сумматоров по модулю 2. На один ©ход каждого сумматора подается информационный разряд, а на дру­ гой заведен соответствующий выход дешифратора. Если сигнал на выходе дешифратора отсутствует, принятые информационные разряды без изменения поступают на выход сумматора. При появлении сигнала на каком-либо выходе дешифратора значение соответствующего инфор­ мационного разряда меняется на противоположное (0 превращается в 1 или 1 — в 0) .

В качестве дешифраторов может использоваться лю­ бая из рассмотренных в § 3.4 схем. Если код Хэмминга используется не для исправления, а только для обнару­ жения ошибок, то схема декодирующего устройства не­ сколько упрощается. В этом случае нет надобности в дешифраторе, поскольку любое состояние счетчиков, от­ личное от нулевого, свидетельствует об ошибке.

К о д и р о в а н и е

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

ц и к л и ­

ч е с к и х к о д о в .

Методы кодирования и декодирова­

ния циклических кодов определяются способами их за­ дания. Рассмотрим построение кодирующего и декоди­ рующего устройств циклического (п, &)-кода примени­ тельно к способу, основанному на делении многочлена комбинации простого кода q(x), умноженной на хг, на образующий многочлен Р(х).

360

Для построения такого кодирующего устройства не­ обходимо иметь два устройства: одно, обеспечивающее умножение многочлена на хг, другое, обеспечивающее

деление полученного произведения xrq(x)

на

Р(х).

Для

выполнения первой

операции

специального

устройства

не пробуется, так как умножение .многочлена на хг

озна­

чает добавление к

этому многочлену

справа г

нулей.

Рассмотрим подробнее вопрос

деления

многочленов.

Двоичные последовательности могут быть записаны двумя способами: или непосредственно в двоичной фор­ ме, или в виде многочленов. Между этими формами за­ писи имеется следующее соответствие. Единицы при ДРОИЧНОЙ форме записи свидетельствуют о наличии чле­ нов в многочлене, имеющих степень на единицу меньше порядкового номера разряда в двоичной записи при от­ счете разрядов справа налево. Нулям в двоичной записи соответствует отсутствие членов многочлена со степеня­ ми, также на единицу меньшими порядкового номера раз­ ряда, отсчитанного тем же способом. Следовательно, число разрядов при двоичной записи на единицу больше степени соответствующего многочлена. Обе формы запи­ си двоичных последовательностей имеют вид:

1) F1(x)=xs+x4+x3+x2+\;

Fi(x)s=

100011 101;

2) F2{x)=xu+x?+\\

F2(x) =

100000001 001.

Прежде чем рассмотреть особенности построения уст­ ройств, осуществляющих деление многочлена на много­ член, поясним несколько подробнее само деление. Пусть требуется разделить многочлен xs+x6 + x3 + x + 1 на мно­ гочлен х* + х+\. Запишем деление в столбик:

l . v » + 0 x ' + l ; r « + 0 ; ^ + 0

* 4 - l ^ + 0 * a + l * + l

1х*+0х3+0х2-\-\х+1

1Х 8+0Х 7 +0Л ?+1Д :5

+1Л :*

 

l * H - 0 x s + l x 2 - f - l * + l

 

 

 

№+\х*+\хъ+1х*+\х*ь

 

 

0 х 7 4 - 0 * в + 0 * 6

+ 0 х 4 + 0 л : 3

 

1 * » + 1 * 6 + 1 ; е 4 + 1 х 3 + 0 л - 2 1Д-»+0А:6 +0Л^+1Л-3 +1Л-2

1 х 6 + 1 ^ + 0 д ; 3 + 1 д - 3 + 1 л ;

6+0х*+0хЗ+1х2+\х

1*4 -|-0л:3 +0л:2 +0л:+1 1 * 4 + 0 л - 3 + 0 д - а + 1 л : + 1

Qx3-\-Qx2-\-lx-\-0 — остаток

361

Деление производится обычным способом, но ниж­

няя строчка

вычитается из верхней

по модулю

2, что

эквивалентно

сложению по модулю 2.

 

 

Запишем

теперь это же деление,

пользуясь

только

коэффициентами

многочленов:

 

 

 

~.

1010010ПЦ0011

 

 

 

w

10011

10 111

 

 

 

 

 

 

 

 

ш 0 0 0 0 0

 

 

 

 

 

- Л И Ю

 

 

 

 

 

^ 1 0 0 1 1

 

 

 

 

 

да n o i l

 

 

 

 

 

^ 1 0 0 1 1

 

 

 

 

 

^ 1 0 0 0 1

 

 

 

 

 

w 1 0 0 1 1

 

 

0010 — остаток

Мз этого примера ясно, что деление заключается в последовательном сложении по модулю 2 делителя вна­ чале со старшими членами делимого, затем со старши­ ми членами (начиная с первого значащего члена) полу­ чившегося остатка и так до тех пор, пока, наконец, сте­ пень остатка не станет меньше степени делителя. Такая последовательность операций (суммирования) при деле­ нии любого многочлена на многочлен Р(х) степени г может быть осуществлена регистром с обратными связя­ ми, состоящим из г ячеек и (z—1) встроенных суммато­ ров, где 2 — количество членов этого многочлена. Пос­ леднее объясняется тем, что сумматор для сложения старших разрядов многочлена Р(х) и последовательно­ сти информационных элементов не нужен, так как ре­ зультат сложения старших разрядов делимого и дели­ теля равен нулю. Место включения сумматоров опреде­ ляется структурой многочлена делителя Р(х).

Для рассмотренного выше примера схема регистраделителя приведена на рис. 6.12а. На вход регистра по­ ступает, начиная с высшего разряда, последовательность разрядов многочлена-делимого. Как только первый раз­ ряд этой последовательности появляется на выходе, про­ исходит суммирование по модулю 2 делителя и первых разрядов делимого и в регистре записывается остаток. Затем при появлении на выходе регистра первой едини­ цы остатка производится суммирование делителя с этим 362

остатком и т. д. Наконец, после записи последнего раз­ ряда делимого в регистре фиксируется окончательный остаток. Очевидно, что для деления многочлена степени (/;—1) на регистр-делитель необходимо подать а тактов (по числу членов делимого).

Рис.

6.12.

Схемы

регистров-делителей

инфор­

мационных

последовательностей

соответствен­

но на

многочлен:

 

 

 

а) хЧ-x+l;

б) Х 2

+ А - + 1 ; в) хъ+х^+х2

+ 1

'Примеры

построения

регистров

с логическими обрат­

ными связями, обеспечивающих деление информацион­

ной

последовательности на

многочлены х2+х+\

и

хъ + х* + х2+\,

представлены

соответственно на

рис.

6.116,

в.

 

 

 

•На основании вышеизложенного нетрудно построить схему кодирующего устройства циклического кода.

Для примера рассмотрим построение преобразовате­ ля циклического кода (10,6), эквивалентного коду Хэм­

минга, исправляющего

одиночные ошибки.

Такой

код

характеризуется

/г' = 6,

г=4

и «='10 .

Из табл. 6.7

для

л = 4 выбираем

образующий

многочлен

Р(х)

=х*+х+1.

Кодирующее устройство такого кода будет состоять из двух сдвигающих регистров: одного для временной за­ держки информационных разрядов, а другого для деле­

ния

информационной

последовательности

на образую­

щий

многочлен

(рис.

6.13).

 

Схема рис.

6.13

работает следующим

образом. Ин­

формация на вход кодирующего устройства поступает в

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

коде.

Для деления

многочлена

x'G(x), имеющего

степень

( л — 1 ) , требуется

(п—1) + 1 =

363

= ft тактов. В нашем примере п. = 10. В течение первых г тактов оба регистра заполняются информационными разрядами. Затем в течение последующих k тактов про­ исходит деление информационной последовательности на

образующий

многочлен,

и

на

выход

поступают все k

 

_ Лш&я_£Э&£>кки

 

В х

Г г --,

j — I

i — 1

; — » ~l

ВИХ

а-

 

 

 

 

 

>

!

4

I

... (_

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

информационных разрядов комбинации (ключ

/ закрыт,

а ключ // открыт). Остаток R(x) от деления

комбина­

ции первичного кода на образующий многочлен фикси­ руется на элементах регистра-делителя. Далее ключ // закрывается, разрывая обратную связь и исключая влияние выхода регистра на его вход, а ключ / открыва­ ется. В течение последующих г тактов на выход коди­

рующего устройства поступает остаток R(x),

а оба ре­

гистра заполняются первыми г разрядами

следующей

комбинации. Состояния обоих ключей вновь изменяют­ ся, и весь цикл повторяется для новой комбинации. Та­ ким образом, на выход кодирующего устройства посту­ пает вся «-разрядная комбинация, состоящая из первых k информационных и последующих г проверочных раз­ рядов.

Недостаток

описанного

кодирующего устройства —

необходимость

линии задержки

информации на г так­

тов — можно

устранить,

если

использовать несколько

видоизмененную схему деления многочлена на много­ член, представленную на рис. 6.14а.

Эта схема эквивалентна схеме рис. 6.13 в случае де­ ления многочленов, оканчивающихся г нулями. Только здесь деление начинается сразу с приходом первого раз­ ряда комбинации и оканчивается после прихода /г-го разряда. При использовании схемы рис. 6.14а дополни-

364

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

а)

т

Выл

Вл

6)

Вл

Рис. 6.14. Упрощенные схемы кодирующего устройства циклического кода

(ключ // открыт, а ключ / закрыт). Затем ключ // зак­ рывается и открывается ключ /. В течение последующих г тактов на вход подаются нули и из регистра на выход поступает остаток от деления R(x). При этом сам ре­ гистр очищается. По окончании передачи комбинации после п-го такта ключи возвращаются в исходные со­ стояния и начинается преобразование следующей ком­ бинации и т. д.

Рассмотрим теперь построение и работу декодирую­ щего устройства. На вход декодирующего устройства из

кснала

поступает

последовательность

H(x)=F(x)

+

+ Е(х),

где F(x) — исходная комбинация;

Е(х)—поме­

ха, представляемая

в виде многочлена от х, содержаще­

го единицы в тех разрядах, где произошли ошибки. Сог­ ласно структуре построения циклических кодов призна­

ком наличия ошибок в принимаемой

комбинации

Н(х)

является ее неделимость без остатка

на

Р(х) или,

что

т». же, неделимость без остатка Е(х)

на

Р(х).

 

365

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

члена Н(х)]; устройство для деления многочлена

Н(х)

ка образующий многочлен Р(х); устройство для

стира­

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

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

Рассмотрим схему декодирующего устройства цикли­ ческого (10,6) кода (рис. 6.15), исправляющего одиноч-

Запсшшкщий регистр

От 1/с/п-Йо ДШ Кл.\~-дюзиро-

Иония по нищ

 

 

 

 

Регистр-dsnumem

 

 

 

 

 

Рис. 6.15. Декодирующее

устройство

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

 

 

 

 

(10,6)-кода

 

 

 

 

 

 

 

ные

ошибки

(/г = 10, k = Q,

г—А). Поступающая

из

кана­

ла связи кодовая комбинация Н(х)

в течение десяти

так­

тов

записывается

в

запоминающий

регистр и

одновре­

менно делится

на

образующий

многочлен

Р(х)

=

— х4

+ х+1

!(ключ

закрыт). В результате деления

при

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

366

•Покажем, как но виду этого остатка определяется номер искаженного информационного разряда в комби­ нации. Одиночная ошибка в десятиразрядной кодовой комбинации может описываться одним из десяти мно­ гочленов ошибок Е(х):

1) 1000000000 — [Е(х)=х9] — ошибка в первом разряде;

2) ОЮООООООО — [Е(х)=ха] — ошибка во втором разряде;

9) 0000000010 — {Е(х)=х] — ошибка в девятом разряде;

10) 0000000001 — [Е(х)=Л] — ошибка в десятом разряде.

В рассматриваемом примере нет необходимости на­ ходить соответствующие остатки путем деления этих

многочленов

на Р(х)

= х 4 + х + 1, так как -все многочлены

отличаются

друг

от

друга

только количеством нулей,

следующих

после

единицы.

Поэтому для нахождения

всех остатков достаточно поделить только один много­ член Е(х)=х5 на Р(х). Чтобы найти остаток от деления многочлена х8 , .надо деление х9 закончить на один шаг

раньше, а чтобы найти остаток

от деления

х1

— на два

шага раньше и т. д.:

 

 

 

 

 

1000000 0001

10011

 

 

W

10011

100110

 

 

 

 

 

 

[ 0 0 1 1 | 0

 

 

 

 

 

| 0 Щ 0

 

 

 

 

 

1110010

 

 

 

 

 

© 10011

 

 

 

 

 

© | 1 0 И | 0

 

 

 

 

 

10011

 

 

 

 

 

1010Ц0

 

 

 

 

jloioj-

• остаток

 

 

(При делении многочлена

х 9

(100ОО00ОО0)

на Р(х) =

= x 4 + x - H выделены '(обведены) остатки

от деления

всех многочленов вплоть до х 4 — многочлена ошибки шестого разряда, т. е. все те, которые необходимо знать для реализации кода, исправляющего одиночные ошиб­ ки. Остатки отделения многочленов х3 , х2 , х и 1, степень

367

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

1) 1000000000^-^1010, 4) 0001000000^—иа00,

2)0100000000^—К) 101, 5) 0000100000^—^^0110,

3)0010000000-^-^1011, 6) 0000010000^^001.1.

Следовательно, посредством дешифрирования остат­ ка от деления можно определить номер искаженного раз­ ряда и его исправить.

В качестве дешифратора можно использовать любую нз рассмотренных в § 3.4 схем. Однако циклические ко­ ды позволяют осуществить исправление любого из п разрядов кодовой комбинации дешифрированием всего одной из комбинаций остатков, а не всех п. Это обуслов­ лено тем, что при делении многочлена, содержащего всего одну единицу, на Р(х) посредством регистра-де­ лителя, например, изображенного на рис. 6.14, состояние элементов регистра, после записи в него единицы, зави­ сит только от числа тактов (сдвигов) и вида обратных сг.язей. Поэтому каждый последующий остаток получа­ ется кз предыдущего путем одного сдвига.

Пусть после деления многочлена принимаемой кодо­ вой комбинации Н(х) получился остаток 1010, соответ­ ствующий ошибке в первом разряде комбинации. В этот момент все десять разрядов комбинации будут зафик­ сированы элементами запоминающего регистра (первый разряд — первым элементом, второй — вторым и т. д . ) . Со следующим тактом первый разряд комбинации, про­ ходя устройство исправления ошибки, появится на вы­ ходе декодирующего устройства. Однако под действием сигнала, поступающего с выхода дешифратора, который дешифрирует только комбинацию 1010, и проходящего

через ключ /, значение первого

разряда будет изменено

на противоположное,

т.

е.

произойдет

исправление

ошибки в первом разряде

(ключ открывается после за­

полнения

запоминающего

регистра).

 

Если

после деления

получился остаток

0101, соответ­

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

368

регистре-делителе в результате сдвига остаток примет значение 1010. Теперь при поступлении следующего так­ тового импульса на выходе дешифратора появится сиг­ нал, который исправит ошибку во втором разряде. Аналогичным, образом будут исправлены ошибки в ос­ тальных четырех информационных разрядах. Очевидно, что минимальное число тактов (сдвигов), требующееся для исправления ошибок равно числу информационных разрядов в комбинации (в нашем примере оно равно шести). После исправления ошибки необходимо полно­ стью очистить регистр-делитель и только после этого можно начать анализировать (делить) следующую кодо­ вую комбинацию.

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

информационного разряда другой

комбинации. В

связи

с этим

декодирующее устройство

(рис. 6.15) должно ра­

ботать

от двух последовательностей тактовых импуль­

сов. Частота первой последовательности должна

рав­

няться

скорости передачи информации по каналу

связи,

а частота второй последовательности должна быть, по

крайней мере, в К раз выше

(/(—число

информацион­

ных импульсов в кодовой комбинации).

 

 

 

 

Учитывая сказанное, схема декодирующего устрой­

ства циклического (10,6)-кода примет вид,

изображен­

ный на рис. 6.16.

Запоминающий регистр

и

регистр-де­

литель

управляются

двумя последовательностями

так­

товых

импульсов: ТИХ

ТИ2,

причем

ТИ{

поступают

не­

прерывно,

а ТИ2

— через ключ //с

частотой,

в 6

раз

большей.

 

 

 

 

 

 

 

 

 

Принимаемая информация со скоростью, равной ча­

стоте ТИ\,

поступает

на вход

регистров. Если

приемное

устройство сфазировано по циклу, то после поступления 10-го разряда кодовой комбинации ключ // откроется и на регистры поступят тактовые импульсы ТИ2. Под дей­

ствием 77'/2 происходит исправление и перезапись

ин­

формационных разрядов в регистр-накопитель. Так

как

в

процессе деления

в регистре-делителе может оказать­

ся

дешифрируемая

комбинация 1010, сигнал с выхода

дешифратора на устройство исправления подается через ключ /. отпирающийся также импульсом с фазирующего

Соседние файлы в папке книги из ГПНТБ