CRC校验码.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P=110101
P( X ) 1 X 5 1 X 4 0 X 3 1 X 2 0 X 1 1 X 0
P( X ) X X X 1
5 4 2
2018/8/9 7
差错控制码:循环冗余码CRC
在接收端进行的运算就可以写为
X n M ( X ) R( X ) Q( X ) P( X )
P=?
2018/8/9 9
差错控制码:循环冗余码CRC
国际上推荐的循环冗余码生成多项式:
CRC12 X 12 X 11 X 3 X 2 X 1 CRC16 X 16 X 15 X 2 1
P=1100000001111(共13位) P=11000000000000101(共17位)
11
2018/8/9 2
差错检测
• 接收方(receiver)收到后,按相同的规 则对data重新计算checksum, • 然后与收到的checksum进行比较,来 确定data是否在传输过程中被损坏(出 错 )。
2018/8/9 3
举例:循环冗余码CRC
Cyclic Redundancy Code
1101010110 ← Q 商 除数 P → 110101 101000110100000 ← 2nM 被除数 110101 111011 将新得到的数 110101 111010 101000110100000 110101 111110 除以事先选定的数 110101 101100 110101 得出商是 110010 110101 01110 ← R 余数
CRC16 X 16 X 12 X 5 1
P=10001000000100001(共17位)
CRC32 X 32 X 26 X 23 X 22 X 16 X 11 X 10 X 8 X 7 X 5 X 4 X 2 X 1
2018/8/9
P=100000100110000010000110110110111 (共33位)
10
循环冗余码CRC检错
• In fact, if a CRC is used, it is extremely unlikely that any errors will go undetected.
2018/8/9
2 M R
n
• 如果数据传输中不产生误码,则接收方收 到的应该也是 2 n M R • 换句话说,将 2 n M R 除以P(模2运算) 后,余数应为0。
2018/8ຫໍສະໝຸດ Baidu9 6
差错控制码:循环冗余码CRC
• CRC用多项式代数运算来表示循环冗余
检验过程,即使用多项式相应的系数来 表示二进制数字中的1和0。
什么是差错控制?
SENDER
Frame #n
RECEIVER …
Frame #2 Frame #1
• 检错:接收方检验收到的数据是否正 确。如果有错,则
– 丢弃数据帧,交给高层处理,或 – 通知发送方重传此数据帧。
• 纠错:接收方试图纠正错误。
2018/8/9 1
差错检测
• 发送方(Sender)对帧数据(data,共k bits) 按一定的规则计算“冗余码”或称为 “校验和”(checksum,共n bits), • 然后将data和checksum(共k+n bits)一 起发出。
M(X): 待传数据 P(X): 生成多项式 Q(X): 商 R(X): 余数 R(X)!=0, 就表示检测到了差错。 R(X)=0, 无差错???
2018/8/9 8
循环冗余码CRC检错
• 但并不能说,余数为0,就一定没有差错。 在某种比特差错的组合下,也可能碰巧使得 余数R正好为0。
精心选择除数P,可使出现检测不到差错的概 率控制在一个很很……很小的范围内。
P=110101 (n+1 bits), Q=1101010110, 而余数是R=01110。
2018/8/9
5 注意:冗余码R比P少一位
举例:循环冗余码CRC
Cyclic Redundancy Code
• 将余数 R 作为冗余码添加在待传数据 M 后 面一起发送出去,即实际发出的数据是 101000110101110,即
• 待传送的数据M=1010001101(k=10bits)
• 求冗余码(n=5 bits):用二进制的模2运算 进行 2 n M的运算,相当于在M后面添 加n个0(n+k bits),即101000110100000
2018/8/9
4
Calculation of the polynomial code checksum
相关文档
最新文档