VSC6134
Datasheet
1.2
FEC Algorithms and Performance
The VSC6134 performs error detection and correction using Reed Solomon (RS) and concatenated
Bose, Chaudhuri, and Hocquenghem (BCH) codes. The following section provides a more detailed
description of these algorithms and the underlying frame structures.
1.2.1
Reed Solomon FEC
The RS code is a non-binary code (the algorithm operates on byte symbols) and belongs to the family of
systematic linear cyclic block codes. The codeword comprises n symbols; each is m bits long where
m
n = 2 – 1. A (n, k) code is guaranteed to correct t symbol errors occurring anywhere in the codeword,
where 2t = n – k. During encoding for systematic RS codes, a k symbol information vector is converted
to an n symbol codeword by dividing the vector by the generator polynomial and appending the
remainder. The decoding process involves computing the error locations and the magnitude of the
errors, and performing the error correction. Decreasing the ratio k / n improves the error correction
performance of the code but requires an increased encoded data output rate.
RS codes can also correct burst errors. A (n, k) RS code can correct a minimum of m (t – 1) + 1 bits of
burst error within every codeword up to a maximum of m × t bits depending on the occurrence of the
burst error across the symbol boundaries.
According to G.975 specification, a symbol length of 8 bits (m = 8) is selected and results in a 255-byte
codeword that offers efficient error correction performance. The selected RS(255,239) code can correct
eight symbol errors and can handle a maximum burst error of 64 bits within each codeword as detailed
–4
above. A 16× interleaved RS(255,239) code can correct a burst of 1024 bits. For an input BER of 10
the output BER is 5 × 10
–15
As specified in the G.709 specification, forward error correction (FEC) for the OTU uses 16-byte
interleaved codewords, each based on a Reed Solomon RS(255,239) code. An OTU frame consists of
four rows. Each OTU row is separated into 16 sub-rows or Reed Solomon (RS) codewords, using byte-
interleaving as shown in Figure 1, page 39. Each RS encoder/decoder processes one of these sub-rows
or RS codewords. The RS parity check bytes are calculated over the information bytes 1 to 239 of each
codeword and transmitted in bytes 240 to 255 of the same codeword. The bytes in an OTU row
belonging to RS codeword X are defined by: X + 16× (i – 1) (for i = 1...255).
38 of 438
VMDS-10185 Revision 4.0
July 2006