Алгебраические основы теории кодирования

Группой называется множество Алгебраические основы теории кодирования - student2.ru вместе с бинарной операцией, заданной на этом множестве, обладающее следующими свойствами: замкнутости, ассоциативности, существование нейтрального элемента и наличие у каждого элемента обратного элемента. В кодировании представляют интерес конечные группы, т.е. порядок группы конечное число, а порядком называют число элементов в группе. Операцию в группе условно называют сложением или умножением. Если для Алгебраические основы теории кодирования - student2.ru выполняется условие Алгебраические основы теории кодирования - student2.ru , группа называется коммутативной (абелевой). Часть элементов группы с той же операцией могут тоже составлять группу. Последняя называется подгруппой. Группа разлагается по подгруппе на смежные классы. Производится это построением таблицы следующим образом. Первая строка таблицы это элементы подгруппы, на первое место помещается нейтральный элемент. Берется элемент Алгебраические основы теории кодирования - student2.ru группы Алгебраические основы теории кодирования - student2.ru , не содержащийся в первой строке, и получают вторую строку, выполняя операцию этого элемента с каждым из элементов подгруппы. Далее берется Алгебраические основы теории кодирования - student2.ru , не содержащийся в первых двух строках, и получают вторую строку и т.д., пока не исчерпаем все элементы Алгебраические основы теории кодирования - student2.ru .

Кольцо –это множество Алгебраические основы теории кодирования - student2.ru вместе с двумя бинарными операциями, называемыми сложение и умножение, при выполнении следующих свойств:

- Алгебраические основы теории кодирования - student2.ru образует абелеву группу по сложению,

- выполняется замкнутость по умножению и

- ассоциативность по умножению.

В кодировании интерес представляют коммутативные кольца с конечным числом элементов, в частности, кольца многочленов Алгебраические основы теории кодирования - student2.ru . «Аналогом» подгруппы в кольце будет идеал. Это подмножество элементов кольца, если выполняются условия:

Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru

Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru и Алгебраические основы теории кодирования - student2.ru .

Особый интерес представляет поле. Полем называется множество Алгебраические основы теории кодирования - student2.ru с двумя операциями на нем (сложением и умножением), причем выполняются условия:

- Алгебраические основы теории кодирования - student2.ru группа по сложению,

- Алгебраические основы теории кодирования - student2.ru без нулевого элемента группа по умножению,

- выполняется дистрибутивный закон.

Конечные поля называются полями Галуа и обозначаются Алгебраические основы теории кодирования - student2.ru . Не из любого числа элементов Алгебраические основы теории кодирования - student2.ru можно настроить поле. Это возможно только когда Алгебраические основы теории кодирования - student2.ru - простое число или Алгебраические основы теории кодирования - student2.ru ; Алгебраические основы теории кодирования - student2.ru

Чтобы задать (построить) поле надо привести таблицы сложения и умножения. Легко строится поле из простого числа элементов. Операции сложения и умножения определяются по модулю этого числа Алгебраические основы теории кодирования - student2.ru . Если Алгебраические основы теории кодирования - student2.ru - степень простого числа, поле строить труднее. Надо использовать неприводимый многочлен степени m с коэффициентами из простого подполя. Он играет роль простого числа, операции сложения и умножения определяются по модулю этого многочлена. Конечное поле заданного порядка единственно с точностью до обозначения элементов. Обозначение элементов, тем не менее, не безразлично. Так многочленное обозначение позволяет легко производить операцию сложения, а умножение весьма сложно. Его легче производить используя степенное представление элементов. Если взять какой-то элемент (ненулевой) поля и производить операцию умножения только над ним, то через определенное число шагов n произойдет циклическое повторение. Особый интерес представляют элементы, которые порождают все элементы поля. Они называются примитивными. Неприводимый многочлен, по модулю которого элемент х является примитивным, называется примитивным многочленом.

Построим поле Алгебраические основы теории кодирования - student2.ru , т.е. из 16 элементов. В качестве многочлена, по модулю которого будем строить таблицы умножения и сложения возьмем многочлен Алгебраические основы теории кодирования - student2.ru . Он неприводим над Алгебраические основы теории кодирования - student2.ru и является примитивным.

Представление элементов поля Алгебраические основы теории кодирования - student2.ru

Степенное Многочлен Двоичное Десятичное
Алгебраические основы теории кодирования - student2.ru
Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru
Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru
Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru
Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru
Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru
Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru
Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru
Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru
Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru
Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru
Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru
Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru
Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru
Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru

Множество Алгебраические основы теории кодирования - student2.ru называется линейным (векторным) пространством над полем Алгебраические основы теории кодирования - student2.ru , если для пар элементов из Алгебраические основы теории кодирования - student2.ru определена операция векторного сложения, а для элементов из Алгебраические основы теории кодирования - student2.ru и Алгебраические основы теории кодирования - student2.ru операция умножения вектора на скаляр, такие, что результат их выполнения дает элемент из Алгебраические основы теории кодирования - student2.ru , причем выполняются аксиомы:

- множество Алгебраические основы теории кодирования - student2.ru абелева группа по сложению;

- выполняется дистрибутивный закон для векторов, т.е. Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru ;

- выполняется дистрибутивный закон для скаляров, т.е. Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru ;

- выполняется ассоциативный закон, т.е. Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru .

Линейное пространство может быть задано базисными векторами. Это такие Алгебраические основы теории кодирования - student2.ru линейно независимых векторов, которые позволяют любой вектор пространства Алгебраические основы теории кодирования - student2.ru выразить в виде Алгебраические основы теории кодирования - student2.ru . Минимально возможное число (п) линейно-независимых векторов есть размерность пространства.

Скалярным произведением векторов называется скаляр, определяемый по правилу Алгебраические основы теории кодирования - student2.ru . Если Алгебраические основы теории кодирования - student2.ru , то такие вектора ортогональны.

Множество всех векторов пространства Алгебраические основы теории кодирования - student2.ru , ортогональных пространству Алгебраические основы теории кодирования - student2.ru , образует подпространство Алгебраические основы теории кодирования - student2.ru , которое называют нулевым для Алгебраические основы теории кодирования - student2.ru .

Если некоторый вектор ортогонален базисным векторам Алгебраические основы теории кодирования - student2.ru , то он принадлежит Алгебраические основы теории кодирования - student2.ru . Если Алгебраические основы теории кодирования - student2.ru имеет размерность Алгебраические основы теории кодирования - student2.ru , подпространство Алгебраические основы теории кодирования - student2.ru размерность Алгебраические основы теории кодирования - student2.ru , то размерность Алгебраические основы теории кодирования - student2.ru равна Алгебраические основы теории кодирования - student2.ru .

Задание линейных кодов

Пусть Алгебраические основы теории кодирования - student2.ru - линейное Алгебраические основы теории кодирования - student2.ru -мерное пространство над полем Алгебраические основы теории кодирования - student2.ru . Линейным блоковым Алгебраические основы теории кодирования - student2.ru -м кодом размерности Алгебраические основы теории кодирования - student2.ru длины Алгебраические основы теории кодирования - student2.ru называется всякое Алгебраические основы теории кодирования - student2.ru -мерное подпространство Алгебраические основы теории кодирования - student2.ru пространства Алгебраические основы теории кодирования - student2.ru . Для обозначения линейного кода используется символ Алгебраические основы теории кодирования - student2.ru -код.

Встречается другое название линейного кода (групповой код), которое связано с понятием группы. Двоичный код называют групповым, если сумма двух любых его кодовых слов есть снова кодовое слово. Это есть следствие из свойств группы.

Существует несколько способов задания линейных кодов. В зависимости от целей и задач оказывается удобным тот или иной способ представления.

1. Очевидно, что к линейно независимых векторов подпространства А, образующих его базис , позволяют выразить любой вектор этого пространства: Алгебраические основы теории кодирования - student2.ru ; Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru - базисные векторы. Такой способ задания кода удобен для доказательства теорем, исследования свойств кода.

2. Если полученное соотношение записать в матричной форме

Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru ,

где Алгебраические основы теории кодирования - student2.ru

то придем ко второй форме задания линейного кода. Матрица G , строки которой есть k линейно независимых векторов кода (например, базис­ные векторы, представленные через свои компоненты), называется порождающей матрицей Алгебраические основы теории кодирования - student2.ru -кода. Набор Алгебраические основы теории кодирования - student2.ru является информационным Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru . Набор Алгебраические основы теории кодирования - student2.ru - закодированное информационное сообщение.

Ясно, что для любого Алгебраические основы теории кодирования - student2.ru -кода А существует не одна порождающая матрица, так как всякая матрица QG , где Q - невырожденная матрица размером Алгебраические основы теории кодирования - student2.ru , тоже является порождающей матрицей Алгебраические основы теории кодирования - student2.ru -ко­да.

За счет перенумерации координат и выбора образующих векторов всегда можно порождающую матрицу привести к каноническому виду Алгебраические основы теории кодирования - student2.ru , где Е – единичная матрица размера Алгебраические основы теории кодирования - student2.ru , а В – произвольная матрица размера Алгебраические основы теории кодирования - student2.ru :

