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

книги из ГПНТБ / Гойхман Э.Ш. Основы теории передачи информации в автоматизированных системах управления

.pdf
Скачиваний:
22
Добавлен:
30.10.2023
Размер:
12.91 Mб
Скачать

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

5.2.2. Семиэлементный код

Как известно, с помощью семиразрядного двоичного кода' мож­ но образовать 27 = 128 различных комбинаций. Их можно разбить на группы в зависимости от соотношения символов «1» и «О» в каждой комбинации. В результате получим следующую таблицу.

Таблица 5.2

Количество!

Пример

Число возможных

колич. 0

кодирования

комбинаций

07

ооооооо

1 '

16

0100000

7

2/5

0010100

21

3/4

1101000

35

4 3

1011100

35

5,2

1011101

21

6/1

1011111

7

7/0

1111111

1

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

На практике наибольшее распространение получили коды с со­ отношением 3/4 и 4/з- Для этих кодов количество возможных ком­ бинаций, как видно из таблицы 5.2, равно 35. Этот код обеспечи­ вает обнаружение всех ошибок, за исключением тех случаев, когда несколько единиц превратятся в пули, а столько же нулей в еди­ ницы. Такие ошибки называют ошибками смещения.

Вероятность необнаруженной ошибки для семиэлсментного ко­ да определяется формулой

РН0= С \С 'яр \1 - р у + С \ С \ р \1 - р ) Ч С \ С * яр% 1-р) = = \2 р % 1 -р у > + \8 р '(\-р )4 4р<‘(\- Р ),

где

 

 

 

 

р—вероятность искажения символа;

 

С \С ' г—количество

вариантов трансформации „1" в

„0“ и „0“

в „1“;

вариантов

трансформации двух

единиц в

СУС32—количество

два нуля и двух нулей в две единицы;

 

СДСз8—соответственно трех единиц и трех нулей.

 

Вероятность обнаруженной

ошибки

 

где

 

что

кодовая комбинация

принята

(1 —р )1—вероятность того,

без искажения.

 

 

 

 

210

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

§5.3. Циклический код

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

Название этого класса кодов произошло от основного их свой­ ства, котор'ое ‘заключается в следующем: если кодовая комбина

ция ао. «ь Й2-. о-п принадлежит коду А, то-комбинация ап, ао, а\, а2... а п -ь полученная циклической перестановкой элементов, так­ же принадлежит коду А.

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

1. х'Ч-0 ■ +0 ■.v Ч -1 • х А-И ■ -1-0 • * -И =*'* + + х2 + 1.

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

1 • х " = 0; 0■ х а-\ 0• х«=0.

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

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

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

Показатель степени исходного многочлена к характеризует код с точки зрения обнаружения Групповых ошибок. Можно показать

121, что циклический код с исходным многочленом степени к об­ наруживает 100% групповых ошибок длительностью не более к.

211

При большей длине групповых ошибок часть из них.пе будет об­ наружена.

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

\ О О Ж Ш В 1 1 , *

l O Q W O t i H

Кодирование сообщения осуществляется в следующем порядке: многочлен G(x), отображающим двоичный код числа, умножается на х к. При этом длина

кодовой комбинации G(x) увеличивается на к

разрядов, которые

предназна­

чены для поверочных символов.

 

 

Произведение д(х) х к делят на исходный

многочлен Р(х) и

остаток от

этого деления R(x) складывают с произведением

G (x)xK. Полученная кодовая

комбинация, описываемая многочленом F(x)~G{x) х к-\-R{x), делится без остат­ ка па исходный многочлен. При таком методе построения коэффициенты при высших степенях х являются обозначениями информационных символов, а ко­ эффициенты при низших степенях—поверочными.

На приемном конце принятая комбинация [G(x)xi< -| R(x)}' делится на ис­ ходный многочлен Р(х).

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

П р и м е р 5..1. Рассмотрим код

с /г=15, т = 1 0 , /с=5, для которого исполь­

зуется исходный многочлен Р (х)—хъ-

Для кодирования сообщения

ЮООЮОИЛ, соответствующего многочлену

