- •Тема 1. Предмет и методы теории информации и кодирования
- •1.1. Введение
- •1.2. Основные понятия и определения
- •1.3. Системы передачи информации
- •Тема 2. Математическая теория информации
- •2.1. Количество информации, и ее мера
- •2.2. Свойства количества информации
- •2.3. Энтропия информации
- •5.2. График энтропии для двух альтернативных событий
- •2.4. Свойства энтропии сообщений
- •2.5. Безусловная энтропия и ее свойства
- •2.6. Условная энтропия.
- •2.5. Энтропия объединения
- •Энтропия объединения (совместная энтропия) находится при помощи матрицы ( табл.3) путем суммирования по строкам или столбцам всех вероятностей вида
- •Уяснению взаимосвязи между рассмотренными видами энтропий дискретных систем способствует их графическое изображение.
- •Тема 3. Основы теории кодирования
- •3.1.Основные понятия и определения
- •3.2. Классификация кодов
- •3.3. Способы представления кодов
- •Тема 4. Каналы связи
- •4.1. Каналы связи, их классификация и характеристики
- •Пропускная способность дискретного канала связи
- •Дискретный канал связи без помех
- •Дискретный канал связи с помехами
- •Пример. По каналу связи передаются сообщения, вероятности которых соответственно равны:
- •Пропускная способность бинарного, симметричного канала
- •Избыточность сообщений
- •Тема 5. Оптимальное кодирование
- •5.1. Основные понятия и определения
- •5.2. Код Шеннона-Фано
- •5.3. Код Хаффмена
- •Тема 6. Помехоустойчивое кодирование
- •6.1. Общие положения
- •6.2. Обнаруживающие коды
- •Тема 7. Корректирующие коды
- •7.1. Основные понятия
- •7.2 Линейные групповые коды
- •7.3. Код хэмминга
- •Тема 8. Циклические коды
- •8.1. Операции над циклическими кодами
- •8.2. Циклические коды, исправляющие одиночную ошибку
- •Если задана длина кодовой комбинации, то число контрольных разрядов определяем по формуле
- •Так как частное q(X) имеет такую же степень, как и кодовая комбинация g(X) , то q(X) является кодовой комбинацией того же k - значного кода.
- •8.3. Матричная запись циклического кода
- •8.4. Циклические коды, обнаруживающие трехкратные ошибки
- •Тема 9. Коды боуза-чоудхури- хоквингема
- •Сигнальные символы это вспомогательные данные, облегчающие декодирование: служебные сигналы, сигналы синхронизации и т. Д.
- •Тема 10. Введение в криптологию
- •0 1 2 3 4 5 6 7 8 9 25 Ключ
- •4 7 9 2 3 5 1 6 8 Ключ
- •Функция дискретного логарифма обратная
3.3. Способы представления кодов
В зависимости от применяемых методов кодирования, используют различные математические модели кодов, при этом наиболее часто применяется представление кодов в виде: кодовых матриц; кодовых деревьев; многочленов; геометрических фигур и т. д.
Матричное представление кодов. Используется для представления равномерных n - значных кодов. Для примитивного (полного и равномерного) кода матрица содержит n - столбцов и 2n - строк, т. е. код использует все сочетания. Для помехоустойчивых (корректирующих, обнаруживающих и исправляющих ошибки) матрица содержит n - столбцов (n = k+m, где k-число информационных, а m - число проверочных разрядов) и 2k - строк (где 2k - число разрешенных кодовых комбинаций). При больших значениях n и k матрица будет слишком громоздкой, при этом код записывается в сокращенном виде. Матричное представление кодов используется, например, в линейных групповых кодах, кодах Хэмминга и т. д.
Представление кодов в виде кодовых деревьев. Кодовое дерево - связной граф, не содержащий циклов. Связной граф – граф, в котором для любой пары вершин существует путь, соединяющий эти вершины. Граф состоит из узлов (вершин) и ребер (ветвей), соединяющих узлы, расположенные на разных уровнях. Для построения дерева равномерного двоичного кода выбирают вершину называемую корнем дерева (истоком) и из нее проводят ребра в следующие две вершины и т. д.
Пример кодового дерева для полного кода приведен на рис. 3.1.
1 0
1 0 1 0
1 0 1 0 1 0 1 0
111 110 101 100 011 010 001 000
Рис. 3.1. Дерево для полного двоичного кода при n = 3
Дерево помехоустойчивого кода строится на основе дерева полного кода путем вычеркивания запрещенных кодовых комбинаций. Для дерева неравномерного кода используется взвешенный граф, при этом на ребрах дерева указываются вероятность переходов. Представление кода в виде кодового дерева используется, например, в кодах Хаффмена.
Представление кодов в виде многочленов. Представление кодов в виде полиномов основано на подобии (изоморфизме) пространства двоичных n - последовательностей и пространства полиномов степени не выше (n – 1).
Код для любой системы счисления с основанием Х может быть представлен в виде:
G(x) = an-1 xn-1+ an-2 xn-2+...+ a1 x+ a0 = ,
где аi - цифры данной системы счисления ( в двоичной 0 и 1);
х - символическая (фиктивная) переменная, показатель степени которой соответствует номерам разрядов двоичного числа-
Например: Кодовая комбинация 1010110 может быть представлена в виде:
G(x)=1x6+0x5+1x4+0x3+1x2+1x1+0x0 =x6+x4+x2+x=1010110.
При этом операции над кодами эквивалентны операциям над многочленами. Представление кодов в виде полиномов используется, например, в циклических кодах.
Геометрическое представление кодов. Любая комбинация n - разрядного двоично-го кода может быть представлена как вершина n - мерного единичного куба, т. е. куба с длиной ребра равной 1. Для двухэлементного кода (n = 2) кодовые комбинации распо-лагаются в вершинах квадрата. Для трехэлементного кода (n = 3) - в вершинах единичного куба (рис. 3.2). В общем случае n мерный куб имеет 2n вершин, что соответствует набору кодовых комбинаций 2n .
n = 2 n = 3
Рис.3.2. Геометрическая модель двоичного кода
Расстояние между точками кодового пространства называется кодовым расстоянием. Кодовое расстояние d – параметр, показывающий (независимо от основания кода) количество состояний, через которые должны пройти качественные признаки кодовой комбинации, чтобы оказаться в состоянии, идентичном тому, в котором находятся качественные признаки кодовой комбинации, которая сравнивается с данной. Минимальное кодовое расстояние - минимальное количество качественных признаков , в которых отличаются друг от друга любая пара комбинаций данного кода.
Геометрическая интерпретация кодового расстояния. Кодовое расстояние - минимальное число ребер, которое необходимо пройти, чтобы попасть из одной кодовой комбинации в другую. Кодовое расстояние характеризует помехоустойчивость кода.