- •Теория информации Учебное пособие
- •Введение
- •1. Информационные характеристики источников сообщений
- •Энтропия как мера неопределенности физической системы
- •1.2 Энтропия сложной системы
- •Сложение энтропии независимых систем
- •Условная энтропия
- •1.3. Количественные аспекты информации
- •1.4. Количество информации, как мера снятой неопределенности
- •1.5. Объем информации
- •1.6. Взаимная информация
- •Упражнения
- •Решение
- •Лабораторная работа Свойства энтропии
- •2. Неопределенность непрерывных случайных величин
- •2.1. Энтропия непрерывной случайной величины х
- •2.2. Количество информации для непрерывных систем
- •2.3. Принцип экстремума энтропии и экстремальные распределения
- •Подставим (2.9) в (2.6)
- •При взятии интеграла учтем, что имеется соответствующий табличный интеграл
- •Сравнительная оценка сообщений, передаваемых по нормальному закону и равновероятному закону распределений
- •2.4. Епсилон энтропия (ε-энтропия )
- •3. Передача информации по каналам связи
- •3.1. Источники сообщений
- •3.2. Избыточность информации
- •3.3. Передача информации по каналу связи. Пропускная способность канала
- •Матрица для нахождения условной вероятности
- •Матрица условных вероятностей имеет вид
- •3.4. Пропускная способность непрерывных каналов связи
- •Скорость передачи информации будет равняться
- •Тогда , (3.8) где p мощность сигнала, а n мощность помехи
- •3.5. Согласование скорости выдачи информации, выдаваемой источником, с пропускной способностью канала связи
- •3.6. Согласование оконечных устройств с каналами связи
- •Упражнения
- •Лабораторная работа
- •4. Кодирование информации
- •4.1. Префиксные коды
- •Коды 1,2,3 не обладают свойством префикса, а код 4 обладает.
- •4.2. Основные теоремы кодирования
- •4.3. Оптимальное кодирование
- •4.4. Код Шеннона – Фано
- •Средняя длина полученного кода будет равна
- •4.5. Блочное кодирование
- •4.6. Код Хаффмана
- •4.7. Совмещенный способ построения кода Хаффмана Совмещенный способ построения кода Хаффмана представляет объединение двух процессов: обычного алгоритма построения и метода дерева.
- •Лабораторная работа
- •5. Сжатие информации
- •5.1. Основные понятия
- •5.2. Методы сжатия без потерь
- •Кодирование длин серий (rle - кодирование)
- •Коды Фибоначчи
- •Методы энтропийного сжатия
- •Метод арифметического сжатия
- •Методы контекстного моделирования
- •Словарные методы сжатия
- •5.3. Методы сжатия с потерями
- •6. Помехоустойчивое кодирование
- •6.1 Коды с обнаружением ошибок
- •Код с проверкой на четность.
- •Код Грея записывается следующим образом
- •Обратный переход из кода Грея в двоичный код
- •6.2. Корректирующие коды
- •6.3. Код Хемминга
- •Проверяем ее
- •6.4. Техническая реализация кода Хэмминга
- •6.5 Циклические коды
- •Декодирование циклических кодов
- •Аппаратурная реализация циклических кодов.
- •Пусть на вход подается комбинация 1101001
- •Теперь пусть на вход подается комбинация с ошибкой 1100001
- •Упражнения
- •Лабораторная работа
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Задание 7
- •Задание 8
- •Задание 9
- •Задание 10
- •Задание 11
- •Задание 12
- •Задание 13
- •Задание 14
- •Задание 15
- •Задание 16
- •Задание 17
- •Задание 18
- •Задание 19
- •Задание 20
- •Список литературы
- •Оглавление
4.5. Блочное кодирование
Пусть имеются две буквы алфавита A и B. Как возможно закодировать данные буквы? Наверное только по одному символу.
A |
0.9 |
0 |
B |
0.1 |
1 |
Средняя
длина будет равна 1 биту
бит/буква
А
энтропия равна
.
То есть, избыточность составляет 53%.
Как же быть? Попробуем закодировать
двухбуквенные сочетания. В этом случае
уже можно воспользоваться эффективным
кодированием.
AA |
0.81 |
0 |
------ |
------ |
0 |
AB |
0.09 |
|
0 |
------ |
10 |
BA |
0.09 |
1 |
1 |
0 |
110 |
BB |
0.01 |
|
|
1 |
111 |
Тогда
средняя длина на блок из двух букв будет
.
А на одну букву
=0.645
бит/буква. Избыточность в этом случае
будет уже составлять примерно 17%. Если
мы возьмем сочетания из трех букв, то
получим еще лучший результат и т.д.
Увеличивая длину блоков можно как угодно
близко приблизиться к оптимальному
значению
Блочное
кодирование удобно применять и для
устранения избыточности при кодировании
десятичных цифр. При передаче десятичных
цифр двоичным кодом максимально
загруженными бывают только те символы
вторичного алфавита, которые передают
значения, являющиеся целочисленными
степенями двойки. Это 4, 8, 16, … В других
случаях тремя разрядами можно передать
и 5 и 8. Так для передачи цифры 5 необходимо
.
Однако эту цифру необходимо округлить
до ближайшего целого числа 3. Избыточность
от округления будет составлять
Избыточность от не равновероятного появления символов и избыточность от округления можно устранить за счет кодирования блоками.
Цифры Число разрядов На 1 цифру
0 – 9 4 4
00 – 99 7 3,5
000 – 999 10 3,3
4.6. Код Хаффмана
Второй код, являющийся не менее эффективным, чем код Шеннона-Фано, является код Хаффмана. Он также учитывает статистические свойства сигналов, при которых вероятности появления букв p1, р2, …рк не равные между собой, поэтому H < log n.
Код Хаффмана строится следующим образом: буквы располагают в порядке убывания их вероятностей. Складывают вероятности двух последних букв, и ряд переписывают снова с учетом новой вероятности (суммы). Далее повторяют операцию, пока не получится 1. Нижнюю букву всегда кодируют нулем, а верхнюю – единицей.
Для составления кодовых комбинаций строится кодовое дерево. Двигаясь по кодовому дереву сверху вниз, можно записать для каждой буквы соответствующую ей кодовую комбинацию.
Код Хаффмана, также как и Шеннона-Фано является префиксным, то есть в таком коде ни одна комбинация не совпадает с началом более длинной комбинации, а это позволяет обеспечить однозначное декодирование без введения разделительных символов.
Среднее кол-во разрядов:
Энтропия будет равна
Как мы видим, величина среднего кол-ва разрядов получилась достаточно близкой к энтропии, следовательно, код можно считать эффективным. При этом для сравнения можно вычислить величину K для равномерного кода:
