Functional description, Background, Chapter 3. f – Altera Reed-Solomon Compiler User Manual

Page 19: Background –1

Advertising
background image

December 2014

Altera Corporation

Reed-Solomon Compiler

User Guide

3. Functional Description

Background

To use Reed-Solomon (RS) codes, a data stream is first broken into a series of
codewords. Each codeword consists of several information symbols followed by
several check symbols (also known as parity symbols or redundant symbols).
Symbols can contain an arbitrary number of bits. In an error correction system, the
encoder adds check symbols to the data stream prior to its transmission over a
communications channel. When the data is received, the decoder checks for and
corrects any errors (

Figure 3–1

).

RS codes are described as (N,K), where N is the total number of symbols per
codeword and K is the number of information symbols. R is the number of check
symbols (NK). Errors are defined on a symbol basis. Any number of bit errors
within a symbol is considered as only one error.

RS codes are based on finite-field (i.e., Galois field) arithmetic. Any arithmetic
operation (addition, subtraction, multiplication, and division) on a field element gives
a result that is an element of the field. The size of the Galois field is determined by the
number of bits per symbol—specifically, the field has 2

m

elements, where m is the

number of bits per symbol. A specific Galois field is defined by a polynomial, which is
user-defined for the RS Compiler. IP Toolbench lets you select only valid field
polynomials.

The maximum number of symbols in a codeword is limited by the size of the finite
field to 2

m

– 1. For example, a code based on 10-bit symbols can have up to 1,023

symbols per codeword. The RS Compiler supports shortened codewords.

The following equation represents the generator polynomial of the code:

where:

i0 is the first root of the generator polynomial
a is the rootspace
R is the number of check symbols

is a root of the polynomial.

Figure 3–1. RS Codeword Example

0010

0110

1010

0011

0111

1011

Information symbols, which
contain the original data.

Check symbols, added by
the RS encoder before
transmission over a
communications channel.

Symbol

Codeword

4 to 10 bits
per symbol.

R

– 1

g(x) = (x – 

a.i + i

0

)

i = 0

Advertising