Основная теорема Шеннона о эффективном кодировании
В любом реальном сигнале всегда присутствуют помехи. Однако, если их уровень настолько мал, что вероятность искажения практически равна нулю, можно условно считать, что все сигналы передаются неискаженными. В этом случае среднее количество информации, переносимое одним символом, можно считать:
J(Z; Y) = Hапр(Z) – Hапост(Z) = Hапр(Y),
так как H(Y) = H(Z) и H(Y/Z) = 0, а max{J(Z; Y)} = Hmax(Y) – max энтропия источника сигнала, получающаяся при равномерном распределении вероятностей символов алфавита Y.
p( y1) = p( y2) = ... = p( ym) = 1/My,
т.е. Hmax(Y) = logaMy
и, следовательно, пропускная способность дискретного канала без помех в единицах информации за единицу времени равна:
Cy = Vy · max{J(Z; Y)} = Vy · Hmax(Y) = Vy · logaMy
или Ck = Vk · logaMy,
где Mk – должно быть max возможное количество уровней, допустимое для передачи по данному каналу (конечно, Mk = My);
Vk – определяется частотными переключательными способностями канала:
Если источник информации создает поток информации
 ,
а канал связи обладает пропускной способностью С ед. информации в единицу времени, то при H(x) ≤ C:
- Сообщения, вырабатываемые источником, всегда можно закодировать так, чтобы скорость их передачи была сколь угодно близкой к
.
- Не существует способа кодирования, позволяющего сделать эту скорость большей, чем Vx max.
Согласно сформулированной теореме существует метод кодирования, позволяющий при:
H(x) ≤ C – передавать всю информацию, вырабатываемую источником при ограниченном объеме буфера;
H(x) > C – такого метода кодирования не существует, так как требуется буфер, объем которого определяется превышением производительности источника над пропускной способностью канала, умноженной на время передачи.
Из этой теоремы вытекает следующее следствие: если источник информации имеет энтропию H(X), то сообщения всегда можно закодировать так, чтобы средняя длина кода lср (количество символов сигнала на одну букву сообщения) была сколь угодно близкой к величине:
 ,
то есть при а = 2 (бит) и My = 2 {0; 1} имеем:
 ,
где pi – вероятность встречи данного элемента алфавита;
li – количество символов в i-ой кодовой комбинации;
ε – бесконечно малая величина ≥ 0, т.е. lim lср = H(x).
Это следует из равенства:
 .
Таким образом, lср выступает критерием эффективности кодирования. Чем ближе lср к H(x), тем лучше мы закодировали. В инженерной практике это различие можно считать допустимым 3÷5% (до 10%). http://peredacha-informacii.ru/ Из этого же критерия следует, что если буквы имеют равномерное распределение вероятностей их употребления, то
H(x) @ log2 M,
а lср тоже равно log2 M. Пределы эффективного кодирования:
H(x) ≤ lср ≤ log2 M.
|