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

книги из ГПНТБ / Бездудный, В. Г. Техника безопасности в шахтном строительстве

.pdf
Скачиваний:
5
Добавлен:
22.10.2023
Размер:
10.55 Mб
Скачать

широкое распространение в устройствах передачи дискретной инфор­ мации.

В качестве примера построения рекуррентных Кодов рассмотрим функциональные схемы кодирующего и декодирующего устройств цепного кода, исправляющего шестиразрядные пакеты ошибок [5J. Информационные символы поступают на вход регистра рис. 28, а. Синхронный переключатель подключает поочередно информационные и проверочные разряды. Каждый информационный элемент а,- участвует

Рис. 28. Функциональные схемы кодирующего (а) и декодирующего (б) устройств гюпного кода.

в формировании двух проверочных элементов Ь,- (сначала на сум­ матор по модулю два поступает импульс после ячейки 1, потом, пройдя последующие ячейки, он вновь поступит на сумматор, формируя уже другой проверочный элемент). Вместе с тем, каждый проверочный элемент bj формируется двумя информационными элементами at ^элементом, который находится в данный момент в ячейке 1, и элементом, который находится в ячейке 4). Таким образом, количество информа­ ционных и проверочных элементов всегда одинаково, и передаются

они так,

что за проверочным

разрядом

bj =

щ + аг-_3 идет

информа­

ционный

разряд <2;_6, за

проверочным

разрядом

= аг+3 +

+ a-i — информационный разряд а,_3 и

т. д.

Число ячеек в регистре

определяется длиной защитного промежутка и в данном случае равно f = 2 f + l = 2 - 3 + I = 7.

Декодирование цепного кода происходит следующим образом. Переключатель, работающий синхронно с переключателем шифратора, поочередно подключает на вход декодирующего устройства информа­ ционный и проверочный регистры (рис. 28, б). Если искажений в линии не было, то, когда в информационном регистре записаны: сц,-t-з в ячей­ ке 1, а,- в ячейке 4, а,_3 в ячейке 7, в проверочном регистре в этот момент в ячейке 7 записан bj+3 — аг+3 + alt а в ячейке 10 6/_3 =

120

