50 ALGEBRAIC CODING THEORY
Because of the number of columns within the parity-check matrix H, the code word length
of the binary Hamming code is given by n = 2
m
− 1 = 2
n−k
− 1 with the number of
binary information symbols k = n − m = 2
m
− m − 1. Since the columns of the parity-
check matrix are pairwise linearly independent and there exist three columns which sum
up to the all-zero vector, the minimum Hamming distance of the binary Hamming code is
d = 3.
13
The binary Hamming code can therefore be characterised as a linear block code
B(2
m
− 1, 2
m
− m − 1, 3) that is able to detect e
det
= 2 errors or to correct e
cor
= 1 error.
Because of n = 2
n−k
− 1 and e
cor
= 1 we have
e
cor
i=0
n
i
= 1 +n = 2
n−k
,
i.e. the binary Hamming code is perfect because it fulfils the sphere packing bound.
14
Since
the binary Hamming code B(2
m
− 1, 2
m
− m − 1, 3) only depends on the number of parity
symbols m, we also call this code H(m) with the code parameters
n = 2
m
− 1,
k = 2
m
− m − 1,
d = 3.
For a binary Hamming code the decoding of an erroneously received vector r = b + e with
error vector e of weight wt(e) = 1 can be carried out by first calculating the syndrome
s
T
= Hr
T
= He
T
which is then compared with all columns of the parity-check matrix H. If the non-zero
syndrome s
T
agrees with the j th column vector, the error vector e must have its single
non-zero component at the jth position. The received vector
r = (r
0
,...,r
j−1
,r
j
,r
j+1
,...,r
n−1
)
can therefore be decoded into the code word
ˆ
b = (r
0
,...,r
j−1
,r
j
+ 1,r
j+1
,...,r
n−1
)
by calculating
ˆ
b
j
= r
j
+ 1.
The weight distribution W(x) of the binary Hamming code H(m) is given by
W(x) =
1
n + 1
(1 + x)
n
+ n(1 − x)
(n+1)/2
(1 + x)
(n−1)/2
.
The coefficients w
i
can be recursively calculated according to
iw
i
=
n
i − 1
− w
i−1
− (n − i + 2)w
i−2
with w
0
= 1 and w
1
= 0. Figure 2.29 summarises the properties of the binary Hamming
code H(m).
13
In the given matrix the first three columns sum up to the zero column vector of length m.
14
There are only two other non-trivial perfect linear codes, the binary Golay code B(23, 12, 7) with n = 23,
k = 12 and d = 7 and the ternary Golay code B(11, 6, 5) with n = 11, k = 6 and d = 5. The extended binary
Golay code has been used, for example, for the Voyager 1 and 2 spacecrafts in deep-space communications.