- •Министерство образования и науки Российской Федерации
- •Введение
- •1 Определение информации
- •2 Этапы обращения информации
- •3Измерение информации
- •4 Информационные системы
- •5 Проблемы передачи информации
- •6 Предмет теории информации
- •7 Структура книги
- •1 Количественная оценка информации источников
- •1.1 Дискретный источник
- •1.1.1 Определение меры оценки количества информации
- •1.1.2 Частная взаимная информация дискретных источников сообщений
- •1.1.3 Энтропия дискретного сообщения
- •1.1.4 Условная энтропия дискретных сообщений
- •1.1.5 Энтропия объединенного сообщения
- •1.1.6 Средняя взаимная информация дискретных источников сообщений
- •1.2 Непрерывный источник
- •1.2.1 Собственная информация и энтропия
- •1.2.2 Основные свойства дифференциальной энтропии непрерывного источника
- •1.2.3 Средняя взаимная информация непрерывных источников сообщений
- •1.2.4 Эпсилон-энтропия непрерывных источников сообщений
- •2 Кодирование сообщений источников
- •2.1 Модели дискретных источников сообщений
- •2.2.Общие принципы и основная теорема кодирования дискретных источников сообщений
- •Теорема (о средней длине кодового слова)
- •2.3 Методы эффективного кодирования
- •2.3.1 Метод кодирования источников ШеннонаФано
- •2.3.2 Метод кодирования источников Хаффмена
- •2.4 Предельная условная энтропия дискретных источников сообщений
- •2.5 Информативность непрерывных источников сообщений дискретного времени
- •2.6 Средняя взаимная информация непрерывных источников сообщений непрерывного времени
- •2.7 Квазиобратимое эффективное кодирование непрерывных источников
- •2.8 Эпсилон-энтропия Гауссовского вектора сообщений
- •2.9 Эпсилон - энтропия стационарного Гауссовского процесса дискретного времени
- •Теорема.
- •Помехоустойчивое кодирование
- •3.1.1 Методы повышения верности передачи информации
- •3.1.2 Понятие о корректирующих кодах
- •3.2.1 Построение линейных кодов
- •3.2.2 Обнаружение и исправление ошибок. Декодирующее устройство
- •3.2.3 Примеры линейных кодов
- •3.3 Циклические коды
- •3.3.1 Выбор образующего многочлена
- •3.3.2 Базис циклического кода, формирование кодовых комбинаций
- •3.4 Синдром циклического кода и его свойства
- •3.5 Коды боуза - чоудхури - хоквингема
- •3.6 Коды Абрамсона
- •3.7 Коды Рида — Соломона
- •3.8 Понятие об итерактивных и каскадных кодах
- •3.9 Понятие о непрерывных кодах
- •3.9.1 Цепной код
- •3.9.2 Сверточные коды
- •4 Модели каналов связи
- •4.1 Непрерывный канал
- •Примеры непрерывных каналов:
- •На рис. 4.4 применены следующие обозначения:
- •4.2 Дискретный канал
- •Библиографический список
- •Оглавление
3.2.1 Построение линейных кодов
В 3.1.1 простой трехэлементный код был задан перечислением всех кодовых комбинации (см. табл.3.1). Данное множество можно рассматривать как некоторую алгебраическую систему, которая называется группой с заданной на ней операцией сложения по модулю два. Рассмотрим в общем виде основные свойства такого множества. Обычно группа обозначается буквой G, а элементы множестваg. На этом множестве задана некоторая групповая операция, которую обозначим символом «О». Эта операция однозначно сопоставляет двум элементамgiиgjмножестваG, третий элемент того же множестваgk, то естьgiOgj=gk, гдеgkG. Обычно говорят, что группа является замкнутой относительно операции «О».
Множество Gс определенной на нем групповой операцией «О» называется группой, если выполняются следующие условия:
1. Ассоциативность (сочетательность): для любых трех элементов группы, например gi,gk,gj:
.
2. Существование нейтрального элемента: среди элементов множества имеется некоторый элемент e, называемый нейтральным, такой, что
![]()
для всех i.
3. Существование обратного элемента для
каждого данного элемента; к каждому
элементу gGможно подобрать такой
элемент
,
что
.
Группа, в которой выполняется также
условие
для всехi,j,
называется коммутативной, или абелевой.
Группа называется конечной, если она состоит из конечного числа элементов. В противном случае она называется бесконечной.
Пример 3.3. Задав в качестве групповой операции операцию сложения по модулю 2, убедимся, что множество 000, 001, 010, 100, 110, 011, 101, 111 является группой. Складывая элементы множества в различном сочетании, видим, что каждый раз получаем элемент, входящий в множество. Так, 001100=101 и т. п. Нетрудно заметить, что условие ассоциативности также выполняется. Нейтральным является элемент 000. Для каждого элемента, заданного в примере множества, существует обратный. Так, для элемента 100 обратным является он сам, т. е.
100 100 = 000.
Таким образом, рассматриваемое множество является группой, порядок которой (число элементов) равен восьми. Очевидно также, что данная группа является коммутативной.
Пример 3.4.Задавшись в качестве групповой операции операцией умножения, рассмотрим множество рациональных чисел.
Пepемножая элементы множества в различном сочетании, получаем рациональное число. Легко убедиться в том, что выполняется условие ассоциатив-ности. Нейтральным элементом, очевидно, является единица. Для каждого элемента, заданного рациональным числом, имеется ему обратный. Так, для числа 2 - это 1/2, числа 1/4 — это 4 и т. д.
Множество элементов примера 3.3 не обязательно задавать перечислением всех элементов, входящих в группу. Пользуясь свойством замкнутости относительно операции сложения по модулю 2, такое множество можно задать матрицей 100:
(3.2)
Все остальные элементы группы (кроме 000) могут быть получены путем сложения по модулю 2 различных сочетаний строк матрицы (3.2). Матрица (3.2) называется производящей матрицейрассмотренного в примере 3.3 трехэлементного* кода. Кодовые комбинации, составляющие матрицу (3.2), являются линейно-независимыми.
Можно было бы составить матрицу и из других линейно-независимых кодовых комбинаций. Напомним, что ненулевые комбинации A1,A2,A3являются линейно-независимыми, если1A12A23А30 (гдеi{0,1}), при условии, что хотя бы один из коэффициентовi0.
Код, заданный матрицей (3.2), является линейным, т. е. имеет структуру, обладающую свойством линейности. Двоичный блочный код является линейным тогда и только тогда, когда сумма по модулю 2 двух кодовых слов является также кодовым словом. Двоичные линейные коды называют также групповыми.
Так как в системе ПДС используются, как правило, корректирующие коды, перейдем далее к рассмотрению линейных (групповых) корректирующих кодов и поиску кодов с заданным алфавитом передаваемых сообщений и кодовым расстоянием d0, которые позволят обеспечить требуемую верность.
Пример 3.5Пусть требуется построить линейный код сd0= 3 для передачи восьми сообщений.
_______________
* Под термином «элемент» здесь, как и ранее, понимается составная часть чего-либо, в данном случае кодового слова.
Тогда необходимое число информационных элементов k=log28 = 3. Запишем исходный код в виде единичной матрицы (3.2) и дополним информационные элементы элементами, которые в дальнейшем будем называть проверочными, так, чтобы обеспечитьd0= 3. Дополним каждую строку матрицы (3.2) двумя элементами:
(3.3)
Складывая по модулю 2 строки матрицы (3.3), видим, что хэммингово расстояние для 1,2; 1,3; 2,3 строк равно 3. Однако при этом кодовое расстояние, равное 3, не обеспечивается, так как в числе разрешенных кодовых комбинаций (множества, являющегося группой) имеется нейтральный элемент 00000, относительно которого комбинации 10010 и 01001 имеют хэммингово расстояние, равное только двум. Таким образом, производящая матрица (3.3) — это матрица кода (5.3) с кодовым расстоянием, равным только двум. Для получения d0= 3 необходимо к исходным информационным элементам добавить проверочные элементы, в числе которых было бы не менее двух единиц, а добавляемые проверочные элементы разных строк отличались бы, по крайней мере, в одном элементе. Этому требованию удовлетворяет производящая матрица
(3.4)
Добавляемые проверочные элементы могут быть записаны и в другом порядке. Необходимо лишь обеспечить d0= 3. Матрица (3.4) является производящей, или порождающей, матрицей кода (6.3), содержащегоn=6 элементов, из которых три информационных. Обычно матрицу обозначают буквойGс индексом, указывающим, к какому коду она относится (в нашем случаеG(6,3)).
Производящая матрица состоит из двух
матриц: единичной размерности (kk)
и матрицыCkсодержащейkстрок иrстолбцов. В строке матрицыCkrдолжно быть не менее, чем (d0- 1) единиц, а хэммингово расстояние между
строками не менее чем (d0- 2). Очевидно также, что общее число
элементов в строке матрицыCkrдолжно определяться неравенством
.
Обозначим элементы комбинаций кода, задаваемого матрицей (3.4), a1, а2, а3,a4,a5,a6, где а1,a2,a3— информационные, а а4,a5,a6— проверочные элементы. Полученный линейный код является систематическим *. Проверочные элементы могут быть получены путем суммирования по модулю 2 определенных информационных элементов. Найдем это правило для а4, пользуясь матрицей (3.4). Из первой строки следует, что в суммировании обязательно должен участвовать элемент а1(только в этом случаеa4= 1). Из второй строки следует, что элемент а2в суммировании не должен участвовать. Из третьей строки следует, что элемент а3должен участвовать в суммировании. Итак,
a4 = a1a3. (3.5)
Уравнения для a5и а6записываются в виде
a5 = a2a3, (3.6)
a6 = a1a2a3. (3.7)
Представим правила (3.5) — (3.7) в виде матрицы H(6,3), называемой проверочной. Эта матрица содержитrстрок иkстолбцов:
.
(3.8)
_____________
*В систематических кодах кодовое слово делится на две части: информационную, состоящую из kнеизменных элементов сообщения, и избыточную проверочную — из (n-k) проверочных элементов.
Каждая из r строк матрицы (3.8) определяет правило формирования соответствующего проверочного элемента. Так, единицы, расположенные на местах, соответствующих информационным элементам в первой строке, указывают на то, какие информационные элементы должны участвовать в получении первого проверочного элемента (элемента a4). Единица на месте, соответствующем проверочному элементу (четвертом месте), указывает, какой проверочный элемент получается в результате суммирования информационных элементов. Так, из первой строки следуетa1a2=a4. Матрица Н(6,3)состоит из двух матриц: прямоугольнойDrkи единичнойI, содержащейrстрок иrстолбцов:
![]()
.
Легко заметить, что Drk=
(«т» означает транспонирование).
Проверочная матрица задает правила
кодирования линейного кода и определяет
схему кодирующего устройства. Структурная
схема кодирующего устройства, задаваемого
проверочной матрицей Н(7,4),
приведена на рис. 3.1. Запишите Н(7,4).
