- •Д.Е. Турчин
- •Лабораторный практикум
- •Кемерово 2013
- •Описание лабораторного практикума
- •1.2.2. Понятие кода и кодирования. Моделирование дискретных источников сообщений без памяти
- •1.3. Порядок выполнения работы
- •1.4. Контрольные вопросы
- •Марковские источники сообщений.
- •Эффективность, избыточность и производительность источника сообщений.
- •Кодовые деревья и префиксные коды.
- •2.3. Порядок выполнения работы
- •2.4. Контрольные вопросы
- •3.2.2. Пропускная способность дискретного канала связи. Кодеры и декодеры канала связи. Код с битом четности Пропускная способность дискретного канала связи.
- •Кодер и декодер канала связи. Код с битом четности.
- •3.3. Порядок выполнения работы
- •3.4. Контрольные вопросы
- •Метод Шеннона-Фано.
- •4.2.2. Методы кодирования источников сообщений по Хаффману Кодирование дискретного источника сообщений без памяти по Хаффману.
- •4.3. Порядок выполнения работы
- •4.4. Контрольные вопросы
- •Декодирование арифметического кода.
- •5.2.2. Метод адаптивного арифметического кодирования и его программная реализация
- •5.3. Порядок выполнения работы
- •5.4. Контрольные вопросы
- •6. Сжатие информации методами Лемпела-Зива
- •6.1. Цель работы
- •6.2. Основные теоретические сведения
- •Код Хэмминга.
- •7.2.2. Расширенный код Хэмминга. Программная реализация кода Хэмминга Расширенный код Хэмминга.
- •7.3. Порядок выполнения работы
- •7.5. Контрольные вопросы
- •8. Построение и декодирование линейных блоковых кодов
- •8.1. Цель работы
- •8.2. Основные теоретические сведения
- •8.3. Порядок выполнения работы
- •8.4. Контрольные вопросы
- •Приложение п.1. Понятие события и его вероятности. Теоремы сложения и умножения вероятностей Понятие события и вероятности события. Непосредственный подсчет вероятностей.
- •Теорема сложения вероятностей.
- •Теорема умножения вероятностей.
- •П.2. Данные для расчета энтропии и количества информации
- •П.3. Матрицы и операции над ними п.4. Многочлены и операции над ними
- •П.5. Вопросы к экзамену
Марковские источники сообщений.
Марковским источником называется дискретный источник сообщений с памятью 1-го порядка, работающий по схеме эргодического марковского процесса. Графы состояний марковских источников, имеющих два, три и четыре состояния, показаны на рис. 2.2.
Рис. 2.2. Графы состояний простейших марковских источников
Марковский источник может быть описан с помощью матрицы переходных вероятностей, которая имеет следующий вид:
;
Сумма элементов всех элементов любой строки матрицы Pm должна быть равна 1, поскольку текущее состояние источника должно обязательно перейти в какое-либо состояние:
(i
= 1, 2, … , m).
С учетом статистической связи между парами символов энтропия марковского источника может быть найдена из формулы:
(бит/символ); (2.1)
где p(sj | si) – условная вероятность появления символа sj при заданном символе si.
Для нахождения энтропии марковского источника требуется найти стационарное распределение вероятностей состояний p*(si) этого источника.
❒ Пример 2.1. Разработка компьютерной модели дискретного источника сообщений с памятью.
Требуется разработать компьютерную модель дискретного источника сообщений с памятью. В качестве такого источника выступает марковский источник с алфавитом S = {s1, s2, s3, s4}, который описывается следующей матрицей переходных вероятностей:
-
i, j
s1
s2
s3
s4
s1
0,11
0,36
0,19
0,34
s2
0,27
0
0,45
0,28
s3
0,35
0,29
0,05
0,31
s4
0,23
0,48
0,29
0
В результате моделирования необходимо получить вероятности нахождения источника в состояниях s1, s2, s3, s4.
В качестве основы для создания компьютерной модели воспользуемся программным кодом, полученным в примере 1.5.
Для получения модели марковкого источника необходимо доработать класс DiskrIS, добавив в него вместо одномерного массива безусловных вероятностей двумерный массив переходных вероятностей p[m,m]. Также требуется добавить целочисленное поле z для хранения индекса текущего отправленного символа, что является памятью источника о своем состоянии.
Исправленный программный код класса DiskrIS представлен на рис. 2.3.
Рис. 2.3. Доработанный программный код класса DiskrIS
В методе GenSimv() класса DiskrIS добавлена проверка принадлежности случайного числа x определенному интервалу переходных вероятностей. Этот интервал выбирается как строка матрицы p[m,m] с номером равным значению z.
Результат работы консольного приложения при заданной длине исходного сообщения N = 50000 символов показан на рис. 2.4.
Рис. 2.4. Результат работы консольного приложения
Отсюда стационарное распределение вероятностей появления символов будет:
p*(s1) = 12102 / 50000 = 0,242;
p*(s2) = 13557 / 50000 = 0,271;
p*(s3) = 12511 / 50000 = 0,250;
p*(s4) = 11830 / 50000 = 0,237;
=
0,242 + 0,271 + 0,25 + 0,237 = 1.
❒
