
- •6. Кодирование информации
- •6.1. Общие понятия и определения. Цели кодирования
- •6.2. Кодирование как процесс выражения информации в цифровом виде
- •6.3. Эффективное кодирование
- •6.3. Структурная схема передачи информации
- •6.4. Помехи и ошибки в каналах связи
- •6.5. Передача информации по каналу с помехами
- •6.6. Классификация кодов
- •6.7. Основные характеристики кодов
- •6.8. Геометрическая интерпретация кода
- •6.9.Избыточные коды и принципы использования избыточности
- •6.9.1. Общие положения
- •6.9.2. Связь корректирующей способности кода с кодовым расстоянием
- •6.9.3. Основные методы повышения достоверности передачи информации избыточными кодами
- •6.9.4. Условия целесообразности применения избыточных кодов
- •6.10. Построение двоичного группового кода
- •6.10.1. Определение числа избыточных символов
- •6.10.2. Составление таблицы опознавателей
- •6.10.3. Определение проверочных равенств
- •6.10.4. Мажоритарное декодирование групповых кодов
- •6.11. Матричное представление линейных кодов
- •6.12. Построение циклических кодов
- •6.12.1. Общие понятия и определения
- •6.12.2. Математическое введение к циклическим кодам
- •6.12.3. Требования, предъявляемые к образующему многочлену
- •6.12.4. Выбор образующего многочлена по заданному объему кода и заданной корректирующей способности
- •6.12.4.1. Обнаружение одиночных ошибок
- •6.12.4.2. Исправление одиночных или обнаружение двойных ошибок
- •6.12.4.3. Обнаружение ошибок кратности три и ниже
- •6.12.4.4. Обнаружение и исправление независимых ошибок произвольной кратности.
- •6.12.4.5. Обнаружение и исправление пачек ошибок
- •6.12.5. Методы образования циклического кода
- •6.12.5.1. Матричная запись циклического кода
- •6.12.5.2. Укороченные циклические коды
- •6.12.6. Технические средства кодирования и декодирования для циклических кодов
- •6.12.6.1. Линейные переключательные схемы
- •6.12.6.2. Кодирующие устройства
- •6.12.6.3. Декодирующие устройства
- •Список литературы
- •Оглавление
6.12.3. Требования, предъявляемые к образующему многочлену
Согласно определению циклического кода все многочлены, соответствующие его кодовым комбинациям, должны делиться наg(x) без остатка. Для этого достаточно, чтобы наg(x)делились без остатка многочлены, составляющие образующую матрицу кода. Последние получаются циклическим сдвигом, что соответствует последовательному умножениюg(x)нахс приведением по модулюxn+ 1.
Следовательно, в общем случае многочленgi (x) является остатком от деления произведенияg(x) •хiна многочлен хn+1и может быть записан так:
gi (x) =g(x)xi+c(cn +1),
где с=1, если степень g(x)xiпревышает n—1; с=0, если степеньg(x)xiне превышаетп—1.
Отсюда следует, что все многочлены матрицы, а поэтому и все многочлены кода будут делиться на g(x) без остатка только в том случае, если наg(x) будет делиться без остатка многочлен хn+1.
Таким образом, чтобы g{x) мог породить идеал, а следовательно, и циклический код, он должен быть делителем многочлена хn+1.
Поскольку для кольца справедливы все свойства группы, а для идеала —все свойства подгруппы, кольцо можно разложить на смежные классы, называемые в этом случаеклассами вычетов по идеалу.
Первую строку разложения образует идеал, причем нулевой элемент располагается крайним слева. В качестве образующего первого класса вычетов можно выбрать любой многочлен, не принадлежащий идеалу. Остальные элементы данного класса вычетов образуются путем суммирования образующего многочлена с каждым многочленом идеала.
Если многочленg(x) степениm=n—kявляется делителем хn+1,то любой элемент кольца либо делится наg(x) без остатка (тогда он является элементом идеала), либо в результате деления появляется остатокr(х), представляющий собой многочлен степени не выше m-1.
Элементы кольца, дающие в остатке один и тот же многочлен r(x),относятся к одному классу вычетов. Приняв многочлены r(x) за образующие элементы классов вычетов, разложение кольца по идеалу с образующим многочленомg(x) степениmможно представить в табл.6.12,гдеf(x)—произвольный многочлен степени не вышеn—m—1.
Таблица 6.12
0 |
g(x) |
xg(x) |
(x+1)g(x) |
|
f(x)g(x) |
r1(x) |
g(x)+r1(x) |
xg(x)+r1(x) |
(x+1)g(x)+r1(x) |
|
f(x)g(x)+r1(x) |
r2(x) |
g(x)+r2(x) |
xg(x)+r2(x) |
(x+1)g(x)+r2(x) |
|
f(x)g(x)+r2(x) |
|
|
|
|
|
|
|
|
|
|
|
|
rz(x) |
g(x)+rz(x) |
xg(x)+rz(x) |
(x+1)g(x)+rz(x) |
|
f(x)g(x)+rz(x) |
Как отмечалось, групповой код способен исправить столько разновидностей ошибок, сколько различных классов насчитывается в приведенном разложении. Следовательно, корректирующая способность циклического кода будет тем выше, чем больше остатков может быть образовано при делении многочлена, соответствующего искаженной кодовой комбинации, на образующий многочлен кода.
Наибольшее число остатков, равное 2m — 1(исключая нулевой), может обеспечить только неприводимый (простой) многочлен, который делится сам на себя и не делится ни на какой другой многочлен (кроме 1).