Лекции / ЛЕКЦИЯ 3.doc Дискретный источник
..docТаким образом, пропускная способность канала без шума характеризует не только предельную скорость передачи информации, достижимую при безизбыточном входном сообщении, но и верхнюю границу скорости передачи информации, принципиально достижимую при любых характеристиках источника сообщений. Отсюда следует, что условием согласования источника сообщений с каналом является не соответствие скоростей формирования символов, а соответствие их информационных характеристик: производительности источника и пропускной способности канала. В канале без помех источником ненадежности отождествления передаваемых сообщений может быть только операция кодирования.
Такой же результат можно получить другим способом, используя вероятностный подход (метод кодирования Шеннона – Фано).
Доказательство.
Расположим сообщения длины N в порядке убывания их вероятностей, т.е. р1≥ р2≥…≥рn. Пусть Ps – накопленная вероятность до p s-1 включительно.
![]()
Закодируем все сообщения в двоичной системе. Двоичный код для сообщения S получается путем разложения Ps как двоичного числа. Разложение проводится до m s– й позиции, где m s – целое число, удовлетворяющее соотношению

Таким образом, высоковероятные сообщения представляются короткими кодами, а маловероятные – длинными. Из этих неравенств вытекает следующее неравенство
![]()
Код для Ps
будет отличаться от всех последующих
кодов одной или более из своих ms
позиций, так как все остающиеся Pi
по крайней мере на
больше
и поэтому их двоичные разложения
отличаются от кода для Ps
на первых
ms
позициях. Следовательно, все эти коды
различны , и можно восстановить сообщение
по его коду. Если последовательности
символов канала не являются уже двоичными
последовательностями, им можно приписать
двоичные числа произвольным образом и
преобразовать таким образом двоичный
код в сигналы, используемые для канала.
Найдем оценку среднего числа бит (Н1), необходимых для кодирования первоначального сообщения. Имеем
Подставив в неравенство нахождения двоичного кода сообщения S, получим

или GN ≤ H1 < GN +1/N. С ростом N величина GN стремится к Н – энтропии источника, и Н1 также стремится к Н.
Отсюда видно, что неэффективность кодирования в случае, когда используется конечное запаздывание на N символов, не должна быть болmше, чем 1/N плюс разность между истиной энтропией и энтропией GN, сосчитанной для последовательностей длины N. Поэтому необходимое увеличение времени по сравнению с идеальным в процентах не превысит

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

должна быть мала для всех длинных сообщений, за исключением небольшой их доли.
Если источник создает только одно определенное сообщение, то его энтропия равна нулю и никакой канал не нужен. В случае источника, обладающего максимальной энтропией, следует учитывать статистические свойства источника, которые могут быть сохранены. Энтропия этого источника определяет необходимую и достаточную пропускную способность канала.
Преобразователь, осуществляющий кодирование, согласовывает источник с каналом в статистическом смысле. Источник, рассматриваемый через преобразователь со стороны канала, должен иметь такую же статистическую структуру, какую имеет источник, который максимизирует энтропию в канале.
Проиллюстрируем полученные результаты примером.
ПРИМЕР 1. Имеется источник, создающий последовательность букв, выбранных из набора букв A, B, C, В с вероятностями соответственно 1/2; 1/4; 1/8; 1/8, причем очередная буква выбирается независимо. Имеем
H = - [(1/2 )log1/2 +(1/4)log ¼ +(2/8)log 1/8] =7/4 бит на символ. Таким образом, для кодирования сообщений этого источника двоичными знаками в пределе достаточно 7/4 битов на символ. В этом случае можно действительно достигнуть предельного значения, применяя следующий код:
A 0
B 10
С 110
В 111
Среднее число битов, потребных для кодирования последовательности из N символов, будет равно
N= [(1/2)x1 + (1/4)x2 + (2/8)x3] = (7/4)N
Легко видеть, что двоичные знаки 0 и 1 имеют вероятности 1/2 и 1/2 соответственно. В этом случае энтропия H для кодированных последовательностей равна одному биту на символ. Так как в среднем мы имеем 7/4 двоичных знаков на первоначальную букву, то энтропия на единицу времени будет той же самой. Максимальная возможная энтропия для первоначального набора букв равна log 4 = 2 и достигается , когда A, B, C, D обладают вероятностями 1/4; 1/4; 1/4; 1/4. Отсюда относительная энтропия равна 7/8. Можно перевести двоичные последовательности в первоначальные символы в соотношении 2 к 1,основываясь на следующей таблице
-
A’
-
B’
-
C’
11 D’
Тогда этот двойной процесс закодирует первоначальное сообщение в те же самые символы, но со средним коэффициентом сжатия 7/8.
Шеннон и Р.Фано в 1950 году разработали алгоритм, выполняющий сжатие на основе учета статистических свойств алфавита. Развивая идеи К.Шеннона, Д. Хаффман – профессор Массачусетского технологического института предложил более элегантное решение проблемы.
Идея, лежащая в основе кода Хаффмана, достаточно проста. Вместо того чтобы кодировать все символы одинаковым числом бит (как это сделано, например, в ASCII кодировке, где на каждый символ отводится ровно по 8 бит), он предложил кодировать символы, которые встречаются чаще, меньшим числом бит, чем те, которые встречаются реже. Более того, было поставлено условие, чтобы код был оптимален или, другими словами, минимально-избыточен.
В следующем примере источник создает последовательности из букв А и В, выбираемых с вероятностями р для А и q для В. Если p ≤ Q, то

В этом случае можно создать достаточно хорошую систем кодирования сообщений для двоичного канала, посылая специальный символ (например, 0000), когда нужно передать редкий символ А, а затем, посылая последовательность, указывающую число букв В, следующих за ним. Это число может быть указано путем представления в двоичной системе, причем все числа, содержащие специальную последовательность, исключаются. Все числа до 16 изображаются, как обычно; 16 представляется следующим после 16 двоичным числом, которое не содержит четырех нулей, а именно, 17 = 10001 и т. д. Если длина специальной последовательности выбрана правильно, можно показать, что при р → 0 такое кодирование приближается к идеальному.
ЛИТЕРАТУРА.
-
К. Шеннон Работы по теории информации и кибернетике. М:, изд. “ИЛ”, 1963, стр. 264 – 275.
-
www.guap.ru/dept03/caf35/ti_part1.pdf
