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

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

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

тэта. Условие (69) при этом, как правило, не выполняется и согла­ сование получается неудовлетворительным.

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

В 1948—1949 гг. К. Шенноном и независимо от него Р. М. Фэно был предложен метод кодирования, обеспечивающий эффективное согласование, для наиболее интересного для практики случая — канала, использующего двоичный алфавит символов одинаковой длительности. Этот код носит название кода Шеннона — Фэно. Процесс кодирования по методу Шеннона — Фэно состоит в сле­ дующем.

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

Таблица б

z, z. z3 z.

0,5 0,25 0,125 0,125

Покажем, что такой метод ко­ дирования действительно обеспе­ чивает эффективное согласование кода .с каналом.

Пусть имеется исходная схема сообщений, представленная табл. 6 .

Закодируем сообщения кодом феннона—Фэно. Процесс кодиро­ вания представим табл. 7.

Т а б л и ц а 7

Подгруппы и их Сообщения вероятностиАприорные кодовые обозна­

чения

z ,

0,5

) 1

1 1 .

 

Z.,

0,25

1

 

z3

0,125

о

О

О —

Z.

0,125

Кодовые

комбинации

1

01

001

000

Подсчитаем вероятности появления отдельных символов кода О и 1 .

40

Вероятность появления некоторого символа равна отношению среднего числа данных символов на одну кодовую комбинацию к среднему числу всех символов на одну комбинацию

 

м

А

 

 

2

/> ( * ) * ,;

 

я (л ,)

= ^ --------------.

(73)

 

2 P(Zk)/VzK

'

 

k=l

 

где N t j — число символов

At

в кодовой

комбинации;

zk

 

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

Nzk — число всех символов

В нашем примере:

Р(0) =0,5;

Я (1)=0,5.

Следовательно, полученный код является оптимальным, так как появление 0 и 1 равновероятно.

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

logP(Z k)

- log т

1

 

. 0

1

С

Г

 

I ° g 2 =

г

 

 

 

**П

t\ t0\ 2 ^о;

t, — 3*0;

ti

— 31,

 

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

Однако

не всегда удается

осуществить

Т а б л и ц а

8

такое оптимальное кодирование, так как не

 

 

 

всегда можно разбить сообщения

на группы

 

г,

Zn

равной суммарной вероятности. Поэтому, как

 

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

 

 

 

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

P( Zj)

0,7

0,3

общений в блоки,

которые затем

и кодировать

методом Шеннона — Фэно.

 

 

 

 

 

 

Пусть дана исходная схема сообщений (табл. 8 ).

 

не­

 

 

 

Применёние

Метода Шеннона — Фэно

 

Т а б л и ц а

9

посредственно

к исходной

схеме

приводит к

 

простому коду

(табл. 9).

 

 

 

 

 

 

Очевидно,. что этот метод здесь оказыва­

Zj

P ( Z j)

Код

ется бесцельным. Действительно,

при двоич­

ном алфавите пропускная способность канала

 

 

 

г,

0,7

1

 

 

1

 

 

 

 

С = т - дв. ед./сек,

 

 

 

0,3

0

 

 

 

 

 

 

W)

 

 

 

41

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

- ( 0 , 7 log 0,7 + 0,3 lo g 0,3)

0,881

.

h

7

дв. ед ./сек

 

 

и, следовательно, не является эффективным.

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

запишется теперь в следующем виде

(табл.

 

1 0 ).

 

 

Т а б л и ц а

10

 

 

 

Z jZ u

Z,z,

z,z3 ZnZj

Z 3Z 2

P ( Z j Z k)

0,49

0,21

0,21

0,09

Результаты кодирования,

как и прежде,

 

сведем в табл. 11.

 

 

Т а б л и ц а

11

 

 

 

ZjZk

P(ZjZk)

Подгруппы и их

Код

кодовые обозна-

 

 

 

 

чения

 

 

" ^

Z,Z,

0,49

 

)

1

1

 

 

1

z,z„

0.21

 

}

)

1

 

01

ZoZ|

0,21

 

1

0 1

0 !

 

001

Z3ZL.

0,09

 

1

и }

о

 

000

Подсчитаем^ скорость передачи информации, обеспечиваемую этим кодом.

