Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЛ_ПА.doc
Скачиваний:
9
Добавлен:
01.04.2025
Размер:
4.58 Mб
Скачать

3. Линейные коды

Совокупность двоичных слов длины вместе с операцией поразрядного сложения по модулю 2 образует -мерное векторное пространство над полем из двух элементов .

Код называется линейным, если является подпространством этого пространства. В виду "бедности" совокупности скаляров для этого пространства операция умножения вектора (двоичного слова) на скаляр остается как бы в тени, так как

.

По той же причине условия, при которых С является подпространством сводятся к двум

  1. ;

  2. , .

Рассмотрим способы задания линейного кода. Каждое подпространство имеет размерность и базис из векторов, пусть это будут слова .Тогда

.

Из этого представления видно, что .

Другой способ задания подпространства заключается в том, что подпространство определяют как совокупность решений линейной однородной системы уравнений, связывающих координаты векторов

Если эти уравнения независимы, то размерность пространства решений равна . Обозначим матрицу системы через . Это матрица из 0 и 1 размера . Тогда

. (1)

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

Пример. Описанный выше 7-разрядный код Хэмминга представляет собой линейный код с проверочной матрицей

.

При этом

.

Записав условие , получаем соотношения, которым удовлетворяют разряды кодовых слов в коде Хэмминга

Эти соотношения представляют собой проверки на четность, например первое из них выполняется, когда количество единиц в разрядах 4,5,6 и 7 четно. Отсюда название проверочная матрица.

Будем далее считать, что линейный код задается проверочной матрицей , то есть определяется по формуле (1). Рассмотрим теперь корректирующие возможности линейного кода, то есть его способность исправлять ошибки. Как было установлено выше, это зависит от параметра . Для линейного кода он вычисляется проще, чем в общем случае. Весом двоичного слова называется число разрядов слова, равных единице. Будем обозначать вес двойными вертикальными черточками:

.

Теорема 2. Если – линейный код, то

,

то есть минимум берется по всем ненулевым словам кода.

Это утверждение очевидным образом вытекает из следующих двух фактов

Следствие. Если в линейном коде вес каждого ненулевого вектора не меньше, чем , то код исправляет ошибок.

Теорема 3. Линейный код исправляет ошибок, если в его проверочной матрице любые столбцов линейно независимы.

Доказательство. Обозначим столбцы проверочной матрицы . Условие для ненулевого слова принадлежащего коду, можно записать в следующей форме

(2)

Коэффициенты в этой линейной комбинации равны 0 и 1, количество коэффициентов, равных единице, равно , нулевые коэффициенты можно отбросить. Таким образом, равенство (2) представляет собой соотношение линейной зависимости между столбцами проверочной матрицы. При выполнении условия теоремы получаем, что , следовательно, код исправляет ошибок.

Лекция 14 Коды Боуза – Чаудхури– Хоквингема (бчх-коды)

1. Введение

Вернемся к рассмотрению линейных кодов. Рассмотрим линейный код с длиной кодовых слов вида . Возьмем в качестве проверочной матрицы кода матрицу размера, столбцам которой являются всевозможные ненулевые двоичные векторы длины:

(1)

(См. в лекции 13 пример такой матрицы для 7-разрядного кода Хэмминга). Матрица удовлетворяет условию теоремы 3 из лекции 13 с : любые 2 столбца матрицы (1) линейно независимы. Действительно, для любых двух столбцов матрицы имеется только три варианта ненулевой линейной комбинации : , и . Все они отличны от нуля: первые две потому, что в матрице нет нулевых столбцов, а третья потому, что все столбцы разные. Следовательно, код с проверочной матрицей исправляет одиночные ошибки.

Замечание. Этот код, очевидно, представляет собой обобщение рассмотренного выше 7-разрядного кода Хэмминга и механизм исправления одной ошибки в нем аналогичный. Пусть передается слово , , а принимается слово , отличающееся от не более чем в одном разряде. Тогда , , то есть либо (ошибок не было), либо – слово с одним единичным разрядом. На приемном конце канала вычисляется

.

Если произошла одна ошибка, то . Таким образом, если рассматривать столбцы как двоичные номера разрядов, то после вычисления произведения проверочной матрицы на принятое слово мы получаем номер искаженного разряда.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]