Appendix J (Chapter 11)
Error-correction capability of linear
block codes
In this appendix, I show that linear block codes have the capability of correcting any
error patterns of Hamming weight w(E) = e, or any number of e errors in the received
block code, provided that
e ≤
d
min
− 1
2
%
, (J1)
where d
min
is the minimum Hamming distance, and with the brackets corresponding to
the integer-floor definition, i.e., {(d
min
− 1)/2}≡(d
min
− 1)/2 corresponding to the
highest integer contained in the argument.
1
To show this, assume a block code C, with a minimum Hamming distance d
min
.To
recall, d
min
represents the minimum number of bit positions for which two codewords
differ in C.LetX be any codeword belonging to C, and Y any received block code,
which may contain errors. Define the Hamming distance between vectors X and Y as
d(X, Y ). It is clear that if d(X, Y ) < d
min
, or equivalently,
d(X, Y ) ≤ d
min
− 1, (J2)
the block code Y does not belong to C. In this case, any possible error pattern is detected
by the code.
Assume next that X and Y are the transmitted and received vectors, respectively. Since
the minimum Hamming distance d
min
is either an odd or an even integer, we can write
2t + 1 ≤ d
min
≤ 2t + 2, (J3)
where t ≥ 0 is an integer. I am now going to show that the code is capable of correcting
all error patterns having t or fewer errors.LetZ be another vector in C.Usingthe
distance property referred to as triangle inequality (see Chapter 5), we have
d(X, Z ) ≤ d(X, Y ) +d(Y, Z). (J4)
Suppose now that the number of errors in the received vector Y is w(E) = e. This means
that
d(X, Y ) = e. (J5)
1
The following demonstration is inspired and adapted from S. Lin and D. J. Costello, Error Control Coding
(Englewood Cliffs, NJ: Prentice-Hall, 1983).