
Theory
Reed Solomon Encoder/Decoder on the StarCore SC140/SC1400 Cores, With Extended Examples, Rev. 1
Freescale Semiconductor
9
2.
Derivation of the error-location polynomial
: The output of the Berlekamp-Massey algorithm is the
error-location polynomial
Λ
(x),
defined as:
Λ
(x)
has at most
ν
different roots. The inverses of the roots have the form
location index. It can be proven [6] that the so-called Newton identity holds for the coefficients of
Λ
(x)
and the syndromes:
, where
i
k
is the error-
.
The Berlekamp-Massey algorithm is an iterative way to find a minimum-degree polynomial
that
satisfies the Newton identities for any
j
. If the degree of
Λ
(x)
obtained by the Berlekamp-Massey
algorithm exceeds
T
, this indicates that more than
T
errors have occurred and the block is therefore not
correctable. In this case, the decoder
detects
the occurrence of errors in the block, but no further
attempt of correction is made, and the decoding procedure stops at this point for this block.
3.
Roots search
: The roots of the error-location polynomial are obtained by an exhaustive search, that is,
by evaluating
Λ
(x)
at all Galois field elements, checking for possible zero results. The exponents of the
inverses of the roots are equal to the error-location indices.
If the number of roots is less than the degree of
Λ
(x)
, more than
T
errors have occurred. In this case,
errors are
detected
, but they are not corrected, and decoding stops at this point for this block.
4.
Derivation of error values
: The error values are obtained from the Forney algorithm in this implemen-
tation. Once the error locations
X
k
are found, the error values
Y
k
are found from the
ν
first syndromes
equation by solving the following:
The Forney algorithm is an efficient way to invert the matrix and solve for the errors values
Y
1 –
Y
k
.
2.3 Error-Correcting Performance of Reed-Solomon Codes
The Reed-Solomon code ensures error
detection
and
correction
as long as the number of errors is at most
T.
If more
than
T
errors occur, one of two things happen:
An uncorrectable error is detected. No attempts are made by the decoder to correct the block.
The received block accidentally resembles a valid code word different from the correct one and the
decoder decodes the block into an incorrect code word.
Under the assumption of completely random bit errors, the bit-error rate
P
b
is related to the symbol-error rate
P
s
by
the following:
On the other hand, if the symbol errors are independent, the probability of
more than
T
errors occurring in a block
is given by:
Λ
x
( )
1
xX
1
+
(
)
1
(
xX
2
+
)
1
(
xX
3
+
)…
1
xX
ν
+
(
)
1
λ
1
x
λ
2
x
2
λ
3
x
3
…λ
ν
x
ν
+
+
+
+
≡
=
α
i
k
S
j
ν
+
λ
1
S
j
ν
1
–
+
λ
2
S
j
ν
2
–
+
…λ
ν
S
j
+
+
0
=
X
1
X
2
…
X
ν
… … … …
ν
X
2
X
1
ν
…
X
ν
ν
Y
1
…
Y
ν
S
1
…
S
ν
–
=
P
s
1
1
P
b
–
(
)
m
–
=
P
E
T
>
1
i
P
s
(
)
i
1
(
P
–
s
)
N
i
–
i
0
=
T
∑
–
=