Comments 8
Расстояние Хэмминга 2 - это же 2 ошибки, разве нет?
И второй вопрос - почему для разных расстояний разные полиномы? То есть, полином, ловящий 5 ошибок, может не поймать 2, так, что ли?
Расстояние Хэмминга 2 - это же 2 ошибки, разве нет?
В данном случае, расстояние хэмминга - это количество изменений битов, начиная с которых может произойти коллизия и ошибки не будут заметны. На сколько понял, определялось эмпирически.
И второй вопрос - почему для разных расстояний разные полиномы? То есть, полином, ловящий 5 ошибок, может не поймать 2, так, что ли?
Как уже сказано выше - HD = 6, означает, что такой полином может отловить до 5 ошибок включительно
P.S. добавил это в статью, спасибо
Разные полиномы дают разные характеристики обнаружения ошибок.
Т. е. полином 0xf8c9140a, который обнаруживает 8 ошибок на данных до 992 бит, обнаружит и меньшее количество ошибок, но вот полином 0xad0424f3, обнаруживающий три ошибки на данных до 4294967263 бит, может и не заметить 8 ошибок.
Также полином 0xf8c9140a, который обнаруживает 8 ошибок на данных до 992 бит, на большем кодовом слове действительно может не обнаружить ошибок вообще.
Расстояние хэмминга 2 - имеется в виду минимальное расстояние между кодовыми словами в кодовом пространстве. Это означает что если мы возьмем произвольную точку в данпом пространстве то в сфере радиуса 1 будет максимум одно кодовое слово, это слово и можнт брать в качестве коррекции, что соответствует исправлению одной ошибки. А вот если взять сферу радиуса 2 - то в ней уже может быть больше одного слова. Количество ошибок которые исправляет код всегда строго меньше минимального расстояния.
Многочлены разные потому что разные кодовые пространства. Степень полинома закисит от размерности пространства и требуемых свойств кода. То есть тот же самыц полином в принципе можно использовать в пространстве более высокой размерности - но не факт что он будет эффективен, кроме того он будет исправлять не большее число ошибок чем в пространстве меньшей размерности.
А полиномы с расстоянием Хемминга 2 и 3 точно одинаковые ?
Для примера рассчитаем табличные значения для
и
(пригодятся дальше), а полином возьмем из предыдущего примера:
Может быть не 1101 и 1100 а 110100000 и 110000000? Так-то остаток от деления 1101 и 1100 на 100101101 это 1101 и 1100.
CRC — это просто (деление столбиком)