知识点讲解
 
       海明码
知识路径: > 计算机系统基础知识 > 数据的表示 > 校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码等) > 校验码 > 
被考次数:1次
被考频率: 低频率
总体答错率: 46%
知识难度系数:
考试要求: 掌握     
相关知识点:3个
        海明码(Hamming Code)是由贝尔实验室的Richard Hamming设计的,是一种利用奇偶性来检错和纠错的校验方法。海明码的构成方法是在数据位之间的特定位置上插入k个校验位,通过扩大码距来实现检错和纠错。
        设数据位是n位,校验位是k位,则nk必须满足以下关系:
        2k-1≥n+k
        海明码的编码规则如下。
        设k个校验位为Pk,Pk-1,…,P1n个数据位为Dn-1,Dn-2,…,D1,D0,对应的海明码为Hn+k,Hn+k-1,…,H1,那么:
        (1)Pi在海明码的第2i-1位置,即Hj=Pi,且j=2i-1,数据位则依序从低到高占据海明码中剩下的位置。
        (2)海明码中的任何一位都是由若干个校验位来校验的。其对应关系如下:被校验的海明位的下标等于所有参与校验该位的校验位的下标之和,而校验位由自身校验。
        对于8位的数据位,进行海明校验需要4个校验位(23-1=7,24-1=15>8+4)。令数据位为D7,D6,D5,D4,D3,D2,D1,D0,校验位为P4,P3,P2,P1,形成的海明码为H12,H11,…,H3,H2,H1,则编码过程如下。
        (1)确定D与P在海明码中的位置,如下所示:
        
        (2)确定校验关系,如下表所示。
        
        海明码的校验关系表
        若采用奇校验,则将各校验位的偶校验值取反即可。
        (3)检测错误。对使用海明编码的数据进行差错检测很简单,只需做以下计算:
        
        若采用偶校验,则G4G3G2G1全为0时表示接收到的数据无错误(奇校验应全为1)。当G4G3G2G1不全为0时说明发生了差错,而且G4G3G2G1的十进制值指出了发生错误的位置,例如G4G3G2G1=1010,说明H10(D5)出错了,将其取反即可纠正错误。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有