Алгебраические основы теории кодирования - student2.ru ;

Алгебраические основы теории кодирования - student2.ru ; Алгебраические основы теории кодирования - student2.ru ; Алгебраические основы теории кодирования - student2.ru ; Алгебраические основы теории кодирования - student2.ru .

Код, заданный канонической матрицей, является систематическим, т.е. проверочные и информационные символы разделены.

3. Задание кода с помощью проверочной матрицы Алгебраические основы теории кодирования - student2.ru .

Если задан код А как подпространство Алгебраические основы теории кодирования - student2.ru пространства Алгебраические основы теории кодирования - student2.ru размерности Алгебраические основы теории кодирования - student2.ru , то существует подпространство Алгебраические основы теории кодирования - student2.ru , ортогональное Алгебраические основы теории кодирования - student2.ru (называемое нулевым) размерности Алгебраические основы теории кодирования - student2.ru . Это подпространство дает тоже линейный код. Обозначим его Алгебраические основы теории кодирования - student2.ru . Он называется дуальным (двойст­венным) к А.

Обозначим через Н порождающую матрицу кода Алгебраические основы теории кодирования - student2.ru . Тогда код А можно определить как множество векторов Алгебраические основы теории кодирования - student2.ru таких, что

Алгебраические основы теории кодирования - student2.ru (*)

Матрица Н называется проверочной матрицей Алгебраические основы теории кодирования - student2.ru -кода. Если, как и раньше, обозначить компоненты вектора Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru , элементы матрицы Алгебраические основы теории кодирования - student2.ru - Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru , то развернутая запись матричного уравнения приведет к системе уравнений из Алгебраические основы теории кодирования - student2.ru штук вида Алгебраические основы теории кодирования - student2.ru .

Это означает, что компоненты любого кодового слова удовлетворяют со­вокупности Алгебраические основы теории кодирования - student2.ru линейных независимых однородных уравнений. Эти уравнения называется обобщенными проверками на четность. Для двоич­ного кода они представляет проверку на четность определенных групп информационных символов.

Так как уравнение (*) справедливо для всех слов кода, то оно справедливо и для строк порождающей матрицы Алгебраические основы теории кодирования - student2.ru (базисных векторов). Следовательно, проверочная и порождающая матрицы кода связаны соот­ношением Алгебраические основы теории кодирования - student2.ru .

Всякая проверочная матрица Алгебраические основы теории кодирования - student2.ru -кода комбинаторно эквивалентна матрице, представленной в канонической форме:

Алгебраические основы теории кодирования - student2.ru

Алгебраические основы теории кодирования - student2.ru Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru , Алгебраические основы теории кодирования - student2.ru .

Связь между проверочной и порождающей матрицей устанавливается следующей теоремой.

Пусть Алгебраические основы теории кодирования - student2.ru - порождающая матрица Алгебраические основы теории кодирования - student2.ru - кода, представленная в канонической форме, т.е. Алгебраические основы теории кодирования - student2.ru - единичная матрица разме­ра Алгебраические основы теории кодирования - student2.ru ; Алгебраические основы теории кодирования - student2.ru - матрица размера Алгебраические основы теории кодирования - student2.ru с элементами из поля Алгебраические основы теории кодирования - student2.ru . Тогда матрица Алгебраические основы теории кодирования - student2.ru - проверочная матрица Алгебраические основы теории кодирования - student2.ru -ко­да Алгебраические основы теории кодирования - student2.ru , представленная в канонической форме.

Задание кода проверочной матрицей удобно для осуществления де­кодирования.

4. Модулярное представление кода. Производящая матрица кода G может иметь разнообразие типов столбцов в Алгебраические основы теории кодирования - student2.ru штук, так как в столбце Алгебраические основы теории кодирования - student2.ru символов и чисто нулевой столбец не имеет смысла. Если все типы столбцов записать в виде матрицы М размерности Алгебраические основы теории кодирования - student2.ru , то код можно задать, указав Алгебраические основы теории кодирования - student2.ru положительных чисел Алгебраические основы теории кодирования - student2.ru , где Алгебраические основы теории кодирования - student2.ru - число столбцов типа Алгебраические основы теории кодирования - student2.ru в матрице G:

Алгебраические основы теории кодирования - student2.ru .

Это и есть модулярное задание кода. Алгебраические основы теории кодирования - student2.ru дает в результате все ненулевые кодовые векторы. Важную роль играет матрица Алгебраические основы теории кодирования - student2.ru . Это симметричная матрица, содержащая по одному столбцу каждого типа.

