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

книги из ГПНТБ / Вулконский Б.М. Теория автоматического управления учебное пособие

.pdf
Скачиваний:
32
Добавлен:
29.10.2023
Размер:
11.18 Mб
Скачать

Величина i зависит от уровня шумов (степени искажения), при­ сущих каналу, и от распределения вероятностей символов на входе канала.

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

С = , (74)

где т — средняя длительность символов.

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

дачи р и ошибки

q,

средняя

информация

на символ

/ = log т +

р log./?

1]log т ^

дв. ед./символ.

(см. пример 6 ).

 

 

 

\

было получено в предположении, что все символы

Это значение

на входе канала

имеют равную вероятность. Нетрудно понять, что

оно ,и является максимальным, так как при любом другом рас­

пределении вероятностей первое слагаемое будет меньше

log «г.

Следовательно, для такого канала

 

 

 

С =

log w + р logр + q log

j-J

дв. ед./сек.

(75)

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

(т — 2)

 

 

С = -^-(1 -\-р log/? - f q log q) дв.

ед./сек

(76)

Итак, будем считать, что пропускная способность канала с шу­ мами нам известна.

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

"Ц= -у - символов/сек.

Однако скорость передачи информации, сколь угодно близкая к и, всегда ;может быть получена.

50

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

 

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

 

ного символа окажется сколь угодно малой. Для Этого,, например,

 

достаточно очень много раз повторить каждый передаваемый сим­

 

вол. Однако для получения очень малой вероятности ошибки та­

 

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

 

шению скорости передачи.

 

того,

 

Заслугой теории информации является доказательство

 

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

 

нет необходимости в таком резком снижении скорости 'передачи.

,

Для любого канала с шумами всегда можно подобрать

специальный

код, позволяющий передавать

сообщения

по

 

 

*

 

С

 

этому каналу со скоростью сколь угодно близкой к v = —т—

 

символов/сек.

(но обязательно' несколько

меньшей),

так,

 

чтобы вероятность ошибки в определении каждого передан­

 

ного символа оказалась меньше любого наперед заданного

 

числа s.

 

 

 

 

 

Сформулированное положение носит название основной тео­

 

ремы кодирования

при наличии шумов (теоремы

Шеннона)

. 7

е,

 

Разумеется, код,

о котором идет речь в теореме, зависит от

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

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

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

Из доказательства следует лишь, что если разбивать сообще­ ния на блоки, состоящие из сколь угодно брльшого числа знаков,

то при любом v < - г - вероятность ошибки е может быть получена

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

Усилиями ряда ученых эта практическая сторона вопроса ре­ шена в настоящее время лишь частично и для некоторых специ­

51

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

§ 9. КОРРЕКТИРУЮЩИЕ КОДЫ

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

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

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

 

R = R H+ R Ki

(77)

где R„ — 1/исло

информационных символов;

 

/ R K— число

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

 

Корректирующая способность кода определяется так называе­

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

раз­

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

 

 

1

1

0

1 1

 

 

 

1

0

1

1

0

 

 

 

X Х.Х

 

число позиций, по которым различаются комбинации,

равно трем

(обозначены

крестиками)

и, следовательно, кодовое

расстояние

d = 3.

кода обнаруживать и исправлять ошибки определяет­

Свойства

ся именно

величиной d.

Покажем это на примере.

Пусть дано

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

0 0 0 ; 0 0 1 ; 1 0 1 ; 1 0 0 ; 1 1 0 ; 0 1 0 ; 0 1 1 ; 1 1 1 ;

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

52

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

0 0 0 ; 1 0 1 ; 1 1 0 ; 0 1 1 .

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

Для построения еще более мощного корректирующего кода будем использовать всего две комбинации из восьми с кодовым расстоянием, равным трем:

0 0 0 ; 1 11 ;

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

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

может

быть

исправлена.

Пусть, например, в

результате искажений получена

комбинация

1 0 0. Легко понять,

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

так как 1 0 0 ближе к 0 0 0 , чем к 1 1 1 .

быть

повышена и

Корректирующая

способность кода

может

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

d = \ + R K.

(78)

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

 

 

Таблица

16

d

Як

Корректирующая способность

1

0

Отличает одну

комбинацию от другой

21 Обнаруживает одиночную ошибку

32 Обнаруживает две ошибки или обнаруживает одну и исправляет одну.

43 Обнаруживает три ошибки или обнаруживает две

нисправляет одну.

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

53

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

Рассмотрим R двоичных позиций в предположении, что среди них никогда не встретится более одной ошибки. Из этого числа выберем R„ позиций для передачи информации, а остальные R K используем для проверки.' Из RK двоичных символов может быть