= a{ -f- й;__з. Из информационных импульсов, поступивших в инфор­ мационный регистр, вновь образуются проверочные импульсы, как и в шифраторе. Если эти вновь образованные проверочные импульсы

совпадут с аналогичными импульсами, пришедшими из

линии, то

на выходах сумматоров а2 и Ь.2 сигналы будут отсутствовать.

В против­

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

При этом поступит импульс исправ­

 

_

 

 

ления, который обычно заключает-

 

Таблица

19

ся в замене

ошибочного сигнала

Рефлексный код

 

 

на обратный.

коды

представляют

 

Двоичный код

 

 

Блочные

Число

Код Грея

собой обширную группу двоичных

 

 

 

 

кодов, в которых каждое сообщение

0

0000

0000

 

передается

строго

определенным

1

0001

0001

 

набором символов,

и в зависимос­

2

0010

ООН

 

ти от способа разделения провероч­

3

ООН

0010

 

ных символов делятся на раздели­

4

0100

оно

 

5

0101

0111

 

мые и неразделимые. В разделимых

6

он о

0101

 

кодах информационные

разряды и

7

0111

0100

 

проверочные

позиции

всегда

рас­

8

1000

поо

 

положены на одних и тех же местах.

9

1001

1101

 

10

1010

1111

 

В неразделимых

кодах определение

11

1011

1110

 

правильности принятого сообщения

12

1100

1010

 

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

по количественному

13

1101

1011

 

сопоставлению

определенных

ка­

14

1110

1001

 

15

1111

1000

 

чественных признаков в передан­

 

 

 

 

 

ных и принятых сообщениях.

 

 

 

 

 

К неразделимым кодам относятся коды с постоянным весом, код

Плоткина.

К этой группе может быть отнесен и код Грея,

который сам

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

способностями, но

при

соответствующих

ограничениях

может

обнаруживать

одиночные

ошибки.

 

 

 

 

 

 

 

 

 

 

Код Грея представляет собой рефлексный код с двумя качествен­

ными признаками (табл. 19).

В этом коде каждая последующая ком­

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

121

которых кодовые символы предыдущей комбинации отличаются от кодовых символов последующей комбинации всеми символами (напри­ мер, 3 — 011; 4 — 100; 7 — 011; 8 — 1000; 15 — 01111; 16 — 10000 и т. д.).

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

диодов изменяется одновременно не больше чем на 1. Если на фотодиод падает свет, его сопротивление на­ много уменьшается. В этот момент ток резко возрастает. Это равно­ сильно передаче единицы кода. На

W рис. 29 младшие разряды располо­

IIIжены дальше от центра. Если идти по часовой стрелке, то сначала все семь диодов будут затемнены (код

 

 

0000000), затем освещается один ди­

 

 

од в младшем разряде (код 000000!),

С

\ Ф

далее один диод в следующем раз­

ряде (код 0000010) и т. д.

 

 

Рис. 29. Маска рефлексного кода.

Коды с постоянным весом

равномерные блочные коды с посто­

 

янным количеством единиц в каждой кодовой комбинации. К таким ко­ дам относятся широко используемые в телеграфии коды с постоянным соотношением разнополярных импульсов, например международный телеграфный код № 3 содержит три токовых и четыре бестоковых импульса. Увеличение или уменьшение количества токовых посылок в коде говорит о наличии ошибки.

Код Плоткина [57] — равномерный блочный код, позволяющий эффективно корректировать симметричные и независимые ошибки. Широкого применения он не нашел, так как требует для своей реали­ зации сложные декодирующие и кодирующие устройства.

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

122

К систематическим кодам относятся коды Хэмминга, Голея, Рида — Мюллера, Макдональда, Варшамова, Элайеса, Галагера [26, 53, 54, 561, а также обширная группа циклических кодов.

Систематические коды отличаются от рекуррентных тем, что в них формирование проверочных элементов происходит по k информа­ ционным элементам кодовой комбинации. В канал связи идет п-эле­ ментная комбинация, состоящая из k информационных и п k про­ верочных разрядов, тогда как в рекуррентных кодах проверочные элементы формируются путем сложения двух или нескольких инфор­ мационных элементов, сдвинутых друг от друга на расстояние, равное шагу сложения. Кроме того, в систематических кодах провероч­ ные символы могут образовываться путем различных линейных ком­ бинаций информационных символов. Декодирование систематических кодов также основано на проверке линейных соотношений между символами, стоящими на определенных проверочных позициях. В случае двоичных кодов этот процесс сводится к проверке на четность. Если число единиц четно, линейная комбинация символов дает О, в противном случае— 1.

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

(включая нулевую) N = 2k, число ненулевых комбинаций N — 2к

— 1. Для того чтобы код обладал корректирующими способностям», в нем должно быть какое-то количество добавочных символов d, создаю­ щих Определенную избыточность. Наличие добавочных символов

вкоде приведет к тому, что для передачи N сообщений потребуется не k, а п > k разрядов.

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

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

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

Используя выражение (44), можно записать d >• log2и + 1, или2

2d > n + l .

(92)

123

Так как d = п k, то

2* <

2п

(93)

я + Т

Формулы (92) и (93) устанавливают зависимость между числом информационных и проверочных разрядов систематических кодов. При этом производящая матрица уже не может быть квадратной, так как такой код содержит п >• & разрядов, а число ненулевых комби­

наций не увеличилось, а осталось равным 2* — 1. Ранг такой матрицы и число ее строк определяется числом к, а число столбцов — числом

tt ~ к -f- d.

Производящую матрицу строят при помощи единичной матрицы ранга k (матрица состоит из k столбцов и k строк, имеет единицы по главной диагонали и нули на оставшихся позициях) и некоторой добавочной матрицы, имеющей k строк и п к столбцов. Комбинации строк добавочной матрицы выбирают, исходя из следующих условий: каждая строка добавочной матрицы должна содержать не менее чем 4 — 1 единиц, а сумма по модулю 2 любых строк — не менее d — 2 единиц. Такое построение позволяет находить все оставшиеся кодовые комбинации путем суммирования по модулю 2 строк производящей матрицы во всех сочетаниях: по две, по три и т. д., пока не дойдем, в конце концов, до суммы всех строк.

Декодирование принятого сообщения и обнаружение возможных ошибок осуществляется при помощи проверочной матрицы. Построение проверочной матрицы производят следующим образом: строят единич­ ную матрицу с числом столбцов <i = п ■— к и слева приписывают матрицу, содержащую k столбцов и d строк. Сумма по модулю 2 ин-

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

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

Пример 10. Пусть требуется передать 16 сообщений. Построим систематиче­ ский код. исправляющий одну ошибку.

Из условия имеем: 16 = 2fe = 2*. Следовательно, k = 4; число добавочных символов для исправления одиночной ошибки d = 2S 1 = 3; п k -f- d = 7. Строим производящую матрицу.

 

1

2

3

 

4

5

6

74321

 

 

1

1 0

 

0

0

0

 

1

1

/од\

2

0

1 0

0

1

 

0 1

3

0

0 1

0

0

1

1

0

1

1

'

4

0

0

 

1

1

 

1

 

 

При построении добавочной матрицы необходимо следить не только за тем, чтобы число единиц в каждой ее строке было п > d — 1 (в рассматриваемом при-

124

мере п

3 — 1 =

2), но и за тем, чтобы

Систематический

код,

Таблица 20

кодовое расстояние

от строки к строке со­

 

 

 

 

ответствовало условию dr

d —2 (в рас­

исправляющий одиночную ошибку

 

сматриваемом примере

dr

3 — 2 = 1).

 

Кодовые

Номер сумми­

По производящей матрице (94) стро­

№ кода

комбинации

руемых строк

им все комбинации кода. Первые пять ком­

 

 

 

 

 

 

 

бинаций — это строки производящей мат­

 

 

 

 

 

 

 

рицы и нулевая комбинация, остальные —

1

0000

000

 

0

 

 

суммы по модулю 2

всевозможных сочета­

2

1000

011

 

1

 

 

ний строк производящей матрицы (табл. 20).

3

0100

101

 

2

 

 

Как

видим,

во

второй

колонке

4

0010

по

 

3

 

 

табл. 20 представлены комбинации систе­

5

0001

111

 

4

 

 

матического кода для передачи 16 сооб­

6

1100

по

1 + 2

 

щений. .

 

 

 

 

 

7

1010

101

1 + 3

 

Рассмотрим процесс обнаруже­

8

1001

100

1 + 4

 

9

оно

011

2 +

3

 

ния ошибочного разряда на примере

10

0101

010

2 +

4

 

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

11

ООП

001

3 +

4

 

12

1110

000

1 + 2 -4- 3

ных систематических кодов — кода

13

0111

100

2 +

3 +

4

Хэмминга.

 

 

 

 

14

1011

010

1 +

3 +

4

Хэмминг предложил методику

15

1101

001

1 + 2 +

4

[42], которая позволяет

так стро­

16

1111

111

1 + 2 + 3 + 4

ить корректирующий код,

что при

 

 

 

 

 

 

 

одиночном сбое

точно

указывается

место

в коде, где произошла

ошибка.

 

 

 

 

 

 

 

 

 

 

 

 

Предположим, необходимо исправить одиночную ошибку бинар­

ного кода. Такой код состоит из «и символов, несущих

информацию,

и пк контрольных (избыточных) символов. Всего символов в коде

 

 

 

 

 

 

 

п = пя +

пк.

 

 

 

 

 

(95)

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

число комбинаций 2"к,

чтобы свободно

различить п +

1 вариант.

Это предъявляет к

пк требование

удовлетворения

неравенства

2п* > я + 1.

(96)

Согласно выражению (95),

, 2 П = 2 п и + " к = 2Пи ■ 2 п к .

Используя формулу (96), записываем

2п> ( п + 1 ) . 2 \

где 2'1— полное число комбинаций кода.

Отсюда число информационных

символов кода,

и корректирующего одиночную ошибку

2пи <

2п

/х — 1

(97)

обнаруживающего

(98)

125

1
2
2
3
3
3
3
4
4
4
4
4
4
4
4
5

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

Для вычисления основных параметров кода задается количество либо информационных символов, либо информационных комбинаций —

N = 2"и. При помощи формул (96) и (98) вычисляют п и пк. Соотно­

 

Таблица 21

шения между п, пк и

пк для кода Хэм­

 

минга представлены

в

табл. 21.

Соотношения между

 

 

Зная основные

параметры коррек­

количеством

информационных

и контрольных символов

 

тирующего кода, определяют, какие

в коде Хэмминга

 

позиции сигналов будут рабочими, а

 

 

 

какие — контрольными. Практика пока­

п

«и

зала, что номера контрольных символов

1 0

20

31

41

52

63

74

84

95

106

117

12• 8

139

1410

1511

1611

удобно выбирать по закону 2' , где i — = 0, 1, 2, 3... — натуральный ряд чисел. Номера контрольных символов в этом случае равны 1, 2, 4, 8, 16, 32 .... Затем определяют значения контрольных ко­ эффициентов (0 или 1), руководствуясь следующим правилом: сумма единиц на проверочных позициях должна быть четной. Если эта сумма четна — значе­ ние контрольного коэффициента 0, в противном случае — 1.

Проверочные позиции выбирают следующим образом. Составляют таблич­

ку для

ряда

натуральных

чисел в

двоичном

коде. Число

ее строк равно

п — «и +

«к

Первой

строке

соответ-

проверочный коэффициент аъ втор

0001

а1

0010

« 2

ООП

а3

0100

ai

0101

«5

ОНО

ав

0111

а ,

1000

а 8

1001

а 9

1010

аю

1011

«IX

126

Затем выявляют проверочные позиции, выписывая коэффициенты по следующему принципу: в первую проверку входят коэффициенты, которые содержат 1 в младшем разряде, т. е. а1г а3, аъ, а7, а9, аи и т. д.; во вторую проверку — коэффициенты; которые содержат 1 во втором разряде, т. е. а.2, а3, а8, а7, а10, ап и т. д.; в третью проверку — коэф-

Номера проверочных позиций кода Хэмминга

 

 

 

 

 

 

Таблица 22

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Проверочные позиции (J7)

 

 

 

 

 

№ конт­

про­

 

 

 

 

 

 

 

 

 

 

 

 

рольного

верки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

символа

1

1,

3, 5, 7,

11, . . .

15,

18, 19, 22,

23, . . .

 

 

 

 

 

1

2

2,

3, 6, 7,

10,

11, 14,

 

 

 

 

 

2

3

4,

5, 6, 7,

12,

13, 14,

15,

20, 21, 22,

23, . . .

29,

30,

31,

40,

41,

4

4

8,

9, 10,

11,

12,

13,

14,

15,

24,

25,

26,

27,

28,

8

42, . . .

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

Пример И. Требуется передать комбинацию 0101, т. е. пИ — 4.

=

3,

при этом

Согласно табл. 21, минимальное число контрольных символов

п = 7. Контрольные коэффициенты будут расположены на позициях 1,

2,

4. Состав­

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

Ki, К2 Н Кз.

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 23

+

Первая

 

проверка:

сумма

 

П\

+

Лз +

Построение кода Хэмминга

Л5 +

Я 7

должна

быть

четной,

а сумма

Позициясим­ корволов­ ректирующе­ кодаго

Код

К\ 4* 0 + 1

+

1 будет четной при К\ — 0.

+

Вторая

 

проверка:

сумма

Л2 +

Пз +

без значений

со значениями

Пв +

Я 7 должна быть четной, а сумма

+

 

+

0 +

0 + 1

 

будет четной при К2 =

1.

 

контрольных

контрольных

 

 

коэффи­

коэффи­

+

Третья

 

проверка:

сумма

 

Л4 +

Л6 +

 

циентов

циентов

Лв +

Л2

должна быть четной, а- сумма

 

 

 

Кз + 1

+ 0 +

1 будет четной при Кз = 0.

1

к х

0

 

Окончательное

значение

корректирую­

щего кода записываем во вторую строку

2

Ко

1

табл. 23.

 

 

 

 

 

 

 

 

 

 

3

0

0

 

Предположим,

в канале связи под дей­

4

Кз

0

ствием

помех

произошло

искажение

кода,

5

1

1

и вместо 0100101

был принят

код

0100111.

6

0

0

Для обнаружения ошибки производят уже

7

1

'1

знакомые нам проверки на четность. Пер­

 

 

 

вая проверка: сумма П\

+

Лз +

Л6 +

Л 7 =

 

ошибочной позиции за­

== 0 +

0 +

1

+ 1

четна.

В

младший разряд номера

писываем 0.

Вторая

проверка: сумма

Л2 +

Лз + Л 6 +

Л7 = 1 +

0 + 1 + 1 не­

четна. Во второй разряд номера ошибочной позиции записываем 1. Третья проверка:

сумма Л4 + Л5 + Л6 + Л 7 = 0 + 1 + 1 + 1 нечетна. В

третий

разряд номера

ошибочной позиции записываем 1. Номер ошибочной позиции 110 =

6. Следователь­

но, символ шестой позиции следует изменить на обратный,

и мы получим правиль-

'ный код.

 

 

127

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

Таблица 24

Код, исправляющий одиночную и обнаруживающий двойную ошибки

Десятичное

 

 

 

Позиция

 

 

 

 

представле­

 

 

 

 

 

 

 

 

ние чисел

1

. 2

3

4

5

6

7

8

на позициях

3, 5, 6 и 7

 

 

 

 

 

 

 

 

0

0

0

0

0

0

0

0

0

1

1

1

0

1

0

0

1

0

2

0

1

0

1

0

1

0

1

3

1

0

0

0

0

1

1

1

4

1

0

0

1

1

0

0

1

5

0

1

0

0

1

0

1

1

6

1

1

0

0

I

1

0

0

7

0

0

0

1

1

1

1

0

8

1

1

1

0

0

0

0

1

9

0

0

1

1

0

0

1

1

10

1

0

1

1

0

1

0

0

11

0

1

1

0

0

1

1

0

12

0

1

1

1

1

0

0

0

13

1

0

1

0

1

0

1

0

14

0

0

1

0

1

1

0

1

15

1

1

1

1

1

1

1

1

для всей строки в целом. Чтобы осуществить такую проверку, следует к каждой строке кода добавить контрольные символы, записанные в дополнительной колонке (табл. 24, колонка 8). Тогда в случае одной ошибки проверки по позициям укажут номер ошибочной позиции, а проверка на четность — на наличие ошибки. Если проверки позиций укажут на наличие ошибки, а проверка на четность не фиксирует ошибки, значит в коде две ошибки.

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

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

В свое время Р. Фанно и К. Шеннон [36, 47] доказали, что су­ ществуют коды, которые обеспечивают в стационарных каналах с ко­

128

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

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

Циклические коды строятся по принципу так называемого неопти­ мального декодирования, согласно которому исправлению подлежат не обязательно все возможные ошибки, а лишь ошибки, принадлежа­ щие некоторому фиксированному множеству. Неоптимальное деко­ дирование, с одной стороны, иногда не полностью использует возмож­ ность кодов, а с другой стороны, значительно упрощает процесс деко­ дирования. Циклические коды благодаря ряду своих свойств часто имеют преимущества перед сопоставимыми неалгебраическими кодами. Так, простейший код с проверкой на четность и циклический код с кодовым расстоянием между двумя любыми, комбинациями не мень­ ше двух казалось бы должны иметь одинаковую корректирующую способность. Однако циклический код обладает большей избыточностью за счет того, что возникает возможность обнаружения, кроме одиноч­ ных ошибок, и части парных ошибок, а это позволяет повысить про­ цент обнаруженных ошибок с 50% до 75% для кода с одним провероч­ ным разрядом [35].

Циклические коды получили свое название благодаря тому, что

каждая новая комбинация может быть получена из

некоторой обра­

зующей комбинации путем последовательного,

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

сдвига.

 

Сдвиг осуществляется справа налево, причем крайний левый символ каждый раз переносится в конец комбинации. Например, совокупность комбинаций циклического кода из образующей 000101: 000101, 001010, 010100, 101000, 010001, 100010. Дальше комбинации будут повто­ ряться.

Циклический код можно представить в виде матрицы, причем все ее строки могут быть получены путем циклического сдвига обра­

5 3-1273

129

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