2013-12-10 51 views
0

我是新来的CRC校验和,我尝试以下查询:错误检测二进制消息CRC /多项式键

我试图确定使用CRC生成多项式P = X5 + X4 + x2 +1。

的消息发送是= 1010001101.

对于我的询问,我一直在问:

  • 显示多项式键;
  • 计算CRC &
  • 要发送的消息。

我尝试如下:

  1. 多项式发生器是P = X5 + X4 + X2 + 1。我已经把它作为110101(x对5 = 1的幂进行处理; x对4 = 1的幂进行处理; x对3 = 0的幂进行处理; x对2 = 1的幂进行处理; x对1 = 0; 1 = 1)。

    1. 我然后分成要发送的消息这样的:1010001101(MSG)/ 110101(聚N) 结果= 11010;其余:00011111.

对于该消息要被发送,我已经减去从原始消息剩余部分(1010001101 - 00011111 = 101011111)。它是否正确?

在消息除以多项式后,CRC是剩余的数字(余数)吗?

对于错误检查..如果说没有余数,那么在接收到的消息中没有错误是否正确?或者,如果不是,我怎样才能确定收到的消息是否有错误?

任何帮助,非常感谢。

非常感谢。

回答

0

由于CRC多项式为5度,所以余数为5位。因此,传输的消息将这5位附加到到它的末端(而不是像你一样从消息中减去)。在你的情况下,你的分区是正确的,并且CRC是11111(5比特),所以要发送的消息是101000110111111.

对于错误检查,当你用CRC多项式,如果没有检测到错误,则会有00000的余数(请注意,检测到是关键 - 在一般情况下,您可能有导致相同的零余数但具有非常低的概率的错误,并且在特定情况下,这样短的信息,你可能是安全的)。

+0

非常感谢。这真的有帮助。非常感激。 – mickm