Дипломная работа: Корректирующие коды
. (10)
При этом, информационная часть остается без изменений, а корректирующие разряды определяются путем суммирования по модулю два тех строк проверочной матрицы, номера которых совпадают с номерами разрядов, содержащих единицу в информационной части кода.
Процесс декодирования состоит в определении соответствия принятого кодового слова, переданному информационному. Это осуществляется с помощью проверочной матрицы H(n, k) .
, (11)
где Rmk T -транспонированная проверочная матрица (поменять строки на столбцы); Imm - единичная матрица.
Для (7, 4)- кода проверочная матрица имеет вид
. (12)
Между G(n ,k) и H(n, k) существует однозначная связь, т. к. они определяются в соответствии с правилами проверки, при этом для любого кодового слова должно выполняться равенство cHT = 0 .
Строки проверочной матрицы определяют правила формирования проверок. Для (7, 4)-кода
p1 Å +a1 Å +a2 Å a4 = S1 ;
p2 Å +a1 Å +a2 Å a3 = S2 ; (13)
p 3 Å + a 1 Å + a 3 Å a 4 = S 3 .
Полученный синдром сравниваем со столбцами матрицы и определяем разряд, в котором произошла ошибка, номер столбца равен номеру ошибочного разряда. Для исправления ошибки ошибочный бит необходимо проинвертировать.
Пример 1. Построить групповой код способный передавать 16 символов первичного алфавита с исправлением одиночной ошибки. Показать процесс кодирования, декодирования и исправления ошибки для передаваемого информационного слова 1001.
Решение:
1. Построим производящую матрицу G(n, k) .
Если объем кода N = 2k = 16, то количество информационных разрядов к = 4. Минимальное кодовое расстояние для исправления одиночной ошибки d0 =2s+1=3. По заданной длине информационного слова, используя соотношения:
n = k+m, 2n ³ (n+1)2k и 2m ³ n+1
вычислим основные параметры кода n и m .
m=[log2 {(k+1)+ [log2 (k+1)]}]=[log2 {(4+1)+ [log2 (4+1)]}]=3.
Откуда n = 7 , т. е. необходимо построить (7, 4)-код.
В качестве информационной матрицы Ik (7, 4) - выбираем единичную матрицу (4´4), а в качестве проверочной матрицы Rkm (7 ,4) - выбираем матрицу (4´3), каждая строка которой содержит число единиц больше или равно двум (r1 £ d0 -1 ).
Таким образом, в качестве производящей можно принять матрицу
.
2. Определим комбинации корректирующего кода.
Для заданного числа информационных разрядов k = 4, число кодовых комбинаций равно N = 2k = 24 = 16 .
1) 0000 5) 0010 9) 0001 13) 0011
2) 1000 6) 1010 10) 1001 14) 1011
3) 0100 7) 0110 11) 0101 15) 0111