问题 单项选择题

采用海明码进行差错校验,信息码字为1001011,为纠正一位错,则需要 (19) 位冗余位。

A.2
B.3
C.4
D.8

答案

参考答案:C

解析:
按照海明的理论,纠错编码就是要把所有合法的码字尽量安排在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必须取的最小值。根据上式计算,可得
7+k+1≤2k
所以k=4

填空题
单项选择题