计组复习:汉明码/海明码

前导知识①:奇偶校验码

定义:奇偶校验码是是一种增加二进制传输系统最小距离的简单有效的校验方法,一种通过增加冗余位使得码字中"1"的个数恒为奇数或偶数从而使码距变为2的编码方法,它是一种检错码。计组复习:汉明码/海明码
通俗来说,就是在原有二进制码上增加1位校验位,奇校验码是指加上1位校验位0或1,使新二进制码中“1”的个数为奇数个,同理,偶校验码就是加上校验位,使二进制码中“1”的个数为偶数个。

  • 如何理解“码距变为2”?

在《计算机组成原理(唐朔飞 编著)》这本书中的P100讲“编码最小距离”,即最小码距,书上定义为“所谓编码最小距离,是指在一种编码系统中,任意两组合法代码之间最少二进制位数的差异”。用易于理解的话来说,若干个0、1组成了一串二进制代码,两串二进制代码各个对应位上有几位不同就是这两串编码的距离。编码最小距离,就是一种编码中两两比较后得出的距离中的最小值。
计组复习:汉明码/海明码

  • 为什么奇偶校验码只能检错?

由于任何一个数减去一个偶数,其奇偶性不改变,所以奇偶校验码均不能发现偶数位上的错误,从而无法找到错误的位置。

前导知识②:纠错理论

L(最小码距) - 1 = D(检错位数) + C(纠错位数) 且D≥C

纠错理论从另一个角度说明了奇偶校验码只能检错的原因。

海明码/汉明码

海明码/汉明码既可以检错还可以一位纠错,本质上是一种多重奇偶校验码。
设欲检测的二进制代码为n位,为使其具有纠错能力,需添加k位检测为,组成n+k位的代码,新增的检测位数k应满足:
2k ≥ n + k + 1 ,其中“1”表示正确的可能。
设n+k位代码自左向右依次编为第1,2,…,n+k位,而将k位检测位记作Ci(i=1,2,4,…),分别放在n+k位代码中编号为第1,2,4,…,2k-1位上。
分组:
计组复习:汉明码/海明码
代码检验时,每组产生1位指误码。
计组复习:汉明码/海明码
k个检测位,分成k组,产生k个指误码,有2k种可能的指误代码,其中当指误码全为“0”时,海明编码无误,剩下的2k-1种分别用于指示1位有误的情况。

例题

利用汉明码相关知识解答以下问题
(1)已经接收到汉明码1100000(按配偶原则配置),分析传输过程中是否出错,并写出欲传送信息。
(2)按配奇原则配置1101的汉明码。
计组复习:汉明码/海明码