CRC检错

CRC(cyclic redundancy code 循环冗余编码)是目前应用最广的检错码编码方法之一,它具有检错能力强,实现起来容易的特点。

原理:将要发送的数据比特序列当做一个多项式的系数,在发送端用收发双方预先约定的多项式去除,求得一个余数多项式。将这个余数多项式加到数据多项式的后面一起发送。接收方用预先约定的多项式去除接收到的数据多项式,如果余数为零,则传输过程没有出错,否则表示存在差错。

预先约定的多项式在国际标准中有多个,如
CRC-12表示为 G(x)=x^12+x^11+x^3+x^2+x^1+1 即比特码:1100000001111(13 bite)

实例说明:
1。发送数据比特序列为110011
2。生成多项式比特序列为11001(5 bite, K=4)
3。将发送数据比特序列乘以2^4,那么产生的乘积应为1100110000
4。将乘积用生成多项式去除,按异或算法,
                       100001
            __________________
11001) 1100110000
              11001
              ___________
                          10000
                          11001
              ___________
                            1001
5。将余数加到乘积中得:110011 1001
6。如果传输过程中没有出错,则接收方接收到的数据比特序列能被11001整除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值