Свойства линейных кодов

Так как расстояние между двумя векторами Алгебраические основы теории кодирования - student2.ru и Алгебраические основы теории кодирования - student2.ru равно весу суммарного вектора Алгебраические основы теории кодирования - student2.ru , а для линейного кода суммар­ный вектор тоже принадлежит коду, то кодовое расстояние равно минимальному весу множества кодовых векторов Алгебраические основы теории кодирования - student2.ru . Поскольку минимум берется по всем векторам кода А отличным от нулевого, то для поиска кодового расстояния достаточно Алгебраические основы теории кодирования - student2.ru сравнений. Для произвольного кода число сравнений равно Алгебраические основы теории кодирования - student2.ru . По виду матрицы Н можно судить о защитных свойствах кода, в частности, о значении кодового расстояния.

1. Теорема. Если любые Алгебраические основы теории кодирования - student2.ru столбцов матрицы Алгебраические основы теории кодирования - student2.ru линейно независимы, то кодовое расстояние не меньше, чем Алгебраические основы теории кодирования - student2.ru .

Доказательство. Пусть матрица Н обладает свойством, что Алгебраические основы теории кодирования - student2.ru столбцов линейно независимы, Алгебраические основы теории кодирования - student2.ru - кодовый вектор. Тогда Алгебраические основы теории кодирования - student2.ru или, раскрыв матричную запись, получим Алгебраические основы теории кодирования - student2.ru . Число элементов Алгебраические основы теории кодирования - student2.ru (т.е. столбцов Н), реально участвующих в проверках, очевидно, равно числу ненулевых компонент Алгебраические основы теории кодирования - student2.ru вектора Алгебраические основы теории кодирования - student2.ru , т.е. весу кодового вектора. В силу условия линейной не­зависимости Алгебраические основы теории кодирования - student2.ru столбцов матрицы Н равенство нулю возможно только при d или большем числе ненулевых Алгебраические основы теории кодирования - student2.ru ;. Значит, минимальный вес ко­дового вектора равен d или больше и кодовое расстояние тоже d или больше. Теорема доказана.

Можно, как следствие, заметить, что если все столбцы матрицы Н различны, то кодовое расстояние равно трем или больше. Действительно, при всех различных столбцах никакие два из них в сумме не равны нулю, т.е. линейно независимы. Отсюда Алгебраические основы теории кодирования - student2.ru .

2. Если имеется модулярное представление кода, в частности дво­ичного, то спектр этого кода можно найти на основании теоремы Макдональда.

Веса каждого из Алгебраические основы теории кодирования - student2.ru ненулевых кодовых слов двоичного группового кода могут быть найдены как компоненты вектора, получающегося в результате матричного умножения (как матриц с действительными числами) вектора Алгебраические основы теории кодирования - student2.ru модулярного представления кода на матрицу Алгебраические основы теории кодирования - student2.ru : Алгебраические основы теории кодирования - student2.ru или Алгебраические основы теории кодирования - student2.ru . Веса кодовых слов оказываются упорядоченными так же, как кодовые слова в матрице Алгебраические основы теории кодирования - student2.ru .

3. Граница Синглтона. Минимальный вес любого линейного Алгебраические основы теории кодирования - student2.ru -кода удовлетворяет неравенству Алгебраические основы теории кодирования - student2.ru .

Доказательство. Ненулевое слово минимального веса имеет вес d. Имеются слова в систематическом коде о одним ненулевым информационным символом. Так как еще имеется только Алгебраические основы теории кодирования - student2.ru проверочных символов в слове, то вес не может быть больше Алгебраические основы теории кодирования - student2.ru . Код с Алгебраические основы теории кодирования - student2.ru называется кодом с максимальным расстоянием.

4. Спектры линейного кода А и двойственного ему Алгебраические основы теории кодирования - student2.ru взаимосвязаны. Эта связь оказалась весьма полезной для расчета спектров многих блоковых кодов. Пусть Алгебраические основы теории кодирования - student2.ru - спектральная функция Алгебраические основы теории кодирования - student2.ru -кода А, Алгебраические основы теории кодирования - student2.ru - спектральная функция Алгебраические основы теории кодирования - student2.ru . Согласно тождеству Мак-Вильямс:

Алгебраические основы теории кодирования - student2.ru (*)

Спектры кодов до Алгебраические основы теории кодирования - student2.ru в настоящее время находятся с помощью ЭВМ. С помощью (*) удается найти спектр кода большей длины, лишь бы число проверочных символов не превышало 32.

Наши рекомендации