Дипломная работа: Корректирующие коды
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
Для обнаружения и исправления ошибки составляются аналогичные проверки на четность контрольных сумм, результатом которых является двоичное (n-k ) -разрядное число, называемое синдромом и указывающим на положение ошибки, т. е. номер ошибочной позиции, который определяется по двоичной записи числа, либо по проверочной матрице.
Для исправления ошибки необходимо проинвертировать бит в ошибочной позиции. Для исправления одиночной ошибки и обнаружения двойной используют дополнительную проверку на четность. Если при исправлении ошибки контроль на четность фиксирует ошибку, то значит в кодовой комбинации две ошибки.
Схема кодера и декодера для кода Хэмминга приведена на рис. 1.
Пример 1. Построить код Хемминга для передачи сообщений в виде последовательности десятичных цифр, представленных в виде 4 –х разрярных двоичных слов. Показать процесс кодирования, декодирования и исправления одиночной ошибки на примере информационного слова 0101.
Решение:
1. По заданной длине информационного слова (k = 4 ), определим количество контрольных разрядов m , используя соотношение:
m = [log2 {(k+1)+ [log2 (k+1)]}]=[log2 {(4+1)+ [log2 (4+1)]}]=3,
при этом n = k+m = 7 , т. е. получили (7, 4) -код.
2. Определяем номера рабочих и контрольных позиции кодовой комбинации. Номера контрольных позиций выбираем по закону 2i .
Для рассматриваемой задачи (при n = 7 ) номера контрольных позиций равны 1, 2, 4. При этом кодовая комбинация имеет вид:
b1 b2 b3 b4 b5 b6 b7
к1 к2 0 к3 1 0 1
3. Определяем значения контрольных разрядов (0 или 1), используя проверочную матрицу (5).
Первая проверка: