选择 k 校验位(0 或 1)以满足必要的奇偶条件。 3、对所接收的信息作所需的 k 个奇偶检查。 4、如果所有的奇偶检查结果均为正确的,则认为信息无错误。 如果发现有一个或多个错了,则错误的位由这些检查的结果来唯一地确定。 校验位数的位数 推求海明码时的一项基本考虑是确定所需最少的校验位数 k。考虑长度为 m 位的信息,若附加了 k 个校验位,则所发送的总长度为 m+k。在接收器中要进行 k 个奇偶检查,每个检查结果或是真或是伪。这个奇偶检查的结果可以表示成一个 k 位的二进字,它可以确定最多 2k 种不同状态。 这些状态中必有一个其所有奇偶测试试都是真的,它便是判定信息正确的条件。于是剩下的(2-1)种状态,可以用来判定误码的位置。于是导出下一关系: 2-1≥m+k 码字格式 从理论上讲,校验位可放在任何位置,但习惯上校验位被安排在 1、2、4、8、„的位置上。 图 5 列出了 m=4,k=3 时,信息位和校验位的分布情况。 k k 图 5 海明码中校验位和信息位的定位 校验位的确定 下面为我增加,意在提出编码方法以助理解(但编码是否主要标准不可知) 每行的值等于数值为 1 的各位码相异或。 如 m=4,k=3.数据位前三行,校验位为后三行。即 A=p1⊕D1⊕D3⊕D4=0 得 P1=D1⊕D3⊕D4 B=P2⊕D2⊕D3⊕D4=0 得 P2=D2⊕D3⊕D4 C=P3⊕D1⊕D2⊕D3⊕D4=0 得 P3=D1⊕D2⊕D3⊕D4 以下计算访求同下 k 个校验位是通过对 m+k 位复合码字进行奇偶校验而确定的。 其中:P1 位负责校验海明码的第 1、3、5、7、„(P1、D1、D2、D4、„)位,(包括 P1自己) P2 负责校验海明码的第 2、3、6、7、„(P2、D1、D3、D4、„)位,(包括 P2 自己) P3 负责校验海明码的第 4、5、6、7、„(P3、D2、D3、D4、„)位,(包括 P3 自己) 对m=4,k=3,偶校验的例子,只要进行式次偶性测试。这些测试(以 A、B、C 表示)在图 6所示各位的位置上进行。 图 6 奇偶校验位置 因此可得到三个校验方程及确定校验位的三个公式: A=B1⊕B3⊕B5⊕B7=0 得P1=D1⊕D2⊕D4 B=B2⊕B3⊕B6⊕B7=0 得 P2=D1⊕D3⊕D4 C=B4⊕B5⊕B6⊕B7=0 得P3=D2⊕D3⊕D4 若四位信息码为 1001,利用这三个公式可求得三个校验位 P1、P2、P3 值。和海明码, 上面是发送方的处理 在接收方,也可根据这三个校验方程对接收到的信息进行同样的奇偶测试: A=B1⊕B3⊕B5⊕B7=0; B=B2⊕B3⊕B6⊕B7=0; C=B4⊕B5⊕B5⊕B7=0。 若三个校验方程都成立,即方程式右边都等于 0,则说明没有错。若不成立即方程式右边不等于 0,说明有错。从三个方程式右边的值,可以判断那一位出错。例如,如果第 3 位数字反了,则 C=0(此方程没有 B3),A=B=1(这两个方程有 B3)。可构成二进数 CBA,以A 为最低有效位,则错误位置就可简单地用二进数 CBA=011 指出。 同样,若三个方程式右边的值为 001,说明第 1 位出错。若三个方程式右边的值为100,说明第 4 位出错。 海明码的码距应该是 3,所以能纠正 1 位出错。而奇偶校验码的码距才是 2,只能发现 1位出错,但不能纠正(不知道那一位错)。无校验的码距是 1,它出任何一位出错后还是合法代码,所以也就无法发现出错。 这是关于海明码的经典说法,即码距为 3,可以发现 2 位,或者纠正 1 位错。应满足 2-1≥m+k。 但在清华的王爱英主编的《计算机组成与结构》(该书已成为国内的权威)中还提出了一种码距为 4 的海明码,可以发现 2 位,并且纠正 1 位错。应满足 2(k-1)k≥m+k。 由于王爱英书上对这两种概念没有很仔细解释(特别对码距为 3 的海明码),过渡很突然。有些书简单抄袭时没有仔细消化,所以出现一些概念错。对于一般码距为 3 的海明码,应该是“可以发现 2 位,或者纠正 1 位错”,而不是“可以发现 2 位,并且纠正 1 位错”。在试题中出现过类似的错误。 这是关于海明码的经典说法,即码距为 3,可以发现 2 位,或者纠正 1 位错。应满足 2-1≥m+k。 但在清华的王爱英主编的《计算机组成与结构》(该书已成为国内的权威)中还提出了一种码距为 4 的海明码,可以发现 2 位,并且纠正 1 位错。应满足 2(k-1)k≥m+k。 由于王爱英书上对这两种概念没有很仔细解释(特别对码距为 3 的海明码),过渡很突然。有些书简单抄袭时没有仔细消化,所以出现一些概念错。对于一般码距为 3 的海明码,应该是“可以发现 2 位,或者纠正 1 位错”,而不是“可以发现 2 位,并且纠正 1 位错”。在试题中出现过类似的错误。