
- •Помехоустойчивое кодирование в системах телекоммуникаций
- •Пояснительная записка
- •Лабораторная работа 1 Исследование эффективных кодов на примере кода Хаффмена
- •1. Цель работы:
- •2. Литература:
- •3. Подготовка к работе:
- •4. Основное оборудование:
- •5. Задание:
- •6. Порядок выполнения работы:
- •7. Содержание отчета:
- •8. Контрольные вопросы:
- •9. Методические указания:
- •9.2. Основы эффективного кодирования
- •9.3. Методы эффективного кодирования при известной статистике сообщений
- •9.4. Методы эффективного кодирования при неизвестной статистике сообщений
- •9.5. Метод Хаффмена
- •9.6 Описание лабораторной работы
- •Лабораторная работа 2 Исследование эффективности линейных блоковых кодов
- •6.2. Исследование системы передачи данных с двоичным симметричным каналом связи при использовании кода Хэмминга.
- •7. Содержание отчета:
- •8. Контрольные вопросы:
- •Лабораторная работа 3 Исследование эффективности циклических кодов
- •7. Содержание отчета:
- •8. Контрольные вопросы:
- •9. Методические указания:
- •8.2 Инструкция по пользованию практической части программы
- •8.3 Инструкция по использованию тестирующей части программы
- •Лабораторная работа 4 Исследование алгоритма Витерби
- •6.2 Экспериментальной части программы
- •6.3 Инструкция по использованию тестирующей части программы
- •9.2 Представление сверточного кода порождающими многочленами
- •9.3. Кодовое дерево сверточного кода и решетчатая диаграмма
- •9.4 Свободное расстояние. Спектр.
- •9.5 Катастрофические кодеры
- •9.6 Декодирование сверточных кодов по максимуму правдоподобия. Алгоритм Витерби
- •9.7 Поиск кратчайшего пути на графе по принципу динамического программирования
- •9.8 Алгоритм Витерби
- •Лабораторные работы 5,6 Исследование схем кодеров и декодеров с обнаружением ошибок
- •6. Порядок выполнения работы:
- •6.2. Исследование системы передачи данных с кодами рс при использование канала с Гауссовскими помехами.
- •7. Содержание отчета:
- •8. Контрольные вопросы:
- •Лабораторные работы 7,8 Исследование схем кодеров и декодеров с исправлением ошибок
- •6. Порядок выполнения работы:
- •7. Содержание отчета:
- •8. Контрольные вопросы:
8.2 Инструкция по пользованию практической части программы
8.2.1 Для виртуальной лабораторной работы «Циклическое кодирование» была разработана практическая часть по построению кодирующего и декодирующего устройства циклического кода. Целью данного раздела является самостоятельное конструирование студентом кодера и декодера по технологии drag and drop (технология «перетаскивания») элементов устройства (триггеров, сумматоров, ключей и проводников) на принципиальную схему.
8.2.2. Переход в практическую часть осуществляется при помощи кнопки «Лабораторная практика» на главном диалоговом окне (см. Рисунок 1).
При нажатии данной клавиши появляется меню выбора вида устройства (кодирующего и декодирующего). Практическую часть необходимо выполнить в следующем порядке, сначала построить кодирующее устройство, а затем декодирующее. Внешний вид меню выбора устройства показан на рисунке 4.
Рисунок 4 - Внешний вид меню выбора устройства
8.2.3 Построение кодера. Студенту предоставляется один из десяти вариантов построения (выдачу варианта осуществляет преподаватель). Вариант содержит начальные условия и набор компонентов (триггеров, сумматоров, ключей и проводников). Студент должен в соответствии с заданием построить кодер путем «перетаскивания» нужных элементов на принципиальную схему (рисунок 5).
Рисунок 5 – Построение кодирующего устройства циклического кода путем «перетаскивания» элементов
При нажатии кнопки «Проверка» появляется окно «Верно», в случае, если кодирующее устройство построено правильно (рисунок 6).
Рисунок 6 – Окно подтверждения «Верно»
Программа реализована таким образом, что к последующему этапу выполнения задания можно перейти только тогда, когда первая часть будет выполнена абсолютно верно.
Поле «Не верно» появляется, если задание не выполнено (рисунок 7). В этом случае пользователю (студенту) необходимо заново приступить к выполнению задания.
Рисунок 7 – Окно подтверждения «Не верно»
Следующим этапом выполнения задания, является заполнение таблицы, которая показывает работу кодера. Пользователю (студенту) предоставляется шаблон кодовой таблицы, в которую необходимо ввести правильные значения. Эти значения студент должен рассчитать самостоятельно. Данная таблица приведена на рисунке 8:
Рисунок 8 – Внешний вид окна «Таблица состояния кодера циклического кода»
Кнопка «Проверка» осуществляет проверку правильности заполнения таблицы. В случае, если пользователь (студент) справился с заданием, он может перейти к следующему этапу практической части т.е к построению декодера циклического кода.
8.2.4 Построение декодера. Декодер циклического кода строится по тому же принципу, что и кодер, но имеет некоторые отличия, такие как:
-
добавляется логический элемент «ИЛИ»;
-
усложняется разрабатываемая схема.
Внешний вид декодера изображен на рисунке 9.
В случае верного построения декодера (согласно выбранному варианту) программа выдаст диалоговое окно «Верно», в котором предложит перейти к следующему заданию (построение кодовой таблицы). В случае неправильного построения декодера программа выдаст диалоговое окно «Не верно» и потребует устранить ошибку.
Рисунок 9 – Построение декодирующего устройства циклического кода путем «перетаскивания» элементов