欢迎来到天天文库
浏览记录
ID:57200521
大小:89.50 KB
页数:14页
时间:2020-08-03
《循环冗余校验(CRC校验)课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、循环冗余校验(CRC校验)CRC校验的定义CRC校验的原理CRC校验中生成多项式的选择CRC校验的应用CRC校验的定义CRC,即循环冗余校验码:它是数据通信领域中最常用的一种差错校验码CRC校验,是一种检验数据在传输过程中是否发生错误的方法CRC校验的原理发送端发送数据T假设T=101001将发送端数据看成系数为0或1的多项式:T(x)=1*x5+0*x4+1*x3+0*x2+0*x1+1*x0=x5+x3+1发送端和接收端选定一个r阶的生成多项式G(x)假设G(x)=x3+x2+1(r=3)即二进制表示为
2、:1101将T(x)扩大xr倍得到P(x)P(x)=T(x)*xr=(x5+x3+1)*x3=x8+x6+x3即二进制表示为:101001000用P(x)除以生成多项式G(x)得式中,Q(x)为商,R(x)为余数1101)101001000110111111010110000111110101100001101101001模二除法——余数11001110000模二除法用除数对被除数最高几位做模2减(异或),没有借位b、除数右移一位,若余数最高位为1,商为1,并对余数做模2减。若余数最高位为0,商为0,除数继
3、续右移一位c、一直做到余数的位数小于除数时,该余数就是最终余数将P(x)+R(x)所对应的比特序列作为一个整体传输到接收端即二进制表示为:101001000+001T(x)R(x)xr发送数据:101001001接收端数据校验方案一:直接用接收到的序列除以生成多项式G(x),如果余数R’(x)=0,则证明传输正确方案二:提取接收到序列的信息码元,重复发送方的操作T(x)xr,再除以生成多项式G(x),如果余数R’(x)=R(x),则证明传输正确CRC校验中生成多项式的选择只要xr和x0项的系数不为0,可检测
4、所有的单比特错只要G(x)含有一个至少三项的因子,可检测所有的双比特错只要G(x)包含因子(x+1),可检测任意奇数个错序列长度小于r比特(大部分大于r比特的突发性差错也能检测到),可检测任何“突发性”差错(即连续的差错比特序列)通用CRC生成多项式名称生成多项式CRC-8x8+x2+x1+1CRC-10x10+x9+x5+x4+x1+1CRC-12x12+x11+x3+x2+1CRC-16x16+x15+x2+1CRC-CCITTx16+x12+x5+1CRC-32x32+x26+x23+x22+x16+
5、x12+x11+x10+x8+x7+x5+x4+x2+x1+1CRC校验的应用特点:检错能力极强,开销小,易于用硬件或者软件实现。用途:a)ARJ,LHA,ZIP等压缩软件采用的是CRC-32b)GIF,TIFF等图像存储格式c)所有链路层或网络接口层协议中CRC校验会出错吗?谢谢
此文档下载收益归作者所有