CRC:循环冗余校验
原理:发送端采用模2除法,在原数据后面加校验位。接收端将接受的数据也采用模2除法,取出原数据。当接收端余数为0的时候说明接受正确。
模2除法:
除数选择:用户随机选择,假设k位。一般以多项式表示。假如是1110
被除数:原数据在后面添加k-1个0。【用途:用以求除数的余数】假如是100101
CRC校验步骤:
1、设定一个接收端和发送端都认可的除数.k位
2、求取k-1位余数,将余数添加在原数据后,和原数据组成新的数据帧。余数一定是k-1位。否则高位补0
CRC校验码计算实例:二进制数据【10110011】
1、除数多项式:G(X) = X4 + X3 + 1 。即【11001】
2、【101100110000】除以【11001】 得到余数:0100
3、组合得到的数据帧:【101100110100】,发送到接受端,接收端再用模2除法,验证余数是否全为0,全为0则正确无误。