- •Методические указания
- •Содержание
- •Общие методологические указания к выполнению лабораторного практикума
- •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 Контрольные вопросы
2.3 Код с проверкой на четность
Код с проверкой на четность при любой длине кодовой комбинации содержит лишь один проверочный (избыточный) символ. Выбирается избыточный символ таким образом, чтобы общее количество единиц в кодовой комбинации было четным. Т.е. вычисление проверочного символа производится путем суммирования по модулю 2 всех информационных разрядов.
Пример 4:
-
Информационная часть
Кодовая комбинация
101
1010
110
1100
111
1111
010
0101
Признаком искажения кодовой комбинации является нечетность единиц в принятой комбинации. Очевидно, что данный код позволяет обнаруживать однократные ошибки и все ошибки нечетной кратности, т.к. только в этих случаях количество единиц в комбинации станет нечетным. Не обнаруживаются все ошибки четной кратности.
Коэффициент избыточности:
(41)
Данный код имеет dmin = 2.
Вероятность неправильного приема кодовой комбинации определяется вероятностью появления необнаруживаемых (четных) ошибок.
Если в комбинации искажается два определенных символа, а остальные не искажаются, вероятность такого события будет Рэ2(1-Рэ)n-2 (Рэ – вероятность сбоя элемента – единичного символа). Но, так как всего таких вариантов будет Сn2, то вероятность двукратных ошибок Р4=Сn4 Pэ4 (1-Рэ)n-4. Таким образом, вероятность появления необнаруживаемых ошибок Ри.о.=Р2+Р4+Р6+…, но, так как с повышением кратности вероятность резко падает, можно написать:
Рн.о. Сn2 Pэ2 (1 – Рэ)n-2 (42)
2.4 Код с простым повторением
В основу построения этого кода положен метод повторения исходной кодовой комбинации. При декодировании производится сложение по модулю 2 первой (информационной) и второй (проверочной) частей кода. В том случае, если результат сложения ненулевой, произошла ошибка.
В данном случае r=k, следовательно, избыточность
Минимальное кодовое расстояние dmin=2.
Вероятность появления необнаруживаемых ошибок практически такая же, как и у кода с проверкой на четность, но помехозащищенность этого кода выше, так как он позволяет обнаруживать и большую часть четных ошибок. Не обнаруживаются только четные ошибки в «парных» разрядах (стоящих на одинаковых позициях в первой и второй половине кодовой комбинации).
3 Программа исследований
3.1 Для исходного сообщения построить порождающую и проверочную матрицы кода с проверкой на четность, а также записать проверочные уравнения.
3.2 Исследование кода с проверкой на четность:
3.2.1 Определить параметры полученного кода: общее число кодовых комбинаций, количество разрешенных и запрещенных кодовых комбинаций, рассчитать коэффициент избыточности кода и вероятность необнаруживаемых ошибок.
3.2.2 Заполнить порождающую матрицу в программной модели информационной системы (программа kizi.exe) и сгенерировать код (для чего нажать кнопку «Построение кода»).
3.2.3 С помощью программной модели информационной системы (программа kizi.exe) реализовать передачу закодированного сообщения через канал связи с шумами (при определенной вероятности одиночной ошибки в канале).
3.2.4 Сравнить принятые и переданные кодовые последовательности и произвести подсчет:
nиск, риск – числа и доли искаженных разрядов;
3.2.5 Произвести декодирование принятого сообщения.
3.2.6 Сравнить принятое и переданное сообщения и произвести подсчет:
Nиск, Риск – числа и доли (от общего числа символов) искаженных символов;
Nобн, Робн – числа и доли (от общего числа ошибок) обнаруженных ошибок (символ «#»).
3.2.7 Повторить пункты 3.5 – 3.7 для различных вероятностей 2,3,4 и 5 кратных ошибок.
3.2.8 Произвести построение графика зависимости числа ошибочных символов в декодированном сообщении от вероятности одиночной ошибки в канале связи (использовать пункт меню программы – «График ошибок»).
3.3 Построить порождающую и проверочную матрицы кода с простым повторением, и записать проверочные уравнения.
3.4 Проделать аналогичные п. 3.2.1 – 3.2.8 действия для исследования кода с простым повторением.
3.5 Сравнить характеристики избыточных и эффективных кодов.
3.6 Сделать выводы и оформить отчет.
