
- •О.Т.Данилова Теория информации
- •Введение
- •Глава 1. Основные понятия теории информации
- •1.1. Свойства информации
- •1.2. Этапы обращения информации
- •1.3. Определение системы передачи информации. Каналы связи.
- •1.4. Алфавит сообщения
- •1.5. Источник информации
- •Глава 2. Количество информации
- •2.1. Объемный подход к измерению информации
- •2.2. Количественная мера информации р.Хартли
- •2.3. Мера информации к. Шеннона
- •2.4. Условная собственная информация. Взаимная информация
- •1 (Бит), где m – мощность алфавита.
- •Глава 3. Энтропия дискретной последовательности. Энтропия непрерывной случайной величины
- •3.1. Частная энтропия
- •Прологарифмировав последнее равенство, получим
- •3.2. Энропия типичных и нетипичных комбинаций
- •3.3. Условная энтропия
- •3.4. Энтропия объединения ансамблей
- •3.5. Канальные матрицы
- •3.6. Количество информации при неполной достоверности и статистической зависимости сообщений
- •3.7. Избыточность источника
- •3.8. Энтропия непрерывной случайной величины
- •3.9. Количество информации для непрерывных систем
- •3.10. Принцип экстремума энтропии и экстремальные распределения
- •Подставим (3.7) в (3.4):
- •3.11. Эпсилон энтропия
- •Глава 4. Общие сведения из теории сигналов
- •4.1. Классификация сигналов и систем
- •Характеристики сигналов передаваемых по каналу
- •4.3. Модуляция сигналов. Виды и характеристики носителей
- •4.4. Спектры сигналов
- •4.5. Тригонометрическая форма
- •4.6. Комплексная форма
- •4.7. Определение погрешности
- •Глава 5. Скорость передачи и пропускная способность канала связи
- •5.1. Скорость передачи информации в дискретной системе связи
- •5.2. Пропускная способность однородного симметричного канала связи
- •5.3. Пропускная способность непрерывного канала связи
- •5.4. Обмен мощности сигнала на ширину его спектра
- •5.5. Сравнение пропускной способности непрерывного и дискретного каналов связи.
- •5.6. Эффективность систем связи
- •Глава 6. Критерии описания реальных дискретных каналов
- •6.1. Описание источника ошибок на основе цепей Маркова
- •6.2. Описание источника ошибок на основе процессов восстановления
- •6.3. Описание источника ошибок на основе процессов накопления
- •6.4. Модель Гилберта
- •6.5. Модель Эллиота-Гилберта. Модель Элиота
- •6.6. Модель Беннета-Фройлиха
- •6.7. Модель Попова - Турина
- •Глава 7. Кодирование информации
- •7.1. Статистическое кодирование дискретных сообщений
- •7.2. Статистическое кодирование кодовых слов
- •Средняя длина кодового слова
- •7.3. Кодирование информации для канала с помехами
- •7.3. Разновидности помехоустойчивых кодов
- •7.4 Общие принципы использования избыточности
- •7.5. Связь корректирующей способности кода с кодовым расстоянием
- •7.6. Понятие качества корректирующего кода
- •7.7. Линейные коды
- •7.7. Математическое введение к линейным кодам
- •7.8. Линейный код как пространство линейного векторного пространства
- •7.9. Построение двоичного группового кода
- •7.10. Составление таблицы опознавателей
- •7.11. Определение проверочных равенств
- •7.12. Мажоритарное декодирование групповых кодов
- •7.13. Матричное представление линейных кодов
- •7.14. Построение циклических кодов
- •Математическое введение к циклическим кодам
- •7.17. Обнаружение одиночных ошибок
- •Исправление одиночных или обнаружение двойных ошибок
- •7.18. Обнаружение ошибок кратности три и ниже
- •7.19. Обнаружение и исправление независимых ошибок произвольной кратности
- •7.20. Методы образования циклического кода
- •7.21. Матричная запись циклического кода
- •7.22. Укороченные циклические коды
- •Глава 8. Сжатие информации
- •8.1. Основные понятия
- •8.2. Методы сжатия без потерь
- •8.3. Методы сжатия с потерями
- •8.4. Сжатие графики
- •Прямое дкп
- •8.5. Сжатие звука
- •8.6. Сжатие видеоинформации
- •Вопросы для самопроверки
- •Список литературы
7.14. Построение циклических кодов
Любой групповой код (n, k) может быть записан в виде матрицы, включающей k линейно независимых строк по n символов и, наоборот, любая совокупность k линейно независимых n-разрядных кодовых комбинаций может рассматриваться как образующая матрица некоторого группового кода. Среди всего многообразия таких кодов можно выделить коды, у которых строки образующих матриц связаны дополнительным условием цикличности.
Все строки образующей матрицы такого кода могут быть получены циклическим сдвигом одной комбинации, называемой образующей для данного кода. Коды, удовлетворяющие этому условию, получили название циклических кодов.
Сдвиг осуществляется справа налево, причем крайний левый символ каждый раз переносится в конец комбинации. Запишем, например, совокупность кодовых комбинаций, получающихся циклическим сдвигом комбинации 001011:
Число возможных циклических (n, k)-кодов значительно меньше числа различных групповых (n, k)-кодов.
При описании циклических кодов n-разрядные кодовые комбинации представляются в виде многочленов фиктивной переменной х. Показатели степени у x соответствуют номерам разрядов (начиная с нулевого), а коэффициентами при х в общем случае являются элементы поля GF(q). При этом наименьшему разряду числа соответствует фиктивная переменная х0 = 1. Многочлен с коэффициентами из поля GF(q) называют многочленом над полем GF(q). Так как мы ограничиваемся рассмотрением только двоичных кодов, то коэффициентами при х будут только цифры 0 и 1. Иначе говоря, будем оперировать с многочленами над полем GF(2). Запишем, например, в виде многочлена образующую кодовую комбинацию 01011:
G(x) = 0·x4 + 1·x3 + 0·x2 + 1·x + 1.
Поскольку члены с нулевыми коэффициентами при записи многочлена опускаются, образующий многочлен:
G(x) = x3 + x + 1.
Наибольшую степень х в слагаемом с ненулевым коэффициентом называют степенью многочлена. Теперь действия над кодовыми комбинациями сводятся к действиям над многочленами. Суммирование многочленов осуществляется с приведением коэффициентов по модулю два.
Указанный циклический сдвиг некоторого образующего многочлена степени n - k без переноса единицы в конец кодовой комбинации соответствует простому умножению на х. Умножив, например, первую строку матрицы (001011), соответствующую многочлену g0(х) = x3 + x + 1, на х, получим вторую строку матрицы (010110), соответствующую многочлену х • g0(x).
Нетрудно убедиться, что кодовая комбинация, получающаяся при сложении этих двух комбинаций, также будет соответствовать результату умножения многочлена x3 + x + 1 на многочлен x+1. Действительно,
Циклический сдвиг строки матрицы с единицей в старшем (n-м) разряде (слева) равносилен умножению соответствующего строке многочлена на х с одновременным вычитанием из результата многочлена хn + 1= хn – 1, т. е. с приведением по модулю хn + 1.
Отсюда ясно, что любая разрешенная кодовая комбинация циклического кода может быть получена в результате умножения образующего многочлена на некоторый другой многочлен с приведением результата по модулю xn + l. Иными словами, при соответствующем выборе образующего многочлена любой многочлен циклического кода будет делиться на него без остатка.
Ни один многочлен, соответствующий запрещенной кодовой комбинации, на образующий многочлен без остатка не делится. Это свойство позволяет обнаружить ошибку. По виду остатка можно определить и вектор ошибки.
Умножение и деление многочленов весьма просто осуществляется на регистрах сдвига с обратными связями, что и явилось причиной широкого применения циклических кодов.