海明校验码
被考次数: 1次
被考频率: 低频率
答错率:    38%
知识难度:
考试要求: 熟悉     
知识路径:  > 计算机科学基础  > 数据的表示  > 校验方法和校验码  > 校验方法和校验码


本知识点历年真题试卷分布
>> 试题列表    
 

 
       在数据中多加入几个校验位,把数据的每一个二进制位分配在几个奇偶校验组中,当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错误,还能指出哪一位出错。
       首先要确定校验位的个数。假设校验位个数为r,则它能表示2r个信息,用其中一个信息表示没有错误,其余2r-1个信息指出哪一位错,而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数。也就是说要满足关系
       2rk+r+1
       注意:如要能检测与自动校正一位错,并发现两位错,那么还要加一位总校验位,则码距为4,此时应满足
       2r-1≥k+r
       按上述不等式计算,可计算出数据位k与校验位r的对应关系,如下表所示。
       kr的对应关系
       设海明编码为HmHm-1H2H1,则此海明码的编码规则是:校验位与数据位之和为m,每个校验位Pi在海明码中被分配在位号为2i-1的位置,其余各位为数据位依次排列;海明码的每一位码Hi由多个校验位校验,其关系是被校验的每一位的位号等于校验它的各校验位之和。
       可以看一个例子。现在要传送一个字节的数据,则k=8,那么r=4,所以海明码的总位数为12,可表示为
       H12H11H3H2H1
       4个校验位P4~P1对应的编号是H8H4H2H1。其余为数据位Di,则有以下排列:
       D8D7D6D5P4D4D3D2P3D1P2P1
       那么可以知道,D8处在H12的位置,12=4+8,所以由处在H4P3和处在H8P4检测,这样依次类推,可以得到由P1检测的数值位有D1D2、D4D5D7,若用偶校验,其结果为
       P1=D1D2D4D5D7
       P2=D1D3D4D6D7
       P3=D2⊕D3⊕D4D8
       P4=D5D6D7D8
       然后按下面关系对所得的关系实现偶校验,即
       S1=P1D1D2D4D5D7
       S2=P2D1D3D4D6D7
       S3=P3D2D3D4D8
       S4=P4D5D6D7D8
       则校验得到的结果值S4~S1能反映海明码出错情况。按S4S3S2S1的顺序排列形成一个二进制数,转换为十进制数为j,表示Hj出错。
 

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

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