Я прочитал Безболезненное руководство по алгоритмам обнаружения ошибок CRC Росса Н. Уильямса, где он использует двоичное деление, чтобы получить остаток от деления исходного сообщения 1101011011
и поли 10011
. Он прибывает на остаток 1110
.
Я пытался использовать MATLAB gfdeconv с приведенным выше примером. В описании документации говорится, что функция "делит многочлены над полем Галуа". Я ввел в MATLAB следующее:
[~, remd] = gfdeconv([1 1 0 1 0 1 1 0 1 1], [1 0 0 1 1])
Однако я получаю остаток от [0 0 1]
.
Я что-то здесь упускаю? Почему MATLAB gfdeconv не производит тот же остаток, что и в примере из примера Williams? Я понимаю, что, вероятно, я предполагаю перевернуть и / или транспонировать поли и / или исходное сообщение, но я не уверен в методе.
Спасибо.