检错码

检错码是一种编码,指在传输过程中发生错误后,在接收端能自动检查并发现错误的编码。常用的检错码有奇偶校验码、恒比码等。

检错码包含两大类别:奇偶校验码和循环冗余校验码(又称为CRC校验)。奇偶校验码是在原信息码元后加一个监督元。时码组中1或0的个数为奇数或偶数,为奇数者称为奇数校验码,为偶数者称为偶数校验码。恒比码是码组中1和0的比例相同的编码,它能检查并发现偶数个错误。循环校验码(CRC码),是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。

奇偶校验编码

奇偶校验是常用的检错方法。其原理是在7单位的ASCII代码后增加一位,使码中“1”的个数成奇数(奇校验)或偶数(偶校验)。经过传输后,如果其中一位(包括奇数个位)出错,则接收端按同样的规则就能发现错误。这种方法简单实用,但只能对付少量的随机性错误。

循环冗余编码

工作原理如下:

收发双方依所协议的规定使用一个CRC生成多项式G(x)。常用的多项式有:

CRC-12:G(x)=x12+x11+x3+x2+x+1

CRC-16:G(x)=x16+x15+x2+1

CRC-CCITT:G(x)=x16+x12+x5+1

CRC-32:G(x)=x32+x26+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1

计算方法为:最高次方决定二进制数字序列,凡有x的位置为1,其它位置为0。

根据二进行制数字序列的位数n,在要发送的数据后面补n-1个0;

将得到的新的数据除以二进制数字序列(使用异或算法,不借位),得到一个n-1位数的余数m

将原来要发送的数据序列与余数m构成一个新的数字序列进行发送。

接收方接到发送方发来的数据后,将收到的数据依然用规定的二进制序列来除,如果得到的余数为0,则数据正确,否则重发。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值