16
Equation (2.6) states that the syndrome
of
a received vector depends only on the
error
pattern
and
is
independent of the codeword. Moreover, it
is
clear that if
SI
and
S2
are two distinct syndromes,
then
the corresponding errors e
l
and
e
2
are
distinct, except for the possible addition
of
a codeword. We can thus identify error
patterns with weight
w
~
t, where the distance d =
2t
+
1,
by looking at the
syndrome
of
the received vector, because such error patterns cannot differ
by
a
codeword. There
is
a one-to-one correspondence between syndromes and error
patterns with
w
~
t.
There
are 2
n
-k
possible distinct syndromes, and
(:)
distinct error patterns
of
weight w; therefore, for t-error correction we require
1 +
(~)
+
(;)
... +
(~)
~
2
n
-
k
(2.7)
This is (1.1) of Chapter 1 rewritten with M =
2k
for a linear code.
Reverting to the standard array introduced previously,
we
now form it with
the e
i
chosen
as
the most likely
error
patterns: first, all the
(~)
single-error
patterns, then the
(;)
two errors patterns, and so on. This procedure can continue
up to all
t-error patterns, if d =
2t
+ 1
is
the distance of the code. As
we
go
beyond
t-error patterns, ambiguities arise, because we will find that some values
(c
+ e) have been written down already.
To
illustrate this ambiguity, consider the
d = 4 code with
G
= 01001110
r
10001011 j
00101101
00010111
H = 01110100
r
11101000j
11010010
10110001
If
we choose e = (00000011)
of
weight 2 for the first weight - 2 row of the standard
array, we will (for example) write down
(10001000) in that row, being
(gl
+
e).
Now
we
cannot choose e' = (10001000) for the next row. Alternatively if
we
had chosen
e' for the first weight - 2 row, we could not choose e for the next one. Note that
the syndrome of e and e'
is
(0011), that is, the same for both error patterns.
However, as shown above, there
is
no such problem with single-error patterns, all
of which give distinct syndromes, namely, the rows
of
HT (the columns of H).
This suggests a simple technique for correcting correctable error patterns, of
weight less than or equal to
t, in a received vector r, namely:
1.
Evaluate the syndrome,
s,
from
r.
2.
Look up the corresponding e in a precomputed table. (If the s found
is
not in
the table the error
is
not correctable')
3.
The
correct codeword c = r +
e.