错误检测之奇偶校验码

一、定义

       在数据传输的过程中,可能会产生错误,为了检测出这种错误,一般会在传输的同时包含附加的比特位,用来进行错误的检测。假设传输信息D有d位,在偶校验方案中,会增加一个附加的比特,使得这d+1个比特中1的总数是偶数。

       采用单个奇偶校验位的方式,接收方需要计算接收的d+1个比特位中1的数目,这种方式只能检测奇数个比特差错,对于偶数个比特差错则无法检测。

二、二维奇偶校验

       由于普通的奇偶校验方式检错能力有限,所以产生了二维的奇偶校验。D中的d个比特被划分为i行j列,对每行每列计算奇偶值,产生的i+j+1个奇偶比特构成了链路层帧的差错检测比特。示例如下:

101011
111100
011101
001010

原数据为3行5列。

采用二维奇偶校验不仅可以检测到出现单个比特差错的事实,而且还可以利用存在奇偶校验差错的比特并纠正它。

奇偶校验本身的单个比特差错信息也是可检测和纠正的,二维奇偶校验也能够检测(不能纠正)一个分组中两个比特差错的任何组合。

       对于(i+1,j+1)处的校验比特,它需要使得(i+1)行和(j+1)列的校验比特中1的个数为偶数,这个条件是一定可以满足的。证明过程如下:

       考虑规模为(i,j)的数据,加上二维奇偶校验位后为(i+1,j+1), 利用数学归纳法证明,初始时,所有的比特位全为0,此时满足奇偶校验的条件;对于(i,j)的数据,假设此时其奇偶校验位符合要求,假设改变a行b列的比特位,则a行j+1列的校验比特需要翻转,i+1行b列的校验比特需要翻转,为了保持奇偶校验位符合要求,i+1行j+1列的比特位需要翻转,得到的新的数据在奇偶校验上是符合要求的。

       由此可以得知,对于任意的二维数据,都可以产生合理的i+j+1个校验比特。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值