Кодовое расстояние d (по Хеммингу) между двумя кодовыми комбинациями двоичного кода равно числу символов, в которых эти комбинации отличаются одна от другой. Чтобы получить значение кодового расстояния между двумя комбинациями двоичного кода, достаточно подсчитать число единиц в результате поразрядного сложения этих комбинаций по модулю 2, другими словами, расстояние между двумя двоичными кодовыми векторами равно весу вектора, полученного в результате сложения исходных векторов по модулю два.
Если в коде имеется несколько кодовых слов, необходимо для каждой пары заданного множества кодовых слов вычислить кодовое расстояние, выбрать из полученных кодовых расстояний минимальное значение и определить по нему корректирующие способности исследуемого кода.
В соответствии с заданием (таблица 3) имеем следующий код:
Решение:
d12=0; d13=7;
d23=7.
Вычислим минимальное кодовое расстояние:
dmin=min{0, 7, 7}=0.
Для определения корректирующих способностей существуют формулы (23) – (26).
dmin ≥ R + 1, (23)
где R – кратность обнаруживаемых ошибок;
dmin ≥ 2S + 1, (24)
где S – кратность исправляемых ошибок;
Для обнаружения всех ошибок кратности R и одновременного исправления ошибок кратности S минимальное хэммингово расстояние нужно выбирать из условия
(25)
при этом
R>S. (26)
В соответствии с формулой (23) вычислим кратность обнаруживаемых ошибок, приравняв левую и правую части этого неравенства:
dmin=R+1 0=R+1 R=0.
В соответствии с формулой (24) вычислим кратность исправляемых ошибок, приравняв левую и правую части:
dmin=2S+1 0=2S+1 S=0.
В соответствии с формулой (25) вычислим кратность обнаруживаемых и исправляемых ошибок, приравняв левую и правую части, с учетом ограничения (26):
dmin=R+S+1 0=R+S+1 R=0; S=0.
Вывод:
Т.к. dmin = 0, заданный код не обладает корректирующими способностями. Для обнаружения хотя бы одной ошибки необходимо чтобы dmin=2, для исправления одной dmin=3.