составлено 2 Кк различных комбинаций, которые должны указы­ вать:

1 ) отсутствие ошибки;

2 ) 'наличие ошибки и ее положение среди R позиций.

Всего получается R + 1 необходимых указаний, откуда следует условие

2r k =

/? + 1,

 

или

 

 

/?K =

log(/? + l).

(79)

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

§ 10. КОДЫ С ПРОВЕРКОЙ НА ЧЕТНОСТЬ

а) Коды, обнаруживающие одиночную ошибку

При использовании двоичного кода (простейшим методом вы­ явления ошибки является проверка на четность. Если в кодовой комбинации не может быть более одной ошибки, то метод дает полную уверенность, что*комбииация из R символов принята без­ ошибочно. Для осуществления проверки на четность к информа­ ционным символам кодовой комбинации добавляется один сим­

вол, который выбирается так, чтобы общее число 1

(или 0

)

 

в ко­

довой комбинации было четным. Например:-

 

 

1

 

 

 

 

 

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

1

0

1

1

0

0

1

0

0

0

1

0

 

информационные символы

 

 

 

 

 

1

 

 

 

 

 

 

0

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

1

0

1

1

0

0 1

1

0

0

0

1

0

0

число 1 в комбинации

 

 

 

 

4

 

 

 

 

2

 

 

 

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

54

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

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

Общий метод кодирования в этом случае состоит в следующем. Если имеются Rn информационных и R K контрольных символов, то последние выбираются так, чтобы Я к проверочных сумм, со­ ставленных из различных комбинаций однотипных информацион­ ных и контрольных символов, были четными. Для этого первый информационный символ включается во все R K проверочных сумм; следующие R K информационных символов — в R K— 1 провероч­

ных сумм, .следующие ■ к v к—-—^символов в RK— 2 проверочных

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

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

 

Т а б л и ц а

17

 

Информационный символ

Контрольный символ

Проверочные суммы

А

а 2

а 3

 

X

X

 

• 1

X

 

X

2

 

 

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

1 и 2. А2 и А3 выби­

раются так, чтобы А\ + А2и А\ + А3 были четными по сумме одно­ типных символов (0 или 1). Если на приёмной стороне одна из сумм окажется нечетной, tq ошибка в контрольном символе этой суммы. Если обе суммы нечетны, то ошибка в информационном символе. Например, передается 0 и проверка производится по сумме единиц. В результате Кодирования получим комбинацию 0 0 0. Ошибка в первом контрольном символе даст нечетность пер­ вой суммы 0 1 0. Ошибка в информационном символе даст нечет­ ность сразу двух сумм 1 0 0 . ,

\

55

 

Рассмотрим более сложный код «одиннадцать из пятнадцати». Составим в соответствии с правилом кодирования таблицу коди­ рования (табл. 18).

Таблица 18

 

Информационные символы

Контрольные символы

Суммы

Ах A. 4;t 4( 4 5 4 ЙЛт 4 S А3

4щ Лц

А12 <4i3 Л и 4j3

 

X

X X

X

X X X

 

 

X

1

X X X

X X

 

X X

X

2

X X

X X

X

X

X

X

3

X

X X X

X

 

X X

X

4

Контрольные символы, как и прежде, выбираются так, чтобы суммы 1, 2, 3 и 4 (по строкам) однотипных символов были чет­ ными.

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

Ошибки в информационных символах дают нечетность 2 , 3 или 4 проверочных сумм. Если нечетны четыре суммы, то ошибка в первом информационном символе; если нечетны три суммы, то ошибка в символе, который является общим для этих сумм, но не входит в четвертую; если нечетны две суммы, то ошибка в сим­ воле, который входит в них, но не входит в две другие.

§ И. ЭФФЕКТИВНОСТЬ КОРРЕКТИРУЮЩИХ кодов

Корректирующие коды с проверкой на четность обычно исполь­ зуются следующим образом. Дано некоторое сообщение, кодиро­ ванное двоичными символами, например: v

00001011001111001010fl0011101110111000010101

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

0 0 0

0 1 0 1

 

1 0

0 1

\

1

1

1

0

0

1

0

1

0

1

1

 

1 1 1 0 '1

1

1 О1

 

1 10000 10

1

0 1

 

56

Эти группы дополняются четырьмя контрольными символами в соответствии с таблицей кодирования:

 

0 0 0 0 1 0 1 1 0 0 1

0111

'

1 1 1 0 0 1 0 1 0 1 1

1111

 

0 0 1 1 1 0 1 1 1 0 1 0 1 1 1

 

1 1 0 0 0 0 1 0 1 0 1

1110

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

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

Покажем, что и в этом случае использование кодов с провер­ кой на четность целесообразно, так как они способнызначитель­ но уменьшить число ошибок и оставить малую вероятность неис­ правленных ошибок. Рассмотрим код R, R„, R K.

Пусть р — вероятность ошибки в некотором определенном сим­ воле;

Р0— вероятность неправильной комбинации после декоди­ рования.

В последовательности из R символов определим следующие

вероятности:

 

 

 

 

р 0 = ( 1 —p)R

 

— вероятность

отсутствия ошибки;

p l = Rp( 1—p )R_I

— вероятность

одной

ошибки;

р, = — Цг----- р 2 ( 1 —p ) R ~ 2

— вероятность

двух

ошибок в двух

R\

 

разных позициях;

 

-pn( l - p ) R-

вероятность

п ошибок в п разных

Рп = nl (R—я)!

 

 

'ПОЗИЦИЯХ.

 

\

Если ошибок нет или имеется одна ошибка на всю последова­ тельность R, то сигнал будет принят правильно. Если имеются 2, 3, . . . , п ошибок, то окончательная декодированная комбинация будет не верца. Следовательно, вероятность неправильной комби­ нации после декодирования

Р * = Р г + Р ъ + ■ • • + Р*== 1 - Р о — Pi-

Если р мало, то членами е р3, pi и т. д. можно пренебречь и приближенное выражение для Ро запишется в -виде

P0~ P 2 ~ - j - R ( R - \ ) P ' 2.

(80)

57

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

(81)

Отношение Ро'/Ро служит мерой качества корректирующего кода. Для оценки эффективности кода можно рассматривать так­ же новую вероятность ошибки в одном символе после декодиро­ вания

 

 

 

=

 

 

 

(82)

Значения Р0',

Р0,

PolРа и р'-для

некоторых корректирующих

кодов

приведены в табл. 19.

 

 

 

 

 

 

 

Табл и ц а

19

 

 

 

 

Код

 

Ра'

Ра

Ра':Ра

Р'

R

я„

Як

 

 

 

 

 

3

1

2

Р

3/7=

• 1/Ъ

/7

3/7^

7

4

3

Ар

21/7^

4/21

р

21/4 /;=

15

11

4

ПР

105/7-

11/105/7

105/11/7'-’

31

26

5

26/7

465/7=

26/465/7

465/26/7=

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

Интересно сравнить 'полученные результаты с теоретическими выводами Шеннона.

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

C = - t - [1-j-p logp + (1—/?) log (1 — р)] дв. ед./сек.

При этом максимальное количество информации, которое спо­ собен переносить один символ,

гтах= 1 + Р l0gp + (1 — р) log (1 — р) дв. ед./символ.

58

\

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

Пусть р = 10-2. Тогда. гтах = 0,9 дв. ед./симв., что означает, что только один дополнительный символ на каждые девять был бы достаточен для исправления ошибок (напомним, что для двоичного канала без шумов /тах = 1 дв. ед./симв.).

Согласно же табл. 2, корректирующие коды с проверкой на четность требуют гораздо большего числа дополнительных конт­ рольных символов и не дают полного исправления ошибок. Так, например, код «4 из 7» требует 3 дополнительных символа на 4 исходных.

Таким образом, рассмотренные коды, как видно, очень далеки от теоретического предела.

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

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

Пр и м е р ы .

14.Автоматическая аппаратура радиоразведки ведет на

блюдение в заданном секторе и регистрирует радиолока­ ционные станции по двум параметрам сигнала: длине волны и ча­ стоте посылок. Диапазон возможных значений длин волн условно разбит на четыре поддиапазона Яь Я2, Я.3, Х4; диапазон значений частоты посылок — на три поддиапазона Fь Е2, F3.

Данные разведки непрерывно поступают на кодирующее устрой­ ство в виде комбинации двух дискретных величин:

номер поддиапазона длин волн Я3;

номер поддиапазона частот посылок F K.

Априорные вероятности сообщений заданы следующей табли­ цей:

 

р (Я,Л) =

0,04

Р(Х3К)== 0.20

'

 

P(X3Fj) =

0,04

P(X<Fo) =

0,09

 

 

Р (Xafj) =

0,01

P(X]Fg) =

0,12

 

 

Р (XjF,) =

0,06

Р (X,F3) =

0,10

 

 

P(X1F3) =

0,06

/ Р (X3F3) =

0,10

 

 

Р (X3F„) =

0,08

Р (Х4Я3) = 0,10

 

*

Коды с обнаружением

н исправлением ошибок. Сб.

статей под ред.

А. М.

Петровского. И|П, 1956.

 

 

 

 

59

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