循环冗余校验码汇总.pptx
文本预览下载声明
循环冗余校验码;概述;引言;简介;;编码规则;编码规则;CRC码生成和校验基本分为三步:
第一步:在数据单元(k位)的末尾加上r个0。r是一个比预定除数g(x)的比特位数(r+1)少1的数。
第二步:采用二进制除法将新的加长的数据单元(k+r位)除以除数g(x) 。由此除法产生的余数就是循环冗余码校验码。;第三步:求CRC循环冗余校验码
(K+r)被除数+r(余数)
如果余数位数小于r,最左的缺省位数为0。
如果余数为0,则r=0。;生成多项式g(x)要满足的原则; 任何一个二进制数序列可以和一个只含有0和1两个系数的代数多项式建立起一一对应的关系。因此,用来求CRC码的那个除数通常用多项式来表示。原因如下:
代数多项式很短
可以通过多项式来进行概念的数学证明。
;多项式;多项式 二进制序列实例;码多项式运算法则:
二进制码多项式的加减运算为⊕模2加运算,即两个码多项式相加时,对应项???数进行模2加减。
乘除运算与普通多项式类似;
模2加减:即各位做不带进位、借位的按位加减。这种加减运算实际上就是逻辑上的异或运算。即加法和减法等价。;生成多项式G(x):
求CRC码时所用的“除数”所对应的多项式叫生成多项式。
在串行通信中通常使用下列三种生成多项式G(X)来产生CRC码。
CRC-16:G(x)=X16+X15+X2+1,美国二进制同步系统中采用。
CRC-CCITT:G(x)=X16+X12+X5+1,CCITT推荐。
CRC-32:G(x)=X32+X26+X23+X22+ X16+X12+ X11+X10+X8+1X7+ X5+X4+X2+X+ 1
;循环冗余码生成器采用模2除法。下图显示了这一过程。
CRC校验器的功能完全像发生器一样,当收到附加了CRC码的数据后,做同样的模2 除法。如果余数是全0,则将CRC码丢弃,接受数据。否则,丢弃收到的数据。
;CRC校验码的生成器和校验器;?;;7.CRC码性能 ;检错性能 ;;;课堂练习题;
显示全部