- •Методические указания
- •Содержание
- •Общие методологические указания к выполнению лабораторного практикума
- •1 Цели и задачи лабораторного практикума
- •2 Порядок выполнения лабораторных работ
- •Структурная схема передачи информации
- •Основные понятия и определения
- •Количество информации в дискретном сообщении. Энтропия
- •Параметры и характеристики кодов
- •Избыточность дискретного источника сообщений
- •Классификация кодов
- •Не избыточные коды
- •2.6.1 Простые равномерные коды
- •Описание программного обеспечения для выполнения лабораторных работ
- •Программа исследований
- •Содержание отчёта
- •Контрольные вопросы
- •Лабораторная работа № 2 Эффективное кодирование. Метод Шеннона-Фано
- •1 Цель работы
- •2 Основные теоретические положения
- •2.1 Эффективное кодирование
- •2.1.1 Общие положения
- •Коды Шеннона - Фано.
- •2.1.3 Коды Хаффмана.
- •Программа исследований
- •Содержание отчёта
- •Контрольные вопросы
- •1 Цель работы
- •2 Основные теоретические положения
- •2.2 Основы матричного представления кодов
- •2.3 Код с проверкой на четность
- •2.4 Код с простым повторением
- •3 Программа исследований
- •4 Содержание отчета
- •5 Контрольные вопросы
- •2.2 Коды Хэмминга
- •3 Программа исследований
- •4 Содержание отчета
- •5 Контрольные вопросы
- •2.2 Матричное представление циклических кодов
- •2.3 Выбор образующего полинома
- •2.4 Обнаружение и исправление ошибок
- •2.5 Коды Файра
- •3 Программа исследований
- •4 Содержание отчета
- •5 Конрольные вопросы
- •Лабораторная работа №6 Динамическое кодирование неравномерными кодами. Динамические коды Хаффмена
- •1 Цель работы
- •2 Основные теоретические положения
- •2.1 Динамическое кодирование Хаффмена
- •2.2 Алгоритм динамического кодирования методом fgk
- •3 Программа исследований
- •4 Содержание отчета
- •5 Контрольные вопросы
Описание программного обеспечения для выполнения лабораторных работ
Для автоматизации некоторых этапов лабораторных работ была разработана программа KIZI (файл KIZI.EXE). Программа имеет интуитивно понятный интерфейс и включает в себя выполнение следующих функций:
Определение информационных характеристик сообщения.
Для задаваемого файла с исходным сообщением вычисляется энтропия, и определяются относительная частота появления символа и его номер. Результаты можно сохранить, выбрав пункт File/Save as.
Кодирование исходного сообщения.
Для задаваемого файла с исходным сообщением и выбранного метода кодирования выводится таблица кодов, которую необходимо заполнить вручную (для эффективных и простых кодов), либо оставить без изменений для матричных кодов. Также при выборе избыточных матричных кодов необходимо задать файл с порождающей и проверочной матрицами, расположенными в соответствующем формате.
Передача закодированного сообщения
Для задаваемого исходного сообщения и таблицы кодов (сформированной в п. 2) задается количество ошибок и их вероятности. Процесс передачи через канал связи с помехами происходит автоматически.
Декодирование принятого сообщения.
Для задаваемого полученного из канала сообщения, и таблицы кодов происходит процесс декодирования данного сообщения.
Построение графика зависимости числа ошибочных символов от вероятности одиночной ошибки в канале связи.
Программа KIZI.EXE оперирует с различными файлами, которые имеют по умолчанию такие расширения:
-
Расширение по умолчанию
Назначение
TXT
Текстовый файл
ETR
Информационные характеристики
сообщения
CT
Кодовая таблица
TM
Сообщение для передачи
RM
Принятое сообщение
DCD
Декодированное сообщение
RES
Результат работы
MTR
Файл с матрицами
Программа исследований
3.1 В полученном тексте (исходное сообщение) определить состав и размер первичного алфавита и произвести расчёт энтропии исходного сообщения.
3.2 Для построения простого табличного кода каждой букве присвоить порядковый номер, начиная с первого. Именно он и будет в десятичной системе являться кодом символа (все кодовые комбинации должны иметь одну длину, т.к. простой код равномерный).
3.3 Определить длину кода, его мощность, веса кодовых комбинаций. Рассчитать избыточность.
3.4 Заполнить кодовую таблицу в программной модели информационной системы построения кодов.
3.5 Осуществить передачу сообщения через канал связи с шумами.
3.6 Сравнить принятые и переданные кодовые комбинации и произвести подсчёт числа и доли искажённых разрядов.
3.7 Произвести декодирование принятого сообщения.
3.8 Сравнить принятое и переданное сообщения и подсчитать: числа и доли искажённых символов, числа и доли, обнаруживаемых ошибок (символ «#»).
3.9 Повторить пункты 3.5-3.7 для разных вероятностей одиночных ошибок и ошибок кратности 2-5.
3.10 Построить график зависимости числа ошибочных символов от вероятности одиночной ошибки в канале связи.
3.11 Сделать выводы и оформить отчёт.
