CRC-5 в MATLAB
Как кодировать / декодировать CRC-5-EPC (x ^ 5 + x ^ 3 + 1) в MATLAB?
Я пробовал:
code = encode(msg,n,k,'cyclic/binary', [1,0,1,0,0,1]);
Но это возвращает:
Генераторный многочлен P не может генерировать матрицу генератора циклического кода.
2 ответа
Решение
Может быть, вы должны использовать crc.generator
( док) вместо encode
:
h = crc.generator([1,0,1,0,0,1])
code = generate(gen, msg);
С http://www.mathworks.co.uk/help/toolbox/comm/ref/encode.html (акцент мой):
code = encode(msg,n,k,'cyclic/fmt',genpoly)
кодируетmsg
и создает систематический циклический код.genpoly
является вектором строки, который дает коэффициенты в порядке возрастания степеней полинома двоичного генератора.