< previous page page_357 next page >

Page 357
Thus, the message has 16 + 5 = 21 bits. The five correction bits will be defined by parity on the following groups, defined by base 2 hypercubes:
k5
bits 16 21.
k4
bits 8 15.
k3
bits 4 7 and 12 15 and 20 21.
k2
bits 2 3 and 6 7 and 10 11 and 14 15 and 18 19.
k1
bits 1,3,5,7,9,19,21.

In other words, the 21-bit formatted message bits f1-f21 consist of original message bits m1-m16 and correction bits k1-k5. Each correction bit is sited in a location within the group it checks.
Suppose the message consists of f1-f21 and m1-m16 = 0101010101010101. For simplicity of decoding, let us site the correction bits at locations that are covered only by the designated correction bit (e.g., only k5 covers bit 16):
k1
=
f1.
k2
=
f2.
k3
=
f4.
k4
=
f8.
k5
=
f16.

Now we have m1 is at f3, m2 at f5, etc.):
d87111c01013bcda00bb8640fdff6754.gif
f1f2f3f4f5f6f7f8f9f10f11f12f13f14f15f16f17f18f19f20f21
d87111c01013bcda00bb8640fdff6754.gif
k1k2 0 k3 1 0 1 k4 0 1 0 1 0 1 0 k5 1 0 1 0 1.
Thus, with even parity:
k5
=
1.
k4
=
1.
k3
=
1.
k2
=
0.
k1
=
1.

Suppose this message is sent but received with f8 = 0 (when it should be f<CS:"Subscript">8 = k4 = 1). When parity is recomputed at the receiver for each of the five correction groups, only one group covers f8.
In recomputing parity across the groups, we get:
k¢5
=
0 (i.e., there is no error in bits 1621).
k¢4
=
1.
k¢3
=
0.
k¢2
=
0.
k¢1
=
0.

The failure pattern 01000 is the binary representation for the incorrect bit (bit 8), which must be changed to correct the message.

 
< previous page page_357 next page >