当有效信息为1100时,c3c2c1=110,汉明码为。 当有效信息为1101时,c3c2c1=001,汉明码为。 当有效信息为1110时,c3c2c1=000,汉明码为。 当有效信息为1111时,c3c2c1=111,汉明码为。
18. 已知收到的汉明码(按配偶原则配置)为、、、,检查上述代码是否出错?第几位出错?
解:假设接收到的汉明码为:c1’c2’b4’c3’b3’b2’b1’
纠错过程如下:
P1=c1’⊕b4’⊕b3’⊕b1’ P2=c2’⊕b4’⊕b2’⊕b1’ P3=c3’⊕b3’⊕b2’⊕b1’
如果收到的汉明码为,则p3p2p1=011,说明代码有错,第3位(b4’)出错,有效信息为:1100
如果收到的汉明码为,则p3p2p1=111,说明代码有错,第7位(b1’)出错,有效信息为:0110
如果收到的汉明码为,则p3p2p1=110,说明代码有错,第6位(b2’)出错,有效信息为:0010
如果收到的汉明码为,则p3p2p1=001,说明代码有错,第1位(c1’)出错,有效信息为:0001
19. 已经接收到下列汉明码,分别写出它们所对应的欲传送代码。
(1)(按偶性配置) (2)(按偶性配置) (3)(按偶性配置) (4)(按奇性配置) (5)(按奇性配置) (6)(按奇性配置) 解:(一)假设接收到的汉明码为C1’C2’B4’C3’B3’B2’B1’,按偶性配置则:
P1=C1’⊕B4’⊕B3’⊕B1’ P2=C2’⊕B4’⊕B2’⊕B1’ P3=C3’⊕B3’⊕B1’
(1)如接收到的汉明码为, P1=1⊕0⊕0⊕0=1 P2=1⊕0⊕0⊕0=1 P3=0⊕0⊕0=0
P3P2P1=011,第3位出错,可纠正为,故欲传送的信息为1000。 (2)如接收到的汉明码为, P1=1⊕0⊕0⊕0=1 P2=1⊕0⊕1⊕0=0 P3=0⊕0⊕0=0
P3P2P1=001,第1位出错,可纠正为,故欲传送的信息为0010。 (3)如接收到的汉明码为, P1=1⊕0⊕0⊕1=0
16 / 58
P2=1⊕0⊕0⊕1=0 P3=1⊕0⊕1=0
P3P2P1=000,传送无错,故欲传送的信息为0001。
(二)假设接收到的汉明码为C1’C2’B4’C3’B3’B2’B1’,按奇性配置则: P1=C1’⊕B4’⊕B3’⊕B1’⊕1 P2=C2’⊕B4’⊕B2’⊕B1’⊕1 P3=C3’⊕B3’⊕B1’⊕1
(4)如接收到的汉明码为, P1=0⊕1⊕0⊕1⊕1=1 P2=0⊕1⊕0⊕1⊕1=1 P3=1⊕0⊕1⊕1=1
P3P2P1=111,第7位出错,可纠正为,故欲传送的信息为1000。 (5)如接收到的汉明码为, P1=1⊕0⊕0⊕0⊕1=0 P2=0⊕1⊕0⊕0⊕1=0 P3=0⊕0⊕0⊕1=1
P3P2P1=100,第4位出错,可纠正为,故欲传送的信息为0000。 (6)如接收到的汉明码为, P1=1⊕1⊕0⊕1⊕1=0 P2=1⊕1⊕0⊕1⊕1=0 P3=0⊕0⊕1⊕1=0
P3P2P1=000,传送无错,故欲传送的信息为1001。
20. 欲传送的二进制代码为,用奇校验来确定其对应的汉明码,若在第6位出错,说明纠错过程。
解:欲传送的二进制代码为,有效信息位数为n=7位,则汉明校验的校验位为k位,则:2k>=n+k+1,k=4,进行奇校验设校验位为C1C2C3C4,汉明码为C1C2B7C3B6B5B4C4B3B2B1,
C1=1⊕B7⊕B6⊕B4⊕B3⊕B1=1⊕1⊕0⊕1⊕1⊕1=1 C2=1⊕B7⊕B5⊕B4⊕B2⊕B1=1⊕1⊕0⊕1⊕0⊕1=0 C3=1⊕B6⊕B5⊕B4=1⊕0⊕0⊕1=0 C4=1⊕B3⊕B2⊕B1=1⊕1⊕0⊕1=1
故传送的汉明码为10100011101,若第6位(B5)出错,即接收的码字为10100111101,则
P1=1⊕C1’⊕B7’⊕B6’⊕B4’⊕B3’⊕B1’=1⊕1⊕1⊕0⊕1⊕1⊕1=0 P2=1⊕C2’⊕B7’⊕B5’⊕B4’⊕B2’⊕B1’=1⊕0⊕1⊕1⊕1⊕0⊕1=1 P3=1⊕C3’⊕B6’⊕B5’⊕B4’=1⊕0⊕0⊕1⊕1=1 P4=1⊕C4’⊕B3’⊕B2’⊕B1’=1⊕1⊕1⊕0⊕1=0
P4P3P2P1=0110说明第6位出错,对第6位取反即完成纠错。
21. 为什么在汉明码纠错过程中,新的检测位P4P2P1的状态即指出了编码中错误的信息位?
答:汉明码属于分组奇偶校验,P4P2P1=000,说明接收方生成的校验位和收到的校验位相同,否则不同说明出错。由于分组时校验位只参加一组奇偶校验,有
17 / 58