
- •Методические указания
- •Содержание
- •Общие методологические указания к выполнению лабораторного практикума
- •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 Контрольные вопросы
4 Содержание отчета
1 Цель работы.
2 Исходное сообщение.
3 Порождающая и проверочная матрица, а также проверочные уравнения кода с проверкой на четность.
4 Таблица кода.
5 Расчет параметров полученного кода.
6 Декодированное сообщение при определенной вероятности одиночной ошибки в канале.
7 Подсчитанное количество ошибочных разрядов, а также их доля от общего числа бит сообщения.
8 Подсчитанное количество ошибочных символов, их доля от общего числа символов сообщения, а также число и доля (от общего числа ошибочных символов) обнаруживаемых ошибок (символ «#»).
9 Подсчитанное количество ошибочных символов, а также число и доля обнаруживаемых ошибок при различных значениях кратности ошибки и вероятности ошибок (не менее 5 различных значений).
10 График зависимости числа ошибочных символов от вероятности одиночной ошибки в канале связи.
11 Порождающая и проверочная матрица, а также проверочные уравнения кода с простым повторением.
12 Пункты аналогичные п. 4 –10 по исследованию кода с простым повторением.
13 Сравнение кодов с проверкой на четность и с простым повторением.
14 Сравнение эффективных кодов и избыточных кодов.
15 Вывод.
5 Контрольные вопросы
1 Для какой цели применяются избыточные коды?
2 Как определяется избыточность кода?
3 Какое минимальное число проверочных символов необходимо выбрать для обнаружения ошибок заданной кратности?
4 Что такое минимальное кодовое расстояние кода?
5 Какова связь обнаруживающей способности кода с минимальным кодовым расстоянием?
6 Какие ошибки являются необнаруживаемыми в блоковых кодах?
7 Что такое порождающая матрица кода?
8 Как построить проверочную матрицу кода?
9 Каким образом происходит построение проверочных уравнений?
10 Какие ошибки обнаруживает код с проверкой на четность?
11 Возможно ли исправление ошибок при передаче сообщений, закодированных кодом с простым повторением?
12 В чем преимущество и недостатки кодов с проверкой на четность и с простым повторением?
ЛАБОРАТОРНАЯ РАБОТА №4
Корректирующие коды. Коды Хэмминга
1 ЦЕЛЬ РАБОТЫ
Приобретение практических навыков построения корректирующих кодов, обнаруживающих и исправляющих ошибки. Экспериментальное исследование построенных кодов.
2 ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯ
2.1 Методы исправления ошибок
Для исправления ошибок кратности tи минимальное кодовое расстояние должно удовлетворять условию
dmin 2 tи + 1. (43)
Для исправления всех ошибок кратности tи и одновременно обнаружения всех ошибок кратности не более tо (при tо tи) кодовое расстояние должно удовлетворять условию:
dmin t0 + tи +1. (44)
Существует два основных метода исправления ошибок. Первый метод основан на использовании кодов-спутников. В этом случае с каждой разрешенной кодовой комбинацией связывается определенная группа кодовых комбинаций – кодов-спутников. Например, для исправления одиночных ошибок каждый из кодов-спутников представляет собой сумму по модулю 2 кодовой комбинации с одним из векторов е (комбинация с одной единицей). Т.е. в данном случае коды-спутники – все возможные комбинации при искажении кода в одном разряде. Таким образом, при приеме одного из кодов-спутников вместо него выдается разрешенная комбинация, которая имеет такой код-спутник – ошибка будет исправлена.
Наиболее часто на практике применяется другой метод исправления ошибок, при котором используется синдром ошибки. Характерная особенность синдрома, что он не зависит от вида переданной комбинации, а полностью определяется ошибками, поразившими принятую комбинацию.
Если код используется для исправления ошибок, то при декодировании должно быть заранее определено соответствие между видом синдрома и видом исправляемой ошибки.
Пример 1:
Пусть задан код для передачи 3-разрядных двоичных сообщений, обнаруживающий и исправляющий одиночные ошибки (k=3, dmin=1+1+1=3, r=3, n=6).
Проверочная матрица кода имеет вид:
1 0 1
1 0 0
Н = 1 1 0 0 1 0
0 1 1 0 0 1
По проверочным уравнениям можно составить набор синдромов, связанных с комбинациями ошибок:
-
Комбинации ошибок
Синдромы
100000
010000
001000
000100
000010
000001
110
011
101
100
010
001
Пусть передавалась кодовая комбинация 110101, и произошла ошибка в третьем разряде, т.е. получили: 111101.
На основании проверочных уравнений находим теоретические проверочные символы:
b1 = 1 1 = 0
b2 = 1 1 = 0
b3 = 1 1 =0
Находим синдром ошибки (складываем рассчитанные проверочные символы с принятыми):
0
1 01
101
По коду 101 и набору синдромов видим, что ошибка произошла в третьем разряде, т.е. его значение нужно изменить на противоположное.