2. Кодирование сообщений при передаче по каналу без помех (возможность оптимального (эффективного) кодирования.

Эффективное кодирование

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

Основная теорема Шеннона о кодировании для канала без помех.

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

2. Не существует способа кодирования, обеспечивающего передачу сообщений без их неограниченного накопления.

Методы эффективного кодирования

Теорема не указывает способа кодирования.

Первый из методов эффективного кодирования - код Шеннона-Фано:

Знаки алфавита сообщения выписывают в таблицу в порядке убывания вероятностей. Затем их разделяют на две группы так, чтобы суммы вероятностей в каждой из групп были по возможности одинаковы. Всем знакам верхней половины в качестве единичного символа присваивают 0, а всем нижним - единицу. Каждую из полученных групп, в свою очередь, разбивают на две подгруппы с одинаковыми вероятностями и присваивают 2-й знак, и продолжают процесс до исчерпания символов. Методика годится не для всех возможных алфавитов.

Методика Хаффмана гарантирует однозначное построение кода с наименьшим средним числом знаков на букву.

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

Недостатки системы эффективного кодирования: - различие в длине кодовых комбинаций. Это требует буферов на обеих сторонах канала; - задержка в передаче и при декодировании; - помехонезащищенность.

Hosted by uCoz