CRC校验原理详解:以生成多项式x^4+x^2+1为例
首先,将生成多项式转化为二进制形式为10101。
对数据进行CRC校验:
1101011011 0000(添加4位0,使得多项式能够整除数据)
10101
1101111011
10101
01100101
10101
10010100
10101
00110100
余数为00110100。
(1) 如果最后一个1变成了0,那么数据变为1101011010,接收端计算余数为00110101,与发送端计算的余数不同,说明数据出现了错误。
(2) 如果最后两个1都变成了0,那么数据变为1101011000,接收端计算余数为00000000,与发送端计算的余数相同,但是这并不能说明数据没有出现错误,因为有可能出现其他的错误情况也会使得余数相同。
(3) CRC检验能够检测出多种错误情况,但是并不能保证数据传输的可靠性,因为CRC只能检测错误,不能纠正错误。因此,在数据传输过程中还需要采用其他的错误控制方法,如重传机制等,才能确保数据传输的可靠性。
原文地址: https://www.cveoy.top/t/topic/mXh5 著作权归作者所有。请勿转载和采集!