Генераторная матрица по формуле 8.2 состоит из единичной матрицы с правой диагональю и проверочной матрицы, состоящей из полученных остатков.
V =
Кодирование
I способ
Сообщение М кодируется блоками путем сложения по модулю 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}
Таким образом, формируется закодированная матрица, состоящая из результатов сложения по модулю 2:
M =
II способ
Контрольные группы могут быть найдены без генераторной матрицы путем деления информационной группы или блока на образующий полином.
Необходимо выписать информационную часть кода, добавить количество нулей, равное числу контрольных разрядов, и поделить на полином.
1 строка:
1 0 0 0 0 1 0 0 0 0 0 | 1 1 0 0 1
1 1 0 0 1 1 1 1 0 0 1 0
1 0 0 1 1
1 1 0 0 1
1 0 1 0 0
1 1 0 0 1
1 1 0 1 0
|
|
1 1 0 0 1
0 0 1 1 0
0 0 0 0 0
0 1 1 0 0
0 0 0 0 0
1 1 0 0 0
1 1 0 0 1
0 0 0 1
2 строка:
1 0 1 1 0 0 1 0 0 0 0 | 1 1 0 0 1
1 1 0 0 1 1 1 0 1 0 1 0
1 1 1 1 0
1 1 0 0 1
0 1 1 1 1
0 0 0 0 0
1 1 1 1 0
1 1 0 0 1
0 1 1 1 0
0 0 0 0 0
1 1 1 0 0
1 1 0 0 1
0 1 0 1 0
0 0 0 0 0
1 0 1 0
3 строка:
1 0 1 0 0 0 1 0 0 0 0 | 1 1 0 0 1
1 1 0 0 1 1 1 0 0 1 0 1
1 1 0 1 0
1 1 0 0 1
0 0 1 1 1
0 0 0 0 0
0 1 1 1 0
0 0 0 0 0
1 1 1 0 0
1 1 0 0 1
0 1 0 1 0
0 0 0 0 0
1 0 1 0 0
1 1 0 0 1
1 1 0 1
4 строка:
0 1 1 1 0 0 1 0 0 0 0 | 1 1 0 0 1
0 0 0 0 0 0 1 0 1 1 0 1
1 1 1 0 0
1 1 0 0 1
0 1 0 1 1
0 0 0 0 0
1 0 1 1 0
1 1 0 0 1
1 1 1 1 0
1 1 0 0 1
0 1 1 1 0
0 0 0 0 0
1 1 1 0 0
1 1 0 0 1
0 1 0 1
5 строка:
1 0 1 1 1 0 1 0 0 0 0 | 1 1 0 0 1
1 1 0 0 1 1 1 0 1 1 0 1
1 1 1 0 0
1 1 0 0 1
0 1 0 1 1
0 0 0 0 0
1 0 1 1 0
1 1 0 0 1
1 1 1 1 0
1 1 0 0 1
0 1 1 1 0
0 0 0 0 0
1 1 1 0 0
1 1 0 0 1
0 1 0 1
6 строка:
1 1 1 1 0 0 0 0 0 0 0 | 1 1 0 0 1
1 1 0 0 1 1 0 1 0 1 1 0
0 1 1 1 0
0 0 0 0 0
1 1 1 0 0
1 1 0 0 1
0 1 0 1 0
0 0 0 0 0
1 0 1 0 0
1 1 0 0 1
1 1 0 1 0
1 1 0 0 1
0 0 1 1 0
0 0 0 0 0
0 1 1 0
7 строка:
1 0 0 1 1 1 1 0 0 0 0 | 1 1 0 0 1
1 1 0 0 1 1 1 1 0 0 0 0
1 0 1 0 1
1 1 0 0 1
1 1 0 0 1
1 1 0 0 1
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
|
|
0 0 0 0
Сформированная матрица аналогична матрице, полученной первым способом:
M =
Проверка правильности кодирования
Для проверки правильности сформированного кода необходимо и достаточно полученную кодовую комбинацию разделить на образующий полином.
Если она делится на полином без остатка, значит, код пойдет верно, наличие остатка свидетельствует об ошибке в кодировании.
1 строка:
1 0 0 0 0 1 0 0 0 0 1 | 1 1 0 0 1
1 1 0 0 1 1 1 1 1 0 0 1
1 0 0 1 1
1 1 0 0 1
1 0 1 0 0
1 1 0 0 1
1 1 0 1 0
1 1 0 0 1
0 0 1 1 0
0 0 0 0 0
0 1 1 0 0
0 0 0 0 0
1 1 0 0 1
1 1 0 0 1
0 0 0 0
5 строка:
1 0 1 1 1 0 1 0 1 0 0 | 1 1 0 0 1
1 1 0 0 1 1 1 0 1 1 0 1
1 1 1 0 0
1 1 0 0 1
0 1 0 1 1
0 0 0 0 0
1 0 1 1 0
1 1 0 0 1
1 1 1 1 1
1 1 0 0 1
0 1 1 0 0
0 0 0 0 0
1 1 0 0 0
1 1 0 0 1
0 0 0 0
Т. к. вес остатка равен нулю, сообщение закодировано верно.