
- •А.А. Кузьмин
- •1. Энтропия вероятностной схемы
- •1.1.Основные принципы, понятия и определения теории информации
- •1.2.Количество информации в сообщении
- •Энтропия источника сообщений
- •1.3.Условная энтропия
- •Взаимная информация и взаимная энтропия
- •1.7. Скорость создания информации дискретным источником без памяти
- •2. Элементы теории кодирования информации
- •Основные характеристики кодов
- •1.4.Теоремы кодирования Шеннона
- •Скорость передачи информации по каналу связи определяется количеством передаваемой информации и интервалом времени ее передачи:
- •Таким образом, для реализации помехоустойчивого кодирования в канале связи с помехами, способного обеспечить сколь угодно высокую степень верности, необходимо выполнение условия
- •Контрольные вопросы
- •3. Простые (безызбыточные) коды
- •3.4. Примеры неравномерных кодов
- •Построение кодового дерева Шеннона-Фано
- •Общие принципы построения помехоустойчивых кодов
- •Классификация помехоустойчивых кодов
- •Основные характеристики и корректирующие свойства блочных кодов
- •Линейные блочные коды с обобщенными проверками на четность
- •Формирование (n, k) кода с обобщенной проверкой на четность
- •Структурные схемы кодеров и декодеров линейного кода
- •Принцип построения циклического кода
- •Алгоритм декодирования циклических кодов
- •Структурная схема кодера циклического кода
- •Бчх коды
- •Рекуррентные коды. Кодирование с перемежением
- •Принцип построения рекуррентных (сверточных) кодов
- •Декодирование сверточных кодов
- •6. Пропускная способность каналов связи
- •Пропускная способность непрерывного канала связи
- •Пути повышения пропускной способности непрерывных каналов связи
- •1.5.Пропускная способность дискретного канала связи без помех
- •Контрольные вопросы
- •Элементы теории кодирования информации
- •Простые (безызбыточные) коды
- •Помехоустойчивые блочные коды
- •5. Рекуррентные коды. Кодирование с перемежением
- •6. Пропускная способность каналов связи
- •. Пропускная способность дискретного канала связи без помех 98
- •Основы теории информации
Построение кодового дерева Шеннона-Фано
Знаки исходного алфавита и частоты их появления |
Разделение списка на группы 1-го уровня |
Разделение списка на группы 2-го уровня |
Разделение списка на группы 3-го уровня |
Знак и его представление в двоичном виде |
А 9 |
17 0 |
9 0 |
|
А 00 |
Д 8 |
8 1 |
|
Д 01 |
|
Б 7 |
13 1 |
7 0 |
|
Б 10 |
В 5 |
6 1 |
5 0 |
В 110 |
|
Г 1 |
1 1 |
Г 111 |
Замечаем, что никакая кодовая комбинация не является префиксом никакой другой кодовой комбинации этого кода.
Чтобы декодировать префиксный код, необходимо декодировать последовательно всю кодовую комбинацию. Поскольку конец кодовой комбинации всегда может быть опознан (далее в цифровом потоке идет префикс, а он опознается однозначно - свойство префикса), то декодирование выполняется без задержки принимаемой последовательности. По этой причине префиксные коды еще называются мгновенными.
Если все кодовые комбинации префиксного кода, за исключением, может быть, последней, заканчиваются нулем, то код называется кодом с запятой.
Пример: а1 = 0; а2 =10; а3 = 110; а4 = 111.
Альтернативный алгоритм эффективного кодирования, минимизирующий длину кодированного сообщения, был предложен Д.А. Хаффменом.
Классический алгоритм Хаффмена на входе получает таблицу частот встречаемости элементов в сообщении (рис. 4) или таблицу вероятностей появления символов, на основании которых строится дерево кодирования Хаффмена (Х-дерево).
Правило построения и пример кодового дерева Хаффмена представлены на рис. 4.
Частота появления символов
Рис. 4. Принцип построения дерева Хаффмена
Заметим, что, используя кодовое дерево, можно составить любую кодовую комбинацию путем обхода дерева от корня к листу, например: С – 110; К - 0001.
Задачи
1. Источник может выдавать 10 сообщений, вероятности появления которых равны: С = 0,05; А = 0,3; О = 0,2; М = 0,04; Л = 0,03; Е = 0,1; Т = 0,02; Ч = 0,01; И = 0,1; К = 0,15. Для передачи сообщений построить код Шеннона – Фано.
2. Для условия задачи 1 построить дерево кодов Хаффмена.
3. Закодировать кодом Хаффмена сообщение: «МОЛОТ».
4. Закодировать кодом SSS (3, 2, 12) сообщение, номер которого равен 83.
5. Закодировать НДК сообщение, номер которого равен 83.
6. Перевести код символа 011001 из НДК в код Грэя.
7. Перевести код символа 011001 из кода Грэя в НДК.
Контрольные вопросы
Перечислите достоинства кода Грэя, определяющие область применения.
Какой код называется префиксным?
Поясните условие, при выполнении которого возможна передача сообщений, вырабатываемых дискретным источником, по каналу связи.
Поясните сущность экономного кодирования.
Какие коды называются мгновенными?
В чем разница декодирования кодов Шеннона – Фано и МТК–5?
4. ПОМЕХОУСТОЙЧИВЫЕ БЛОЧНЫЕ КОДЫ