Код Хэмминга

В качестве примера (n, k)-кода, при задании которого используется матричное представление, рассмотрим код Хэмминга – код с кодовым расстоянием d = 3, позволяющий исправлять все одиночные ошибки. Для кода Хэмминга число разрешённых кодовых комбинаций равно верхней границе – 2n/(n+ 1). Первые k разрядов кодовых комбинация используются в качестве информационных, их число равно:

.  

Данное уравнение имеет целочисленные решения k = 0, 1, 4, 11, 26, …, которые и определяют соответствующие коды Хэмминга: (3, 1), (7, 4), (15,11) и т.д. Рассмотрим построение (7, 4)-кода. Для этого воспользуемся каноническим представлением порождающей матрицы. Одним из свойств порождающей матрицы является то, что для различных кодовых комбинаций, составленных из информационных разрядов, должны быть различными и проверочные разряды. Так как все вектор-строки единичной подматрицы матрицы Gn,k различны, то и подматрица проверочных разрядов должна состоять из различных ненулевых строк (общее число ненулевых строк должно быть равно 2r–1).

Вычтем из возможного числа ненулевых строк r строк, образующих единичную матрицу , которую следует добавить к транспонированной подматрице проверочных разрядов при определении проверочной матрицы. Тогда останется 2r–1–r r-разрядных строк с числом единиц не меньше двух. Для кода Хэмминга это число как раз равно числу информационных разрядов. Для (n, k)-кода число различных r-разрядных строк с числом единиц не меньше двух равно числу строк в порождающей матрице. Это свойство позволяет составить непосредственно один из вариантов порождающей матрицы (7, 4)-кода, например, такой:

 

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

 

Проверим способность разработанного (7, 4) кода исправлять одиночные ошибки. Пусть передаваемая кодовая комбинация v (7, 4)-кода образована путём сложения первой, второй и четвёртой строк матрицы G7,4, тогда v = 1101001.

Предположим, что при передаче по каналу произошла ошибка в третьем разряде кодовой комбинации v. В этом случае на приёмной стороне канала будет получена кодовая комбинация v' = 1111001. Умножим принятую кодовую комбинацию на транспонированную проверочную матрицу H7,4:

 

Отличие от нуля синдрома говорит о том, что произошла ошибка. Чтобы определить, в каком разряде кодовой комбинации произошла ошибка, проверим, с какой строкой матрицы транспонированной матрицы H7,4 совпадает синдром. Как видно, он совпадает с третьей строкой. Следовательно, ошибка произошла в третьем разряде кодовой комбинации. В декодирующих устройствах систем передачи информации результат перемножения принятой кодовой комбинации на проверочную матрицу (синдром ошибки) используется для автоматического исправления соответствующего разряда.








Дата добавления: 2015-08-01; просмотров: 1928;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.