2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > CRC码的编码 解码(循环冗余校验码)

CRC码的编码 解码(循环冗余校验码)

时间:2019-07-30 03:22:55

相关推荐

CRC码的编码 解码(循环冗余校验码)

一、CRC码的原理

CRC码是一种可以检查出多位错误的校验码。

利用CRC码检错的过程如下:

在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的r位监督码(CRC码),附在原始信息后边,构成一个新的二进制码序列数共k+r位,然后发送出去。在接收端,根据信息码和CRC码之间所遵循的规则进行检验,以确定传送中是否出错。这个规则,在差错控制理论中称为“生成多项式”。

在上面这个图中,总位长必须符合这个式子(考试考过)

生成多项式是一个二进制序列,它比校验信息多一位(即r+1位),发送方用它对被校验的信息进行模二的除法运算,以此来生成校验码序列。接收方也这么操作。

补充一下模二运算是什么

模2除法·,从字面上可理解为二进制下的除法。

模2除法与算术除法类似,但每一位除的结果不影响其它位,即不向上一位借位,所以实际上就是异或。

举个栗子:

1111000除以1101:

二、CRC码的编码

先求这个式子的r的最大值

然后找到G(X) [这个好像是直接查就行了]

然后在有效信息后面补r个0

举个栗子

这个时候把之前的3个0替换成010就好了

这时候,1100010就是crc编码

三、那么如何校验呢

看这个图,比较清晰:

举个栗子

可以看到 余数为0,那就没错

但是如果是这样:

四、检错与纠错

看一下如何纠错

这个图讲的比较抽象 可以详细讲一讲 但是太晚了我以后再写吧。。。。。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。