我是CRC和Checksums的新手,我正在尝试以下查询:
我正在尝试使用生成多项式P = x5 + x4 + x2 +1来确定CRC。
要发送的消息是= 1010001101。
对于我的查询,我被要求:
我的尝试如下:
多项式生成器是P = x5 + x4 + x2 +1。我把它当作110101(x到5 = 1的幂; x到4 = 1的幂; x到3 = 0的幂; x到2 = 1的幂; x到2的幂) 1 = 0; 1 = 1)。
对于要发送的消息,我从原始消息中减去了剩余部分(1010001101 - 00011111 = 101011111)。这是对的吗?
在消息被多项式除后,CRC是否为剩余数(余数)?
对于错误检查..如果没有余数,那么收到的消息中没有错误是正确的吗?或者,如果没有,我如何确定收到的消息中是否有错误?
非常感谢任何帮助。
非常感谢。
答案 0 :(得分:0)
由于CRC多项式为5度,因此余数为5位。因此,传输的消息将这5位附加到它的末尾(不像你那样从消息中减去)。在您的情况下,您的分区是正确的,CRC是11111(5位),因此要发送的消息是101000110111111。
对于错误检查,当您通过CRC多项式对CRC附加的消息进行除法时,如果未检测到错误,则剩余部分为00000(注意检测到是关键 - 在一般情况下,你可能有错误导致相同的零余数,但概率非常低,在你的具体情况下,如此短信,你可能是安全的。)