G(x)=x'l+ x ,-\-xt -ir I, разделим G(x)x:' на Р(х):

( x ^ + x ^ + x i + x -): (X - (~л‘4 j-x2+ \) = х'-,+ х !'-\-х‘-^х^+ хг+ х 4 -1 .

Остаток R(x)—1 -j-x.

В результате кодовый многочлен F(x) = G(x)x:'-\rR(x) будет иметь вид

F(x) - (хи + х 'Ц - х ’+ х г‘) * + 1).

В двоичном коде этому многочлену соответствует кодовая комбинация

1000100101

00011

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

-поверочные

символы

символы.

Способность циклического кода обнаруживать ошибки зависит от того, ка­ кой выбран исходный многочлен. Так, например, для P (x)—xs-\~x*-\-\; к = 9; ,ныакс“ б02 имеется возможность обнаруживать две ошибки при любом их рас­ положении в кодовой комбинации, все ошибки длительностью в 9 и менее сим­ волов и 99,8% более длительных искажений [2]. Выбор исходного полинома производится для каждого конкретного' случая отдельно.

* Крестом показаны искаженные посылки.

212

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

Большим достоинством циклических кодов является простота кодирования и декодирования. Кодирующие и декодирующие устройства в этом случае пред­ ставляют собой регистры с обратными связями. На рис. 5.2 показана схема ко­ дирующего устройства с исходным многочленом Р (х )= а'я+ х+1.

7" - триггер

срегмосгпор по

Рис. 5.2

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

Схема работает следующим образом.

Передаваемая кодовая комбинация последовательно подается на вход ре­ гистра и линии задержки. Ключ К2 находится в положении /, ключ К\ — в по­ ложении «включено».

После того как последний импульс с выхода линии задержки передан в ли­ нию связи, ключ К2 переключается в положение 2, a Ki — в положение «выклю­ чено» и содержимое регистра (остаток от деления) передается в линию связи.

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

Р(х )= х * + х + 1.

§5.4. Коды для корректирования ошибок

5.4.1.Код Хе.мминга для исправления одиночной ошибки

Код Хэмминга, как и циклический, относится к классу система­ тических кодов.

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

Рассмотрим принцип построения этого кода.

213

Это неравен­
к —пт, его можно преобразовать к виду 2m=s;

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

На приемном конце кодовая комбинация также подвергается к проверкам на четность. При этом каждая проверка охватывает не только соответствующие информационные символы, но и сфор­ мированные в результате их же проверки на четность поверочные символы. Поэтому при неискаженной передаче каждая проверка в кодовой комбинации даст четное число. При искажении симво­ лов в результате каждой проверки получается нечетное или четное число в зависимости от того, была ли обнаруживаемая ошибка на проверяемых позициях i/ли пет. Результаты проверок записываются справа палево. Если при проверке получается нечетное число, за­ писывается единица, четное — ноль. Таким образом получается к-разрядпое число, которое называют поверочным числом.

Потребуем, чтобы это число указывало номер позиции, па ко­ торой произошло искажение.

Искажение может иметь место на любой из п позиций либо вообще отсутствовать. Любое из п+1 возможных событий долж­ но отображаться /с-разрядным поверочным числом. Это возможно

лишь в случае соблюдения неравенства п-М. Учитывая, что

2"

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

Результаты расчета даны в таблице.

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 5.3.

п

з

4 5

6

7

8

9

10 11 12 13 14

1-3

т

1

1

2

3

4

4

5

6

7

8

9

10

11

к

2

 

з

3

з

4

4

4

4

4

4

4

4

 

 

 

 

 

 

 

 

 

 

 

Определим номера позиций, которые необходимо проверять в каждой из к проверок.

Если при первой проверке обнаружена ошибка, то в первом разряде поверочного числа £>удет единица. Поскольку поверочное число должно представлять собой записанный в двоичном коде помер позиции искаженного символа, в первую проверку должны включаться позиции, номера которых в двоичпом^коде имеют еди­

ницу в

младшем

разряде. Следовательно, согласно таблице

5.3,

в первую проверку должны быть включены 1, 3, 5, 7 и т. д.

(не­

четные)

позиции

(см. таблицу 5.4).

 

214

 

 

 

Таблица 5.4.

Номера позиций в де­

Номера

позиций в

сятичном коде

 

двоичном коде

1

 

00 1

2

 

0 10

3

 

0 1

1

4

 

100

5

'

1 0 1

6

1 10

7

 

111

Аналогично вторая проверка должна охватить позиции, номе­ ра которых в двоичном счислении во 2-м разряде имеют «1». Та­ кими позициями являются 2, 3, 6, 7-я. Третья проверка должна охватить 4, 5, 6, 7-ю и т. д. позиции.

На основании подобных рассуждении составлена табл. 5.5 по­ зиций, проверяемых при каждой проверке.

 

 

 

 

 

 

Таблица 5.5.

 

 

 

 

 

 

1 1

 

 

 

 

 

 

 

 

пози­

 

 

 

 

 

 

 

ций

1

2 3

4 5 6 7

8 9 10 11

12 13 14 15 16 17

18 19 20 21 22гоСлЗ

24 25

 

про­

 

 

 

 

 

 

 

верки

 

 

 

 

 

1 1

 

1 X X X X

X X X X X X X X X

2

 

X X

X X

X X

X X

X X ‘X X

 

3

 

 

X X X X

 

X X X X

X X X X

 

4

 

 

 

X X X X X X X X

 

X X

Остается решить, какие же позиции отвести под поверочные символыИз таблицы видно, что наиболее выгодными для этой цели являются 1, 2, 4, 8 и т. д. позиции, так как каждая из нич встречается только в одной проверке на четность.

П р и м е р

5.2. Закодировать кодом Хэмминга число 12.

Двоичный

код числа 12 будет 1100. Из таблицы 5.3 находим,

что т = 4 соответствует к — 3. Составим таблицу.

№ позиций

1

2

3

4

5

6

Назначение

П

П

И

П

И

И

позиций

Код числа

0

1

1

1

1

0-

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

В результате число 12, закодированное кодом Хэмминга, будет 0111100. Пусть в линии связи исказился символ на 2-й позиции и вместо 0111100 приняли OOlllOO. После проверок по таблице 5.5 получаем:

2 1 5

1 проверка —/, 3, 5, 7 позиции, результат проверки

0.

II проверка —2, 3, 6,

7 позиции,

результат

проверки

1

 

III проверка 4, 5, в,

7 позиции,

результат

проверки

0 |

 

 

 

поверочное

11

 

 

 

число

Q ]

Q

Получим поверочное число 010, которое указывает номер по­ зиции искаженного символа.

Если при передаче исказились два символа, то поверочное чис­ ло не будет соответствовать номеру позиции, на которой фактиче­ ски искажен символ. Так, в пашем примере, если исказятся симво­ лы на 2-й и 4-й позициях, поверочное число укажет 6-ю позицию. Следовательно, рассмотренный код корректирует только одиноч­ ную ошибку и вносит дополнительную ошибку, если число иска­ женных символов больше одного.

П р и м е р 5.3. С РЛС дальность до цели передается с дискрет­ ностью 1 К М ; Дчакс = 250 км.

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

Количество информационных разрядов определяется по фор­

муле

 

 

 

- н ] = 8 разрядов.

 

