Although it is of limited interest for practical problems, the covering radius is important to gain
deeper insight and better understanding when considering the error correction capability of a code.
Unfortunately, for long codes it can be extremely difficult to compute the covering radius.
To have a more detailed information about the distances of a code it is necessary to consider
socalled weight enumerator functions. From the linearity of the considered codes, it follows that the
distances of a code word
c
to all other code words is the same for all
c
∈ C
. Hence, it is sufficient
to consider the zero code word and the weight distribution of a linear code is called its distance
distribution.
Definition 5.11 (weight enumerator)
Let
C
be a
(
n, k
)
linear code and let
A
(
w
)
be the number of
code words of weight
w
. Then
A
(
W
) =
n
X
w
=0
A
(
w
)
W
w
(5.38)
is called the
weight enumerator
of
C
and
A
(
w
)
is called the
weight distribution
of
C
.
For many block codes there exist an analytic expression for the weight distribution. For example, the
weight distribution of the length
n
binary Hamming code is given by [vL82]
A
(
W
) = 1 +
1
1 +
n
(1 +
W
)
n
+
n
1 +
n
(1 +
W
)
(
n

1)
/
2
(1

W
)
(
n
+1)
/
2
.
(5.39)
There exist codes where
A
(
w
) is not known and it is too complex to compute it. Later we will see
that weight enumerator allow us to compute upper bounds on the performance of the code. This can
be very useful and is of great practical meaning.
Sometimes it is useful to know the following relation between the weight distribution of a linear
binary code
C
and its dual code
C
⊥
[MS77]
A
⊥
(
W
) = 1 + 2

k
(1 +
W
)
n
A
1

W
1 +
W
.
(5.40)
Let us consider an example:
32
CHAPTER 5.
LINEAR BINARY BLOCK CODES
Example 5.3 (weight distribution)
The weight distribution of the
(7
,
4
,
3)
Hamming code is
A
(
W
) = 1 + 7
W
3
+ 7
W
4
+
W
8
.
(5.41)
The weight distribution is a code property. This means it does not depend on a particular generator
matrix. To take the mapping of information to code words into account, we define:
Definition 5.12 (inputoutput weight enumerator)
Let
C
be a
(
n, k
)
linear code with generator
matrix
G
and let
A
(
z, w
)
be the number of information words of weight
z
that are mapped to code
words of weight
w
. Then
A
(
Z, W
) =
k
X
z
=0
n
X
w
=0
A
(
z, w
)
Z
z
W
w
(5.42)
is called the
inputoutput weight enumerator
of
G
.
The inputoutput weight enumerator is a generator matrix property. Clearly, we have
A
(
w
) =
k
X
z
=0
A
(
z, w
)
(5.43)
and, hence,
A
(
W
) =
A
(
Z
= 1
, W
)
.
(5.44)
Example 5.4 (inputoutputweight distribution)
The inputoutput weight distribution of the
(7
,
4
,
3)
Hamming code with generator matrix (5.13) is
A
(
W, Z
) = 1 + (3
W
3
+
W
4
)
Z
+ (3
W
3
+ 3
W
4
)
Z
2
+ (
W
3
+ 3
W
4
)
Z
3
+
W
7
Z
4
,
(5.45)
e.g., there are four information words with Hammingweight
3
, one is mapped to a code word of
Hammingweight
3
and three to code words of Hammingweight
4
.
Later we will show how to obtain an upper bound on the bit error probability of the code with
A
(
Z, W
)
for communication over the AWGN channel.
You've reached the end of your free preview.
Want to read all 107 pages?
 Fall '07
 CHUGG
 Information Theory, Coding theory, Hamming Code, Error detection and correction