0

我是 CRC 和校验和的新手,我正在尝试以下查询:

我正在尝试使用生成多项式 P=x5+x4+x2 +1 来确定 CRC。

要发送的消息是 = 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 (polyn) The Result = 11010; 余数:00011111。

对于要传输的消息,我从原始消息中减去了余数(1010001101 - 00011111 = 101011111)。这个对吗?

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

对于错误检查..说如果没有余数,接收到的消息中没有错误是正确的吗?或者如果没有,我如何确定收到的消息是否有错误?

任何帮助是极大的赞赏。

非常感谢。

4

1 回答 1

0

由于 CRC 多项式是 5 次的,余数有 5 位。因此,传输的消息在其末尾附加了这 5 位(不像您那样从消息中减去)。在你的情况下,你的划分是正确的,CRC是11111(5位),所以要发送的消息是101000110111111。

对于错误检查,当您将 CRC 附加的消息除以 CRC 多项式时,如果未检测到错误,则余数为 00000(请注意,此处检测到是关键 - 在一般情况下,您可能会遇到导致到相同的零余数,但概率非常低,在您的特定情况下,使用这样的短消息,您可能是安全的)。

于 2013-12-11T01:13:13.943 回答