CRC校验码

来源:互联网 发布:linux查找文件夹位置 编辑:程序博客网 时间:2024/05/21 11:18
一、基本概念
      CRC校验码也称为循环冗余码,是一种数据传输中常用的校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。

二、校验方法

1.在校验是会选择多项式并转化成二进制数码如:代码1010111对应的多项式为x6+x4+x2+x+1。

2.如果要发送10110011数据,多项式为G(x) = X4 + X3 + 1,则生成二进制数码为11001,又因为生成的二进制数码为五位,则在原数据后加四位101100110000,然后用模2除法,则101100110000/11001,之后如图得到

则按照如此步骤就可得到循环冗余码。

3.在2步骤中生成了冗余码,在发送数据时将生成的冗余码附加到原数据后面一并进行发出,以上面为例则会生成新数据101100110100;

4.在对方收到整个数据是,通过模二法进行校验,由于对原数据进行了处理,因此此事进行模二法时数据应该没有余数,若出现了余数,则表示数据在传输过程中出现了错误。