Из таблицы 5.3 находим, что иг = 8 соответствует

12 раз­

рядов.

 

 

5.4.2.

Код Хэмминга с исправлением одиночной и обнаружением

 

двойной ошибки

 

Для

обеспечения не только исправления одиночной ошибки, но

и обнаружения двойной, к комбинации кода с исправлением оди­ ночной ошибки достаточно добавить один символ- («0» или «1»), дополняющий сумму символов всех позиций до четного числа. Этот дополнительный символ коррекционным проверкам не под­ вергается. Если ошибок по будет, то на это укажут как дополни­ тельная проверка всей кодовой комбинации на четность, так и кор­ рекционные проверки по таблице 5.5. Если произошла одиночная ошибка, ее выявит проверка па четность всей кодовой комбина­ ции, а коррекционные проверки укажут помер позиции искажен­ ного символа. Нулевое значение поверочного числа при нечетности суммы символов па всех позициях означает, что искажен символ на дополнительной контрольной позиции.

В случае искажения двух символов проверка на четность всей кодовой комбинации не зафиксирует ошибки; проверки же по таб­ лице 5.5 укажут на наличие ошибки.

Проиллюстрируем сказанное на примере.

216

Число 12, закодированное кодом Хэмминга с исправлением оди­ ночной ошибки и обнаружением двойной ошибки, 01111000.

