Простой итеративный код
Простая система кодирования, которая, как оказывается, имеет различные применения, может быть построена следующим образом. Предположим, что нужно передать девять информационных символов. Эти девять символов можно расположить в виде квадратной матрицы, как показано в табл. 1, с проверочными символами, добавленными к каждой строке и к каждому столбцу. Один оставшийся символ P7 является общим проверочным символом на четность.
Таблица 1. Простой итеративный блоковый код с проверкой на четность по строкам и по столбцам
|
.
Следует заметить, что матрица Н может быть записана в нескольких эквивалентных формах. Одна из этих форм, имеющая определенные преимущества при реализации в некоторых ситуациях, может быть получена добавлением четвертой, пятой и шестой строк к последней строке, в результате чего последняя строка становится равной
и Р7 вычисляется теперь как сумма Р1, Р2 и Р3. Аналогично Р7 можно вычислять как сумму Р4, Р5 и Р6. Удобство, достигаемое при вычислении Р7 как суммы Р1, Р2 и Р3, состоит в том, что при таком способе все столбцы вычисляются абсолютно одинаково. Этот принцип справедлив при любых размерах массива. Таким образом, описанный метод оказывается полезным в случае, когда данные естественно формируются в виде массива, как, например, знаки в шине для передачи данных или на бумажной ленте, когда длина серии знаков не фиксирована. Во многих практических случаях, связанных с пересылкой данных, обычно вводится проверка на четность для каждого знака. Нетрудно при этом вычислить знак общей проверки, записав серию знаков в регистре, использующем сложение по модулю 2.
