![](/user_photo/2706_HbeT2.jpg)
- •Сибирский государственный аэрокосмический университет
- •© Сибирский государственный аэрокосмический университет имени академика м. Ф. Решетнева, 2007
- •Оглавление
- •Предисловие
- •1. Информационная метрика
- •1.1. Энтропия и ее свойства
- •1.2. Энтропия сложной системы
- •1.3. Условная энтропия. Объединение зависимых систем
- •1.4. Определение информационных потерь в каналах связи
- •2. Кодирование информации
- •2.1. Количественное определение избыточности в сообщениях
- •2.2. Оптимальное неравномерное кодирование
- •2.2.1. Кодирование методом шеннона-фано
- •2.2.2. Кодирование методом хаффмана
- •2.2.3. Кодирование методом хаффмана. Кодовое дерево
- •2.2.4. Определение оптимальности закодированных сообщений
- •2.3. Корректирующие коды
- •2.3.1. Код хемминга
- •2.3.2. Линейные групповые коды
- •3. Указания к выполнению лабораторных работ
- •3.1. Лабораторная работа № 1
- •3.2. Лабораторная работа № 2
- •3.3. Лабораторная работа № 3
- •3.4. Лабораторная работа № 4
- •3.5. Лабораторная работа № 5
- •Заключение
- •Библиографический список
3.3. Лабораторная работа № 3
Определение избыточности сообщений.
Оптимальное неравномерное кодирование
Цель работы: Закрепление знаний по методам кодирования информации.
Задание:
1. Используя заданный текст определить:
- Избыточность заданного текста, вызванную неравновероятностью появления символов в сообщении;
- Избыточность, вызванную статистической связью между соседними символами;
- Полную избыточность.
2. Используя заданный текст построить оптимальный неравномерный код, применяя:
- Метод Шеннона-Фано;
- Метод Хаффмана.
3. Определить для каждого метода среднюю длину символа исходного алфавита, коэффициент статистического сжатия, коэффициент относительной эффективности
4. Закодировать исходный текст методом Шеннона-Фано и методом Хаффмана.
5. Декодировать текст, закодированный методом Шеннона-Фано и методом Хаффмана.
Контрольные задачи:
Задание 1
Построить код для передачи сообщений методом Шеннона-Фана. Вероятности появления букв первичного алфавита равны: А1 = 0,5; А2 = 0,25; А3 = 0,098; А4 = 0,052; А5 = 0,04; А6 = 0,03; А7 = 0,019; А8 = 0,011. Определить коэффициент статистического сжатия и коэффициент относительной эффективности.
Задание 2
Определить эффективность кода, построенного по методу Шеннона-Фано, составленного из алфавита со следующим распределением вероятностей букв в сообщениях: А = 0,17; Б = 0,13; В = 0,11; Г = 0,09; Д = 0,07; Е = 0,03; Ж = 0,04; И = 0,02; К = 0,31; Л = 0,03.
Задание 3
Чему равна средняя длина кодового слова оптимального кода для первичного алфавита со следующим распределением вероятностей: р(а1) = 0,13; р(а2) = 0,16; р(а3) = 0,02; р(а4) = 0,03; р(а5) = 0,6; р(а6) = 0,01; р(а7) = 0,05?
Задание 4
Построить методом Хаффмена оптимальный код для алфавита со следующим распределением вероятностей появления букв в тексте: A = 0,5; B = 0,15; C = 0,12; D = 0,1; E = 0,04; F = 0,04; G = 0,03; H = 0,02.
Задание 5
Методом Хаффмена(кодовое дерево) построить оптимальный код для алфавита А, Б, В, Г, Д, Е, Ж, З, если вероятности появления букв равны соответственно: 0,06; 0,15; 0,15; 0,07; 0,05; 0,3; 0,18; 0,04.
Задание 6
Построить код Хаффмена для передачи сообщений следующего исходного алфавита: А = 0,24; Б = 0,18; В = 0,38; Г = 0,1; Д = 0,06; Е = 0,02; Ж = 0,02, если число качественных признаков вторичного алфавита равно m2 = 3.
3.4. Лабораторная работа № 4
Определение и исправление ошибок в сообщении.
Код Хемминга
Цель работы: Закрепление знаний по методам кодирования информации.
Задание:
Построить код Хемминга для исправления одиночной ошибки и обнаружения двойной ошибки.
Код должен предусматривать возможность посылки n сообщений.
Варианты заданий:
Таблица 3
Вариант |
Кол-во сообщ. n |
Вариант |
Кол-во сообщ. n |
Вариант |
Кол-во сообщ. n |
Вариант |
Кол-во сообщ. n |
1 |
16 |
6 |
512 |
11 |
16384 |
16 |
512 |
2 |
32 |
7 |
1024 |
12 |
32784 |
17 |
1024 |
3 |
64 |
8 |
2048 |
13 |
65536 |
18 |
2048 |
4 |
128 |
9 |
4096 |
14 |
128 |
19 |
4096 |
5 |
256 |
10 |
8192 |
15 |
128 |
20 |
8192 |
1. Рассчитать параметры кода: nu , nk , n.
2. Привести пример 10 кодовых сообщений
3. Показать процедуру исправления ошибки в одной из позиций (по заданию преподавателя).
4. Составить программу кодирующую и декодирующую кодовую комбинацию.
Контрольные задачи:
Задание 1
Требуется передать 16 сообщений. Построить код Хэмминга, исправляющий одну ошибку.
Задание 2
Построить код Хэминга для информационной комбинации 0101. Показать процесс обнаружения ошибки.
Задание 3
Какой вид имеют комбинации корректирующего кода Хэмминга для передачи сообщений 1101 и 1011? Показать процесс построения корректирующего кода.
Задание 4
Переданы следующие комбинации в коде Хэмминга: 1101001, 0001111, 0111100. Получены – 1001001, 0011111, 0110100. Показать процесс обнаружения ошибки.
Задание 5
Построить код Хэмминга для исправления одиночной ошибки и обнаружения двойной ошибки четырехзначного двоичного кода. Показать процесс построения кода.
Задание 6
Построить код Хэмминга для передачи одиннадцатиразрядной информационной комбинации 10110110110. Показать процесс обнаружения ошибки, которая произошла в пятом разряде соответствующей комбинации корректирующего кода.
Задание 7
Построить код Хэмминга, исправляющий одиночную ошибку. Общее количество сообщений, передаваемых комбинациями полученного кода, должно быть не менее 30.