
Построение кода Шеннона - Фано
Буквы |
Двоичные знаки |
Кодовые комбина-ции |
Число знаков ni |
Среднее число знаков <n>= =∑pi ni |
||||
xi |
pi |
1-й |
2-й |
3-й |
4-й |
|||
х1 |
1/4 |
0 |
0 |
- |
- |
00 |
2 |
|
х2 |
1/4 |
0 |
1 |
- |
- |
01 |
2 |
|
х3 |
1/4 |
1 |
0 |
- |
- |
10 |
2 |
|
х4 |
1/8 |
1 |
1 |
0 |
|
110 |
3 |
2,375 |
х5 |
1/16 |
1 |
1 |
1 |
0 |
1110 |
4 |
|
х6 |
1/16 |
1 |
1 |
1 |
1 |
1111 |
4 |
В рассмотренном примере < n > = 2,375, что равно энтропии источника, т.е. построенный код не имеет избыточности и, следовательно, позволяет полностью согласовать статистические характеристики источника со свойствами канала. Это оказалось возможным благодаря тому, что вероятности передачи различных букв удовлетворяют условию pi = 0,5ni.
При невыполнении этого условия разбиение на строго равновероятные группы и подгруппы невозможно и среднее число разрядов < n > оказывается больше энтропии Н(Х). Так, например, при составлении кода Шеннона - Фано для русского алфавита число < n > = 4,45 при энтропии языка Н = 4,39 (без учета статистических связей между буквами). Особенно заметным может быть снижение эффективности кодирования при небольшом числе букв и значительном отличии их вероятностей. В таких случаях увеличение эффективности достигается путем кодирования не отдельных букв, а укрупненных блоков, которые представляют собой набор всех возможных комбинаций из 2, 3 и более букв.
Пусть, например, кодируются две буквы х1 и х2, имеющие вероятности р1 = 0,9 и р2 = 0,1 и соответствующую энтропию Н = 0,479.
При кодировании по одной букве (х1 → 0, х2 → 1) < n > = n = 1, что более чем в 2 раза превышает энтропию. Укрупнение кодируемых блоков позволяет существенно уменьшить величину < n >. Так, при кодировании по две буквы < n > = 0,645, а при кодировании по три буквы < n > = 0,566 (табл. 6-16), что уже близко к минимально возможному значению < n > (< n >мин = Н = 0,479).
Таблица 6-16
Кодирование укрупненных блоков
Размер блока |
Кодируемые блоки |
Вероят-ности |
Кодовые группы |
Число знаков в группе |
Среднее число знаков в группе |
Среднее число знаков на букву |
Две буквы |
х1 х1 |
0,81 |
0 |
1 |
1,29 |
|
х1 х2 |
0,09 |
10 |
2 |
|||
х2 х1 х2 х2 |
0,09 0,01
|
110 111 |
3 3 |
|||
Три буквы |
х1 х1 х1 х1 х1 х2 х1 х2 х1 х2 х1 х1 |
0,729 0,081 0,081 0,081
|
0 100 101 110 |
1 3 3 3 |
1,698 |
|
х1 х2 х2 |
0,009 |
11100 |
5 |
|||
х2 х1 х2 х2 х2 х1 х2 х2 х2 |
0,009 0,009 0,001 |
11101 11110 11111 |
5 5 5 |
При кодировании укрупненных блоков уменьшается также избыточность, обусловленная статистическими связями между элементами сообщений. Это объясняется тем, что укрупнение алфавита источника приводит к декорреляции сообщений: вероятностные связи между блоками слабее, чем между отдельными элементами, и чем длиннее блоки, тем меньше зависимость между ними.
Пропускная
способность дискретного канала с шумами.
Из соотношения (6-285), определяющего
пропускную способность дискретного
канала в общем случае, могут быть получены
формулы для конкретных каналов. Приводимые
ниже формулы справедливы для дискретных
каналов без памяти (см. § 6-11), в которых
используются символы одинаковой
длительности τ
и отсутствуют какие-либо запреты на
допустимую последовательность передачи
символов. Для таких каналов скорость
передачи символов кода
.
1. Однородный симметричный канал. Его пропускная способность
(6-295)
где
при i
≠ j.
В случае двоичного канала
(6-296)
Из выражения (6-295) следует, что С = 0 при ре = (q - 1)/q. На рис. 6-62 приводится зависимость пропускной способности двоичного симметричного канала от вероятности ошибки ре. Как видно из графика, при ре = 0,5 пропускная способность С = 0. Это объясняется следующим. При вероятности ошибок ре = 0,5 принимаемая последовательность не содержит никакой информации о передаваемой последовательности. В этих условиях можно было бы не передавать никаких сигналов, а принимать решение на приемной стороне, например по результатам бросания монеты (цифра или герб).
Рис. 6-62. Зависимость пропусков способности двоичного канала
от вероятности ошибки.
При ре > 0,5 с увеличением вероятности ошибок, пропускная способность возрастает. Это обусловлено тем, что при ре ≠ 0,5 неопределенность ситуации уменьшается и при ре > 0,5 имеется возможность извлечь из принимаемого сигнала больше информации. Для этого надо изменить правило распознавания сигналов на обратное, т.е. считать, что принятая 1 соответствует переданному 0, и наоборот. При этом вероятность ошибочного приема станет равной (1 - ре) < 0,5.
2. Однородный несимметричный канал. Максимальная скорость передачи в несимметричных каналах достигается не при равных вероятностях символов, а при некотором неравновероятном распределении, когда чаще используются символы, имеющие большую вероятность правильного приема.
В качестве примера рассмотрим двоичный канал, в котором символ 1 всегда принимается верно (крайняя несимметрия), т.е.
Пропускная способность такого канала определяется выражением
(6-297)
где
С увеличением ре от 0 до 1 пропускная способность канала падает от до 0. Можно показать, что при ре = 0,5 пропускная способность равна С = 0,322 и достигается она при априорных вероятностях
ропт (0) = 0,4; ропт (1) = 0,6.
3. Однородный симметричный стирающий канал. Его пропускная способность
(6-298)
где рс - вероятность стирания символа.
Если канал является двоичным, то
(6-299)
В тех случаях, когда можно пренебречь вероятностью ошибочного приема по сравнению с вероятностью стирания, пропускная способность рассчитывается по более простой формуле
С ≈ (1 - рс) log q. (6-300)
Примеры.
1. Определим пропускную способность двоичного симметричного канала связи, по которому передается 1000 симв/с при вероятности ошибки ре = 0,1.
Непосредственно по (6-296) имеем:
С = 1000 (1 + 0,1 log 0,1 + 0,9 log 0,9) = 530 дв.ед./с.
Заметим, что при отсутствии шума пропускная способность канала равна 1000 дв.ед./с. Действие шума приводит к искажению в среднем 10 % символов (ре = 0,1), однако пропускная способность снижается при этом почти на 47 %. Столь заметное различие в снижении пропускной способности по сравнению с долей неправильно принятых символов объясняется тем, что на приемной стороне неизвестно, какие именно символы приняты ошибочно. Остаточная неопределенность при этом равна 0,47 дв.ед./симв.
2. По каналу связи, состоящему из передатчика, ретранслятора и приемника (рис. 6-63), передаются символы а1 и а2 со скоростью . Значения априорных вероятностей и вероятностей перехода указаны на рисунке. Определим скорость передачи информации .
Рис. 6-63. Графы вероятностей переходов
в канале с ретранслятором.
Выразим скорость передачи через энтропию принимаемой последовательности
(6-301)
Найдем необходимые вероятности:
Вычислим энтропию Н (А*) и Н (А* | А):
Следовательно,
Заметим, что скорость передачи в данном случае равна пропускной способности, так как заданные априорные вероятности символов соответствуют максимуму выражения (6-301).
Теорема Шеннона для дискретного канала с шумом. Если поток информации , вырабатываемый источником, составляет = С - ε, где ε как угодно мало, а С - пропускная способность канала, то существует способ кодирования, при котором все сообщения, вырабатываемые источником, смогут быть переданы по каналу, а вероятность ошибочного опознания любого переданного сообщения может быть сколь угодно малой. Если > С, то не существует способа кодирования, обеспечивающего передачу всех сообщений с малой вероятностью ошибок.
Доказательство этой теоремы основано на фундаментальном свойстве эргодических последовательностей (см. § 6-10).
Наиболее важным
является утверждение теоремы Шеннона
о том, что в канале с шумами при сколь
угодно малой вероятности ошибки скорость
передачи может быть как угодно близкой
к пропускной способности. До Шеннона
существовало мнение, что при увеличении
достоверности приема скорость передачи
должна неограниченно уменьшаться, т.е.
избыточность кодов должна неограниченно
возрастать. Однако из теоремы Шеннона
следует, что для достижения сколь угодно
малой ошибки приема сообщений достаточно
иметь избыточность
,
где ε
- сколь угодно малая величина. Так, для
примера в двоичном канале при передаче
1000 символ/с
и вероятности искажения символа ре
= 10-1
возможно передавать сообщения со
скоростью ≈ 530 дв.ед./с
при сколь угодно малой вероятности
ошибки. При этом Rа
≈ 0,47.
К сожалению, теорема Шеннона не содержит указаний по конструированию кодов, реализующих эти возможности. Из ее доказательства лишь следует, что необходимо осуществлять кодирование достаточно длинных последовательностей сообщения.
В настоящее время однако уже найдены способы кодирования и декодирования сообщений, позволяющие достаточно близко подойти к пределам, указываемым этой теоремой (см. § 6-6).