CRC校验实验报告

CRC校验实验报告
CRC校验实验报告

实验三CRC校验

一、CRC校验码的基本原理

编码过程:

CRC校验码的编码方法是用待发送的二进制数据t(x)除以生成

多项式g(x),将最后的余数作为CRC校验码。

其实现步骤如下:

1 设待发送的数据块是m位的二进制多项式t(x),生成多项式

为r阶的g(x)。在数据块的末尾添加r个0,数据块的长度增

加到m+r位。

2 用生成多项式g(x)去除,求得余数为阶数为r-1

的二进制

多项式y(x)。此二进制多项式y(x)就是t(x)经过生成多项式

g(x)编码的CRC校验码。

3 将y(x)的尾部加上校验码,得到二进制多项式。就是包含

了CRC校验码的待发送字符串。

解码过程:

从CRC的编码规则可以看出,CRC编码实际上是将代发送的m位

二进制多项式t(x)转换成了可以被g(x)除尽的m+r位二进制多项式

所以解码时可以用接收到的数据去除g(x),如果余数位零,则

表示传输过程没有错误;如果余数不为零,则在传输过程中肯定

存在错误。许多CRC的硬件解码电路就是按这种方式进行检错的。

同时,可以看做是由t(x)和CRC校验码的组合,所以解码时将接

收到的二进制数据去掉尾部的r位数据,得到的就是原始数据。

解码过程示例:

运行结果:

附录(实现代码):using System; using ; namespace CRC

{

public abstract class Change

{

oString("x2").ToUpper();

} }

return returnStr;

}

um; }

(databuff);eight < max1) && (data[j].Parent == -1)) { max2 = max1;

tmp2 = tmp1;

tmp1 = j;

max1 =

相关主题
相关文档
最新文档