循环冗余检验CRC

本文介绍了CRC(循环冗余检验)的基本思想、原理及计算过程,通过一个例子展示了如何进行CRC校验,并提供了输入输出描述,帮助理解CRC在数据传输中的应用。
摘要由CSDN通过智能技术生成

题目描述

CRC的基本思想:
将二进制位串看成系数为0或1的多项式。使用CRC编码时,发送方和接收方必须事先商定一个生成多项式G(x),生成多项式的最高位和最低位的系数必须是1。
假设一个帧有m位,对应的多项式为M(x),为了计算它的校验和,该帧必须比生成多项式长。

CRC的原理:
在帧的尾部追加一个校验和,使得追加之后的帧所对应的多项式能够被G(x)整除。
当接收方收到了带校验和的帧后,用G(x)去除它,如果有余数,则表示传输过程中有错误。

计算CRC校验和的算法:
① 假设G(x)的阶为r。在帧的尾部加上r个0,构成的帧包含m+r位,对应的多项式为x^r*M(x); 
② 利用模2做除法。用G(x)去除x^r*M(x),得x^r*M(x) /G(x) = Q(x) + R(x)/G(x) ,其中Q(x)为商,R(x)为余数。
③ 利用模2做减法。用x^r*M(x)减去余数R(x)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值