Для формирования блочного кода каждая строка информационной матрицы шифруется отдельно. Для этого используется построенная генераторная матрица. Соответствующие строки складываются по модулю 2:
1 строка: {1 0 0 0 0 1 0}
2 строка: {1 0 1 1 0 0 1}
3 строка: {1 0 1 0 0 0 1}
4 строка: {0 1 1 1 0 0 1}
5 строка: {1 0 1 1 1 0 1}
6 строка: {1 1 1 1 0 0 0}
7 строка: {1 0 0 1 1 1 1}
Из результатов сложения составляется закодированная информационная матрица, представленная в блочном виде, готовая к передаче:
М =
Декодирование блочного кода в режиме обнаружения и исправления ошибок
Декодирование групповых кодов осуществляется с помощью контрольной или проверочной матрицы. Структурно она представляет собой совокупность транспонированной проверочной части генераторной матрицы, дополненной единичной матрицей с левой диагональю.
Для декодирования блочного кода в режиме обнаружения и исправления ошибок необходимо построить контрольную матрицу Н.
Н = (7.6)
H =
Пусть подается первая часть блочного кода (1 строка матрицы М) с запланированной ошибкой:
В =
R = (7.7)
где R – проверочный вектор или синдром
В – передаваемое сообщение – блок как совокупность m-шифрованных и
к – контрольных разрядов
Н – контрольная матрица
R = (2 3 2 2)
R = (0 1 0 0)
Вектор R является девятым столбцом в контрольной матрице Н. Он однозначно указывает на место ошибки переданной кодовой комбинации. Следовательно:
е = (0 0 0 0 0 0 0 0 1 0 0)
Для исправления ошибки:
е (7.8)
Таким образом, при кодировании сообщения групповым кодом была проверена эффективность данного метода. Алгоритм построен таким образом, чтобы была возможность обнаруживать и исправлять ошибки в переданном сообщении. Это достигается с помощью добавления избыточности в виде контрольных разрядов в каждый блок сообщения.
КОДИРОВАНИЕ ИНФОРМАЦИИ
ЦИКЛИЧЕСКИМ КОДОМ
Необходимо построить циклический код, способный обнаруживать и исправлять одну ошибку при передаче сообщения М = (АКСЕНЕНКО_И), закодированного с помощью метода Хаффмана.
Циклический код – это блочный код, который структурно состоит из информационной части m и проверочной части n.
В отличие от блочного кода циклический код формируется путем смещения разрядов справа налево в каждом цикле. Такой циклический сдвиг обеспечивает поиск и обнаружение ошибок краткости r также, как и в блочном коде.