v _ ± _ - (0,49 log 0,49 + 0,42 log 0,21 -(-0,09 log 0,09)

т~ 0,49t0-j- 0,42 t0-(- 0,6310-j- 0,2710

0,974 —-—7 — дв. ед./сек.

Как видно, уже двухзначное блочное кодирование привело к

коду,

весьма

близкому

к оптимальному (г'

отличается

от

С на

3%).

Кодирование

трехзначных

блоков

дало

бы

нам

0,986

 

■ .

что отличается

от теоретического предела

г = —4—

*

Дв. ед./сек.,

 

г0

 

 

 

 

 

 

 

всего на

1,5%.

 

 

 

 

 

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

42

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

Метод *Шеннона — Фэно дает положительные результаты н- тогда, когда между отдельными сообщениями или знаками исход­ ной схемы существует корреляция. В этом случае необходимо лишь подвергать кодированию сочетания (блоки), в пределах ко-, торых действуют взаимные связи.

Пp-и м е р ы.

13.Телеметрическая аппаратура ракеты каждые 2 сек зам ряет значение некоторого параметра.

Измеряемый параметр может принимать два значения: Z\ с

вероятностью P{Z\) — 0,89 и Z2 с вероятностью P(Z2) = 0,11.

На пункт обработки информация передается по каналу, рабо­ тающему двумя символами 0 и 1. Длительность символов одина­

кова и равна 2

сек.

 

Определить

эффективный код Шеннона — Фэно для передачи

информации по каналу. Оценить избыточность кода.

Р е ш е н и е .

Пропускная способность канала

 

С = ^ - = 0 ,5 дв.

ед./сек.

Применим метод Шеннона — Фэно

к двухзначным сочетаниям

(табл. 1 2 ).

 

 

 

Т а б л и ц а

12

 

Блоки

Вероятность

Подгруппы и ко­

довые обозначе-

 

блоков

 

ния

 

 

 

 

 

Z.Z,

0,792

1 1

1 1

 

ZjZo

0,098

1

о»—

Z'xR-2

0,098

о

о

0,012

 

 

 

Код

1

01

001

000

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

 

i

- (0,792 log 0,792 +

0,196 log 0,098 +

0,012 log 0,012)

1

x “

 

0,792-2 + 0,098-4 + 0,098-6 +

0,012-6

 

 

'

= 0,38

дв. ед./сек.

 

Избыточность кода составляет

I =

1 - -

=

1 +

(0,75 log 0,75 + 0,25 log 0,25 ) =

 

* * max

 

= 1 0 , 8 = 0 , 2 = 2 0 % ,

 

 

 

 

где

вероятности

символов определены по формуле (73):

Р(0)

= 0,25;

Р(1)

=

0,75.

43

Как видно, полученный код далек от оптимального.

Применим метод Шеннона — Фэно к трехзначнум сочетаниям.

 

 

Т а б л и ц а

 

13

 

 

z , z , z ,

0,705

P

 

 

 

1

 

 

 

 

 

 

z , z , z .

0,088

1 1

1

 

O il

z xz ^ z x

0,088

1 !

 

0

 

010

z , z , z ,

0,088

}

 

1

 

001

z ,z .,z .,

0,010

0

 

 

l

00011

Z-iZjZ-,

0,010

» ) „ ! •

0

00010

Z..Z..Z i

0,010

00001

 

 

 

1

Z 2Z 2Z 3

0,001

)

1 °

00000

0

i' = 0,45 дв. ед./сек;

Я(0) = 0,336; Я (1 ) = 0,664;

/ = 1 -0,921 =0,08 = 8"/о-

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

§ 7. КОД ХАФФМЕНА

Метод кодирования Шеннона — Фэно позволяет построить оптимальный код лишь в частном случае, когда удается разбить сообщения на подгруппы равной суммарной вероятности. Если же это сделать не удается, то метод не обеспечивает получения оптимального кода. К нему дишь можно сколь угодно приблизить­ ся, подвергая кодированию все более и более длинные блоки со­ общений, т. е. устремляя число сообщений в исходной схеме к бесконечности. При достаточно сложных исходных схемах это свя­ зано с необходимостью выполнения ряда громоздких последова,- теЛьных приближений дсГ получения кода с требуемой' избыточ­ ностью.

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

Процедура метода заключается в следующем. Имеется исход­ ное множество М сообщений 1\, Z2, . . . , ZM с априорными вероят­ ностями P(Z]), P(Z2), . . . , P (Z M)- Требуется закодировать сооб­ щения при помощи кода с основанием т.

44

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

Затем составляется первое вспомогательное множество, кото­ рое включает составное сообщение и все остальные сообщения исходного множества, не вошедшие в составное сообщение. Та­ ким образом, первое вспомогательное множество будет содержать М\ — М — п0 + 1 сообщений. Элементы вспомогательного множе­ ства должны быть переставлены, если это необходимо, так, что­ бы они были снова упорядочены в соответствии с их вероятно­ стями. '

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

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

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

Mi -

1

должно быть целым числом. Но

жеству, то отношение т

 

М\ = М п0 + 1. Поэтому п0 следует выбирать так, чтобы —ру­

било целым. Причем по должно быть по меньшей мере равно двум и не превышать т.

Рассмотрим в качестве примеров задачи кодирования множе­ ства из М = 9 сообщений двоичным алфавитом (т = 2) и множе­ ства из М = 8 сообщений кодом с основанием т = 4.

45

Таблица 14

 

Процедура кодирования

при М—9, /п=2,

Ло = 2|

М—Пр

9 - 2

 

 

т—1 ~

2—1

 

 

 

В е р о я т н о с т и с о о б щ е н и й

 

 

 

Исходное

 

 

Вспомогательные

 

 

Код

множество

2

3

4

5

6

7

8

1

 

 

 

 

 

 

 

,->1,00

-

0,20

0,20

0,20

0,20

0,18

0,18

0,18

—-0,20

0,18

 

-0,14

->0,18

0,18

0,10

0,14

0,141

0,10

0,10

о.ю )

0,10

0,10

0,101

 

0,10

0,10

о.ю)—

 

0,10

0,101

 

 

0,08

0,08 )—

 

 

0,081

 

 

 

0,06)

 

 

 

 

 

-0,40

-0,60 1

1

 

-0,36

0,40)—

 

-0,24

0,361

 

 

0,24

0,24 J—

 

10

0,20

0,201

 

0,20

0,20)—

 

000

0,181

 

 

 

0,18)----

 

 

 

 

 

 

 

011

 

 

 

 

110

111

0010

ООП

0100

0101

Результаты кодирования сведены в таблицы 14 и 15. Там же даны априорные вероятности сообщений исходных множеств.

Т а б л и ц а 15

Процедура

кодирования

при АГ=8, т = 4,

ттс = 2

8 - 2 _ 0

4 - 2

 

 

 

 

 

Вероятности

сообщений

 

Код

Исходное

Вспомогательные множестпа

 

множество

 

 

 

 

 

 

 

-0.401

->1,00

 

0,22

0,22

 

р

0,22

 

1

0,20

0,20

0,20

 

2

0,18

0,18,

0,18

 

3

0,15

0,15

 

 

00

0,10

0,10

 

 

01

0,08

0,08

 

 

02

0,05 \

->0,07

 

 

030

 

 

 

0,02)

 

 

 

031

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

Д л я д в о и ч н о г о к о д а

/ / max = log2 = l дв. ед.

Вероятности появления 0 и 1, вычисленные по формуле (73),

Р (0) = 0,56; Р(1) = 0,44;

тогда

Я = — (0,56 log 0,56-j-0,44 log 0,44)— 0,989 дв. ед.

и

1 = \

=

1

— 0,989= 0,011 = 1%.

■fJuiax

 

 

 

Д л я к о д а с о с н о в а н и е м т = 4

Я тах =

^

4

= 2 дв. ед.;

Я (0 ) = 0,41;

 

 

Р (2 ) = 0,19;

Я (1 ) = 0,23;

 

 

Р(3) = 0,17;

47

н = -(0 ,4 1 logo,41 + 0,23 log0,23 -f 0,19 log 0,19 +

-h 0,17 log0,17) = 1,903

ед. ед.;

’ / = 1 — 1,92°3 - — 0,049 -

5%.

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

Г л а в а 3

ПЕРЕДАЧА ИНФОРМАЦИИ ПРИ НАЛИЧИИ ШУМОВ

§8. СОГЛАСОВАНИЕ КОДА С КАНАЛОМ ПРИ НАЛИЧИИ ШУМОВ

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

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

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

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

Ясно, что использование методов Шеннона — Фэноили Хафф­

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

Рассмотрение вопроса начнем с математического описания ка­ нала с шумами.

Напомним, что в отсутствии шумов пропускная способность канада определялась как наибольшее количество информации, ко­ торое можно передать по каналу за единицу времени. Обобщим это определение на случай канала с шумами. Согласно (28), для такого канала среднее количество информации, переносимое, одним символом,

 

i = H ( A ) - H a {A).

4

49

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