计算机组成原理——海明校验
1.是一种多重分组奇偶校验;
2.将代码组织为若干分组,每组进行奇偶校验;
3.能够检验是否出错,也能定位出错位;
一、假设待编码信息K位,分成r组,每组1个校验位校验码位数:r位;海明编码总长:N=k+r位;海明编码时:各组单独进行奇偶校验编码,以确定各组的校验位。
代码检验时:每组能产生1个指误码r位指误码比如:G3G GG02r种可能的指误代码如0000、0001、0010、.…….指误码为全0→海明编码无错;其余(2r-1)种指误代码:→分别用于指示(2r-1)种只有1位错的情况※各参数应满足:N= k+r <2r-1若k=4,则r>3满足上述定理,可组成7位海明码。
二、编码规则
每组均采用偶校验,填入校验码,组内具有偶数个1[例如]4比特有效码(待编码数据)1001(k=4,r=3)海明编码:0011001(黄色的为检验码)
三、检错与纠错
具体 计算海明校验码的值方法:
(1)要知道海明校验码是放在2的幂次位上的,即“1,2,4,8,16,32······”;
(2)对于信息位为m的原始数据,需要加入k位的校验码,它满足m+k+1<2k;
(3)即可计算出校验码。