- •Министерство образования и науки Российской Федерации
- •Введение
- •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.3.1 Выбор образующего многочлена
В теории кодирования показано, что степень многочлена Pr(x) следует выбирать равнойr=mtи.ош, гдеmопределяется условием 2m=n+1, аtи.ош— число ошибок, исправляемых циклическим кодом (7.12).
Пример 3.9.Определитьrдля кода сk=20,tи.ош=2.
Примем m=3. Тогда 2m=23=8,n=7, что меньшеk=20. Возьмемm=5. Тогдаn=31;r=mtи.ош=52=10. Получается код сk=21,r=10. Этот код обеспечивает кодовое расстояниеd02tи.ош+1=5.
В табл. 3.3 приведены образующие (примитивные) полиномы до 10-й степени.
3.3.2 Базис циклического кода, формирование кодовых комбинаций
Поскольку циклические коды являются линейными, то их можно строить точно так же, как и рассмотренные выше коды Хэмминга, определяя производящую матрицу (базис циклического кода). Для его построения используют свойство цикличности разрешенных кодовых комбинаций: циклический сдвиг разрешенной кодовой
Таблица 3.3 Образующие полиномы
|
r |
Pr(x) |
Двоичная запись Pr(x) |
|
2 |
x2+x+1 |
111 |
|
3 |
x3+x+1 x3+x2+1 |
1011 1101 |
|
4 |
x4+x2+1 x4+x2+1 |
10011 100101 |
|
5 |
x5+x4+x3+x2+1 x5+x4+x2+x+1 |
111101 110111 |
|
6 |
x6+x+1 x6+x5+x2+x+1 |
1000011 1100111 |
|
7 |
x7+x3+1 х7+х3+х2+x+1 х7+х4+х3+х2+1 |
10001001 10001111 10011101 |
|
8 |
х8+х7+х6+х5+х2+x+1 x8+x4+x3+x1+1 х8+x6+x5+х+1 |
111100111 100011101 101100011 |
|
9 |
x9+х5+х3+х2+1 х9+х8+х7+х6+х5+х3+1 |
1000101101 1111101001 |
|
10 |
х10+х4+х3+х+1 х10+x9+х6+х5+x4+х2+х+1 |
10000011011 11001110111 |
комбинации есть разрешенная комбинация того же кода. Рассмотрим циклический сдвиг кодовой комбинации:
.
(3.13)
Такая циклическая перестановка при
представлении комбинаций в виде полиномов
соответствует умножению данного полинома
A(x) наx,
т.е.
.
Чтобы степень полученного полиномаA1(x)
не превышалаn-1, членan-1xnзаменяется единицей. Поэтому
.
Например, имеем кодовую комбинацию: 1011101A(x)=х6+x4+x3+x2+l. Образуем циклический сдвиг на один разряд: 0111011A(x)x=х7+х5+х4+х3+х11010. Заменив х7на единицу, имеемx5+x4+x3+x+l0111011, т. е. сдвинутую на один разряд исходную кодовую комбинацию.
Базис циклического кода можно построить на основе циклических сдвигов кодовой комбинации, соответствующей образующему многочлену.
Пример 3.10. Сформировать базис циклического кода (7,4) сP3(x)=x3+x+1,r=3,k=4,d0=3. Для формирования первой разрешенной комбинации базиса следует взять кодовую комбинацию сn=7, соответствующую образующему полиномуx3+x+1. (Ясно, что она будет делиться без остатка па образующий полином).
Итак, первая разрешенная комбинация имеет вид
.
Остальные три разрешенные комбинации находятся циклическим сдвигом полученной кодовой комбинации, т. е. умножением A1(x) наx,x2,x3. В результате имеем

Тогда производящая матрица циклического кода (7, 4) имеет вид:

Все остальные кодовые комбинации можно определить линейной композицией комбинаций базиса (ср. с производящей матрицей (7,3)).
Формирование кодовых комбинаций по заданной информационной части в циклическом коде так же, как и в обычных линейных систематических кодах, осуществляется на основе определенного алгоритма. Причем в отличие от ранее рассмотренного линейного кода, этот алгоритм позволяет сформировать сразу всю проверочную группу:
.
В качестве оператора используется вычисление вычета произведенияAk-1(x)xrпо модулюPr(x), гдеAk-1(x) — многочлен, представляющий информативную часть кодовой комбинации, аPr(x) — образующий многочлен степениr. Ранее было определено, что среди 2nкодовых комбинацийAn-1(x) длинойnэлементов имеется подмножество из 2kкомбинаций, которые характеризуются отсутствием вычета по образующему многочлену степениr, гдеr=n-k.
Это создает возможность дополнить каждую кодовую комбинацию Ak-1(x)k-элементного первичного кода группой из r проверочных элементов, которая определяется в виде остаткаR(x) от деления произведенияAk-1(x)xrна образующий многочленPr(x). При этом образуется многочленAn-1(х), соответствующийn-элементному коду, у которого отсутствует вычет поPr(x).
Действительно, умножение Ak-1(x) наxrприводит к многочлену, соответствующемуn-элементной кодовой комбинации, у которойrмладших разрядов нулевые. ОпределивR(x) как вычетAk-1(x)xrпоPr(x), получаем всю проверочную группу изrэлементов, которую и приписываем вместоrнулей.
Пример 3.11. Задана кодовая комбинация простого семиэлементного кодаA6(0,1)=1001011, т. е.A6(x)=x6+x3+x+1. Надо образовать циклический код (9,7). Это код, у которогоr— степень образующего многочлена (число проверочных элементов) равна 2.
Из табл. 3.3
P2 (x)=x2 + x + 1.
Повысим степень полинома на два:
A6(x) х2=x8+х5+х3+х2.
Определим группу проверочных разрядов в виде остатка от деления A6(x)x2наP2(x). Значение остатка будетR(x)=x, т. е.R(0,1)=10. Найдем полином разрешенной кодовой комбинации:
A8(x)=A6(x)x2+R(x)=х8+x5+x3+x2+x.
Кодовая комбинация имеет вид 100101110.
Наряду
с определением кодовой комбинации в
виде многочлена все операции можно
проделать и в записи двоичными элементами.
В этом случаеAk-1(x)xrсоответствует добавлению кAk-1(0,1)rнулей, т. е. 100101100.
Определение вычета произведем на основе
деления в двоичной записи:
Отсюда R(0,1)=10.
Тогда A(0,1)=100101.10.
Можно заметить, что при таком способе построения комбинаций циклического кода проверочные и информационные разряды находятся на определенных позициях, т. е. код является разделимым. При другом способе построения это свойство нарушается и код становится неразделимым. Способ основан на простом перемножении кодовых комбинаций информационной группы и образующего полинома. Действительно, поскольку произведение Ak-1(x)Pr(x)=An-1(x) делится без остатка наPr(x), тоAn-1(х) является разрешенной комбинацией циклического кода. Однако в этой комбинации нельзя выделить информационные и проверочные разряды. Из примера 3.11 имеем произведение
![]()
что соответствует кодовой комбинации 111110001. Выделить позиции информационных элементов здесь нельзя. Поэтому на практике используется первый способ построения циклического кода.
