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

Обнаружение ошибок кодом Хэмминга (9,5)

Рассмотрим, что произойдет, если в принятой последовательности будет не одна, а, например, две ошибки. Пусть ошибки возникли в информационном элементе а1 и проверочном элементе b2, т.е. кодовую комбинацию кода (9,5) вместо 11001 1111 приняли в виде 01001 1011.

Найдем синдром полученной кодовой комбинации:

Полученный синдром, неравный нулю, указывает, что кодовая комбинация принята неверно, но этот синдром соответствует одиночной ошибке в элементе, который в таблице находится на 5 позиции. Т.о. будет исправлен элемент а2, т.е. будет внесена ошибка в ту позицию, где ее не было.

Отсюда можно сделать вывод, что код (9,5) обнаруживает двукратные ошибки, но не обеспечивает их исправление. Это обусловлено расстоянием Хэмминга данного кода, которое равно 3.

Понятие порождающей матрицы

Код считается заданным, если заданы его разрешенные комбинации.

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

1. Все исходные комбинации должны быть различимы.

2. Нулевая комбинация не должна входить в число исходных.

3. Все исходные комбинации должны быть линейно-независимыми. Условие линейной независимости состоит в том, что если хотя бы один из коэффициентов не равен нулю.

4. Каждая исходная комбинация должна содержать число единиц не меньше чем d0, т.е. где - вес кодовой комбинации.

5. Между любыми двумя исходными кодовыми комбинациями кодовое расстояние должно быть не меньше d0.

Если такие комбинации найдены, то они однозначно определяют любой систематический (n,k) код, в том числе и код Хэмминга.

Наиболее удобным и наглядным способом задания кода Хэмминга является его задание с использованием порождающей матрицы G размера (kn). Порождающую матрицу можно представить двумя подматрицами – информационной и проверочной. Информационная матрица имеет размер (kk), проверочная подматрица – размер (kr). Таким образом:

Установлено, что в качестве информационной подматрицы удобно брать единичную матрицу. Это квадратная матрица раз­мером (kk):

Проверочная подматрица строится путем подбора различных r-разрядных комбинаций, удов­летворяющих следующим условиям:

1. В каждой строке проверочной подматрицы должно быть не менее d0 - 1 единиц.

2. Сумма по модулю 2 двух любых строк должна иметь не ме­нее d0 - 2 единицы.

3. Двоичные числа, представляющие собой строки матрицы, должны возрастать от 1-й строки к последующим (это условие не обязательное).

Полученная таким образом проверочная подматрица приписывается справа к единичной матрице Е, в результате чего получается производя­щая матрица G размера (k,n).

Пример

Рассмотрим пример построения производящей матрицы кода (9,5), имеющего минимальное расстояние Хэмминга d0=3.

По условию имеем n=9, k=5, число проверочных разрядов r=n - k=4.

Запишем все возможные проверочные комбинации (из четырех элементов) в порядке возрастания соответствующих двоичных чисел: 0000; 0001; 0010; 0011; 0100; 0101; 0110; 0111; 1000; 1001; 1010; 1011; 1100; 1101; 1110; 1111. Из этих шестнадцати чисел отберем только те, которые удовлетворяют перечисленным выше условиям для проверочной подматрицы.

1. В каждой строке должно быть не менее d0 - 1 единиц: d0 - 1=2. Этому условию удовлетворяют комбинации: 0011; 0101; 0110; 0111; 1001; 1010; 1011; 1100; 1101; 1110; 1111.

2. Сумма по модулю 2 двух любых комбинаций должна иметь не меньше d0 - 2 =1 (еди­ниц). Легко убедиться, что все выбранные кодовые комбинации удовлетворяют это­му требованию, например:

и т.д.

3. Располагая эти комбинации в порядке возрастания двоичных чисел, получим проверочную подматрицу (учитываем, что она должна содержать k=5 строк):

.

Объединяя проверочную подматрицу с единичной требуемого размера, получаем производящую матрицу кода (9,5):

Из этой матрицы можно составить все разрешенные кодовые комбинации. Для кода (9,5) их будет 2k=25=32. Пять из них являются строками производящей матрицы, а оставшиеся 27 находятся суммированием по модулю 2 различных строк матрицы G. Например, суммируются строки 1+2; 1+2+3; 1+2+3+4, 1+2+3+4+5, 1+3, 1+3+4 и т. д. При этом можно убедиться, что минималь­ное кодовое расстояние равно 3.

Если известна порождающая матрица кода и информационная часть кодовой комбинации, то полная кодовая комбинация равна:

где А – информационная часть кодовой комбинации,

G – порождающая матрица кода,

U – полная кодовая комбинация.

Пример

Кодом (9,5) требуется передать информационную комбинацию 11001. Найти вид передаваемой комбинации с учетом проверочных разрядов.

В линию связи будет передана комбинация 11001 1111, что совпадает с ранее полученным результатом.