记码距为d,码距与校验码的检错和纠错能力的关系是: d≥e+1 可检验e个错。 d≥2t+1 可纠正t个错。
d≥e+t+1 且e>t,可检e个错并能纠正t个错。
2.20 奇偶校验码的码距是多少?奇偶校验码的校错能力怎样?
答:奇偶校验码的码距为2。奇偶校验码只能发现一位或奇数位个错误,而无法发现偶数位个错误,而且即使发现奇数位个错误也无法确定出错的位置,因而无法自动纠正错误。
2.21 下面是两个字符(ASCII码)的检一纠一错的海明校验码(偶校验),请检测它们是否有错?如果有错请加以改正,并写出相应的正确ASCII码所代表的字符。 (1) 10111010011 (2) 10001010110 解:
(1) 指误字为
E1=P1⊕A6⊕A5⊕A3⊕A2⊕A0=1⊕1⊕1⊕1⊕0⊕1=1 E2=P2⊕A6⊕A4⊕A3⊕A1⊕A0=0⊕1⊕0⊕1⊕1⊕1=0 E3=P4⊕A5⊕A4⊕A3=1⊕1⊕0⊕1=1 E4=P8⊕A2⊕A1⊕A0=0⊕0⊕1⊕1=0 得到的指误字为E4E3E2E1=0101=(5)10,表示接收到的海明校验码中第5位上的数码出现了错误。将第5位上的数码A5=1取反,即可得到正确结果 10110010011。正确ASCII码所代表的字符为1001011=“K”。 (2) 指误字为
E1=P1⊕A6⊕A5⊕A3⊕A2⊕A0=1⊕0⊕1⊕1⊕1⊕0=0 E2=P2⊕A6⊕A4⊕A3⊕A1⊕A0=0⊕0⊕0⊕1⊕1⊕0=0 E3=P4⊕A5⊕A4⊕A3=0⊕1⊕0⊕1=0 E4=P8⊕A2⊕A1⊕A0=0⊕1⊕1⊕0=0
得到的指误字为E4E3E2E1=0000,无错。正确ASCII码为0101110=“.”
2.22 试编出8位有效信息01101101的检二纠一错的海明校验码(用偶校验)。 解:8位有效信息需要用4个校验位,所以检一纠一错的海明校验码共有12位。 4个校验位为:
P1=A7⊕A6⊕A4⊕A3⊕A1=0⊕1⊕0⊕1⊕0=0 P2=A7⊕A5⊕A4⊕A2⊕A1=0⊕1⊕0⊕1⊕0=0
P4=A6⊕A5⊕A4⊕A0=1⊕1⊕0⊕1=1 P8=A3⊕A2⊕A1⊕A0=1⊕1⊕0⊕1=1
检一纠一错的海明校验码:000111011101=1DDH 检二纠一错的海明校验码,增加P0
P0=P1⊕P2⊕A7⊕P4⊕A6⊕A5⊕A4⊕P8⊕A3⊕A2⊕A1⊕A0=1
有效信息01101101的13位检二纠一错的海明校验码:1000111011101=11DDH
2.23 设准备传送的数据块信息是1010110010001111,选择生成多项式为G(x)=100101,试求出数据块的CRC码。
解:模2除后,余数R(x)=10011,数据块的CRC码:
101011001000111110011
2.24 某CRC码(CRC)的生成多项式 G(x)=x3+x2+1,请判断下列CRC码是否存在错误。
(1) 0000000 (2) 1111101 (3) 1001111 (4) 1000110 解:G(x)=1101
(1) 0000000模2除1101,余数为:000,无错 (2) 1111101模2除1101,余数为:010,有错
(3) 1001111模2除1101,余数为:100,有错 (4) 1000110模2除1101,余数为:000,无错
2.25 选择题
(1) 某机字长64位,其中1位符号位,63位尾数。若用定点小数表示,则最大正小数为 B 。
--
A. +(1-2-64) B. +(1-2-63) C.