При искажении па 2 и 4-й позиции коррекционные проверки дадут поверочное число ПО (шесть). Дополнительная же провер­ ка всей кодовой комбинации на четность ошибки не выявит, что свидетельствует об отсутствии одиночной (и вообще нечетной) ошибкиТакой противоречивый результат свидетельствует о нали­ чии двойной (четной) ошибки.

5.4.3. Помехоустойчивость кода Хэмминга

Помехоустойчивость кода Хэмминга определяется вероятностью ошибочного приема кодовой комбинации.

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

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

Вероятности этого

события

Рош = \ —Qx,

где

Q.v— вероятность правиль­

ного приема кодовой

комбинации

 

 

 

Ол— 0 - р ) 7 + 7р(1- р)л;

 

р вероятность искажения

символа.

того,

что кодовая комбинация не

Первое слагаемое

показывает вероятность

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

Рош = 1 —(1- р У - 7 р ( 1 - Ру .

(5.1)

5.4.4. Блок-схема аппаратуры, реализующей код Хэмминга

Сообщение, закодированное семизначным кодом Хэмминга, имеет вид ПьП^иПзИгИзИ^ где Я — поверочный символ, И — информационный символ.

Поверочные посылки формируются по правилу

Пг-И,

0

И3

0

И4.

 

П * = И Х

0

Из.

@

я 4,

(5.2)

П,=и2 0

И3

0

Я4.

 

Ранее указывалось, что для поверочных символов отводятся 1, 2 и 4-я по­ зиции, что учтено при их формировании. При передаче же по линии связи рас­ положение символов не обязательно должно быть таким, как указано. Оно мо­ жет быть произвольным и выбирается, исходя из простоты аппаратуры. Поэто-

217

му выбираем следующий порядок расположения символов И\И2ИъИ^П\ПгП3. На приемной стороне формируется поверочное число Сц С2; Сз, показывающее но­ мер позиции, на которой произошла ошибка, по следующим правилам:

С2—И \ Q

Я '3 0

" \ ©

п '*

(S.3)

где И'{ и ГУ]—принятые на приемной стороне информационные и поверочные символы.

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

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

Формирование поверочных символов

/7i/72/7;) осуществляется

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

TKl , Тк,

и ТКз соответственно. На

триггер Тк должны поступать

посылки, охватываемые первой

проверкой согласно (5.2). Из всей совокупности информационных посылок нужные выбираются с помощью вентиля Blt управляемо­ го импульсами, поступающими со сх’емы управления кодирующим устройством. Схема управления кодирующим устройством запус­ кается импульсом «начало выдачи информации», поступающим от источника сообщений. Аналогично с помощью вентилей В2 и В3, также управляемых схемой управления, на триггеры Тка и ТКз по­ ступают посылки, охватываемые второй и третьей проверками со­ ответственно. После поступления четвертого информационного символа схема управления выдает в канал связи последователь­ ным кодом сформированные поверочные посылки.

На приемной стороне, согласно равенствам (5.3), формируется поверочное число, указывающее помер разряда, в котором про­ изошла ошибка. Это поверочное число формируется на триггерах Т' к, Т'к., и Т'Кг путем суммирования по модулю 2 как соответ­

ствующих информационных, так и соответствующих контрольных символов. -

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

§ 5.5. Цепной код

Исправление групповых ошибок, которые возникают довольно часто (например, в результате размножения ошибок при ОФМ и

218

канол абязи

Рис. 5.3

го

кпот ребит елю

1Г...Щ

приемн

регистр

уч т у

?

I

схемаупроблемы декодирующим -

уе/проиатВо/и

50

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