海明校验码

  • 海明码是基于偶校验的扩展,将信息位分组进行偶校验
  • 海明码可以针对一位跳变,进行纠错(指明那一位出了错,就是纠错,因为非0即1)
  • 针对两位跳变,海明码可以检错
  • 海明码原理
    • 将所有的信息位分组,保证,所有的组都有一个全部重叠,都有一个不重叠,也就是2进制的分组
    • 每个分组一个校验位进行标识,总的bit数就是n+k (2^k > n+k)
    • 所有的校验位可以标识当前出错的一个bit
    • 这个原理和小白鼠试毒很像,也是分组,老鼠那里是10只老鼠试1000瓶药,一瓶有毒,2的10次方刚好可以表示1024,每个老鼠对应10bit中的一位,对第0瓶到底999瓶,把10进制数转换成二进制,哪个位为1,哪只老鼠喝,最终死的老鼠都喝过那瓶药,没死的说明没有毒,用这种分组的方式,重叠,最终看组的结果,从而确定是哪一个瓶子有毒
    • 除此之外,海明码的校验位必须放在1,2,4,8,16.。2的次方上(原点从1开始),这样放置是为了保证分组中,没有校验位,全是信息位
    • 小白鼠那个是二分法,实际这里也是二分法
  • 此时的海明码只能解决1位的纠错,但对于部分的两位跳变,还不能处理,所以该海明码n+k加上一个偶校验位,从而使得能够对两位跳变校验
    • 偶校验为0,海明校验位都为0,说明没有问题
    • 偶校验为1,海明校验位非0,说明一位跳变,可以纠错
    • 偶校验为0,海明校验非0,说明两位跳变,此时校验知错,无法处理,需要重传
    • (因此,总共需要2^k>n+k+1)
  • 对于三位跳变的情况,这种无法处理,但实际上概率也非常的低
  • image-20220131211020104
  • image-20220131211053002
  • image-20220131211115578
  • image-20220131211138826
  • 把这里的p和d换成h,就能更好理解了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值