
- •1.1. Модель радиотехнической системы передачи информации
- •1.2. Источник информации
- •1.3. Теорема дискретизации
- •1.3.1. Практические вопросы дискретизации реальных сигналов
- •1.4. Дискретизация двумерных сигналов (изображений)
- •1.5. Квантование сообщений. Ошибки квантования
- •1.6. Количество информации, энтропия источника сообщений
- •1.6.1. Энтропия сложных сообщений, избыточность источника
- •2. Основы экономного кодирования
- •2.1. Цель сжатия данных и типы систем сжатия
- •2.1.1. Сжатие без потерь информации
- •2.1.2. Сжатие с потерей информации
- •2.2. Коды без памяти. Коды Хаффмена
- •2.2.1. Алгоритм Хаффмена
- •2.2.2. Границы энтропии для кода Хаффмена
- •2.3. Коды с памятью
- •2.4. Арифметическое кодирование
- •2.4.1. Кодирование
- •2.4.2. Декодирование
- •2.5. Словарные методы кодирования. Метод Зива-Лемпела
- •2.5.1. Кодирование
- •2.5.2. Декодирование
- •2.6. Кодирование длин повторений
- •2.7. Дифференциальное кодирование
- •2.8. Методы сжатия с потерей информации
- •2.8.1. Кодирование преобразований. Стандарт сжатия jpeg
- •Или же, в матричной форме,
- •2.8.2. Фрактальный метод
- •2.8.3. Рекурсивный (волновой) алгоритм
- •2.9. Методы сжатия подвижных изображений (видео)
- •2.10. Методы сжатия речевых сигналов
- •2.10.1. Кодирование формы сигнала
- •2.10.2. Кодирование источника
- •2.10.3. Гибридные методы кодирования речи
- •3. Основы помехоустойчивого кодирования
- •3.1. Основные принципы. Типы кодов
- •3.2. Линейные блочные коды
- •3.2.1. Код с проверкой на четность
- •3.2.2. Итеративный код
- •3.2.3. Порождающая матрица линейного блочного кода
- •3.2.4. Проверочная матрица
- •3.2.5. Дуальные коды
- •3.2.6. Синдром и обнаружение ошибок
- •3.2.7. Синдромное декодирование линейных блочных кодов
- •3.2.8. Мажоритарное декодирование линейных блочных кодов
- •3.2.9. Декодирование методом максимального правдоподобия
- •Поскольку
- •Если принятый сигнал дискретизован и Si – I-й отсчет принятого сигнала.
- •3.2.10. Вес и расстояние Хемминга. Способность кодов обнаруживать и исправлять ошибки
- •3.3. Полиномиальные коды
- •3.3.1. Циклические коды
- •1.3.2. Кодирование с использованием циклических кодов
- •3.3.3. Вычисление синдрома и исправление ошибок в циклических кодах
- •3.3.4. Неалгебраические методы декодирования циклических кодов
- •4. Сверточные коды
- •4.1. Кодирование с использованием сверточных кодов
- •4.2. Синдромное декодирование сверточных кодов
- •4.3. Кодовое дерево и решетчатая диаграмма
- •4.4. Декодирование сверточных кодов. Алгоритм Витерби
- •4.5. Алгоритмы поиска по решетке
- •5. Применение корректирующего кодирования в системах связи
- •5.1. Каскадные коды
- •5.2. Кодирование с перемежением
3.3. Полиномиальные коды
Представление кодового слова (n,k)-кода в виде последовательности U = (U0, U1, ..., Un-1) длиной n символов или их задание с помощью системы проверочных уравнений и порождающей матрицы не является единственно возможным. Еще один удобный и широко используемый способ представления того же кодового слова состоит в том, что элементы U0, U1, ..., Un-1 являются коэффициентами многочлена от X, то есть
U(х) = f(х) = U0 +U1 Х + U2Х2 +...+Un- 1Хn-1 . (3.51)
Используя это представление, можно определить полиномиальный код как множество всех многочленов степени, не большей n -1, содержащих в качестве общего множителя некоторый фиксированный многочлен g(x).
Многочлен g(x) называется порождающим многочленом кода.
Представление кодовых слов в такой форме позволяет свести действия над комбинациями символов к действию над полиномами.
Определим действия над полиномами в поле двоичных символов GF(2).
Суммой двух полиномов f(x) и g(x) из GF(2) называется полином из GF(2), определяемый следующим образом:
f(x)
+ g(x)
=
.
(3.52)
Другими словами, сложению двоичных полиномов соответствует сложение по mod2 коэффициентов при одинаковых степенях х.
+
X3+X2+0X+1
X+1
Х3
+
Х2
+
Х+ 0 = Х3
+
Х2
+ X , (3.53)
X3
+
X2
+
0X
+ 1
X2
+
X + 1
X3
+
0 + X + 0 = X3
+
X. (3.54)
Произведением двух полиномов из GF(2) называется полином из GF(2), определяемый следующим образом :
f(x)
g(x)=
,
(3.55)
то есть произведение получается по обычному правилу перемножения степенных функций, однако получаемые коэффициенты при данной степени Х складываются по модулю 2.
X3
+
X2
+
0 + 1
X
+ 1
X3
+
X2
+
0 + 1
X4
+
X3
+
0 + X
X4
+
0 + X2
+
X + 1 = X4
+
X2
+ X +1 , (3.56)
X 3
+
X2
+
0 + 1
X2
+
X
X4
+
X3
+
0 + X
X5
+
X
4
+
0
+
X2
X5
+
0 + X3
+
X2
+
X = X5
+
X3
+
X2
+
X . (1.57)
С(х) = q(x) d(x) + (х) , (3.58)
где степень остатка (х) меньше степени делителя d(x).
Иными словами, деление полиномов производится по правилам деления степенных функций, при этом операция вычитания заменяется суммированием по mod2.
X3
+
X2
+
X+ 1
X3
+
X2
X
+ 1
X + 1
0
остаток
(x).
(3.59
Еще раз напомним, что при сложении по mod2 сумма двух единиц (то есть двух элементов полинома с одинаковыми степенями) будет равна нулю, а не привычным в десятичной системе счисления двум. И, кроме этого, операции вычитания и сложения по mod2 совпадают.