3.5. Эквивалентные коды
Приведенный выше пример дает один из способов кодирования сообщения. Имеется много других эквивалентных кодов. Ясно, что любая перестановка позиций кода приводит к коду, тривиально отличающемуся от первоначального. Аналогично, инверсия (замена на 1 и 1 на 0) символов, появляющихся на некоторой фиксированной позиции во всех кодовых словах, приводит К коду, тривиально отличающемуся от первоначального.
При желании замечание о перестановке позиций можно использовать, чтобы переставить все проверочные позиции в конец сообщения. Может показаться, что при этом проверки на четность и проведение исправлений становятся более сложными, однако для ЭВМ число вычислений не увеличивается, поскольку при каждой проверке по-прежнему нужно выбрать некоторые символы принятого сообщения и установить четность суммы. Аналогично изменяется синдром, хотя его сущность не меняется, и он по-прежнему однозначно соответствует позиции. Таким образом, номер позиции символа, к которому следует логически добавить корректирующий бит, изменяется, однако ее можно найти либо по формуле, либо из таблицы, устанавливающей соответствие между синдромом и словом, содержащим 1 в позиции, которую нужно исправить. Конечно, для длинного кода сообщение может состоять из двух или более слов. Размер таблицы пропорционален Первоначальный код Хэмминга использовал вычислительные методы, а не табличный поиск, и, вообще говоря, для длинных кодов такие методы необходимы.
Задача
3.5.1. Подробно рассмотрите кодирование и декодирование для кода с если три проверочных символа передвигаются на позициях с номерами 5, 6 и 7.