海明码是一种纠错编码,一对有效码字之间的海明距离是(14) 。如果信息为10位,要求纠正1位错,按照海明编码规则,需要增加的校验位是(15)位。 (15)

admin2016-05-11  18

问题 海明码是一种纠错编码,一对有效码字之间的海明距离是(14) 。如果信息为10位,要求纠正1位错,按照海明编码规则,需要增加的校验位是(15)位。
(15)

选项 A、3
B、4
C、5
D、6

答案B

解析 海明(Hamming)研究了用冗余数据位来检测和纠正代码差错的理论和方法。按照海明的理论,可以在数据代码上添加若干冗余位组成码字。码字之间的海明距离是一个码字要变成另一个码字时必须改变的最小位数。例如,7位ASCII码增加一位奇偶位成为8位的码字,这128个8位的码字之间的海明距离是2。所以当其中1位出错时便能检测出来。两位出错时就变成另外一个有效码字了。
    按照海明的理论,纠错编码就是要把所有合法的码字尽量安排在n维超立方体的顶点上。使得任一对码字之间的距离尽可能大。如果任意两个码字之间的海明距离是d,则所有少于等于d-1位的错误都可以被检查出来,所有少于d/2位的错误都可以被纠正。一个自然的推论是,对某种长度的错误串,要纠正它就要用比仅仅检测它多一倍的冗余位。
    如果对于m位的数据,增加k位冗余位,则组成n=m+k位的纠错码。对于2m个有效码字中的任意一个,都有n个无效但可以纠错的码字。这些可纠错的码字与有效码字的距离是1,含单个错误位。这样,对于一个有效码字总共有n+1个可识别的码字。这n+1个码字相对于其他2m-1个有效码字的距离都大于1。这意味着总共有2m(n+1)个有效的或是可纠错的码字。显然这个数应小于等于码字的所有可能的个数2n。于是,我们有
    2m(n+1)<2n
    因为n=m+k,我们得出
    M+k+1<2k
    对于给定的数据位m,上式给出了k的下界,即要纠正单个错误,k是必须取的最小值。本题中由于舻10,所以得到k=4。
转载请注明原文地址:https://kaotiyun.com/show/KxQZ777K
0

最新回复(0)