edi042 – error control coding (kodningsteknik) · what is a field? definition a field is a set...

3
EDI042 – Error Control Coding (Kodningsteknik) Chapter 4: Reed-Solomon Codes, Part I Michael Lentmaier September 24, 2013 Reed-Solomon Codes I Reed-Solomon (RS) codes were invented by Irving Reed and Gustave Solomon already in 1960 I They form a class of cyclic non-binary codes I RS codes are still used in a wide range of applications, like magnetic and optical storage, broadcasting (DVB), data transmission (DSL, WiMAX) and data centers (RAID 6) I Advantages: 1. non-binary codes are good for burst error correction 2. RS codes are MDS, i.e. they achieve the Singleton bound 3. efficient implementations for BMD decoding exist 4. channel erasures can easily be taken into account 5. explicit construction for a wide range of parameters 6. the weight enumerators of RS codes are known I Limitations: 1. not designed for ML/MAP or APP decoding 2. soft input & decoding beyond BMD is possible but less simple 3. soft output decoding remains a challenge Michael Lentmaier EDI042 – Error Control Coding: Chapter 4 1/8 Non-Binary Codes Michael Lentmaier EDI042 – Error Control Coding: Chapter 4 2/8 Non-Binary Codes Encoder N>K u =(u 0 ,u 1 ,...,u K-1 ) v =(v 0 ,v 1 ,...,v N-1 ) Kq-ary symbols R = K N Nq-ary symbols u i ,v i 2 F q = GF (q) I Up to now we have considered binary codes with u i , v i 2 F 2 I This can be extended to the non-binary case by allowing q-ary symbols in the vectors u and v I The information and code symbols are elements of a finite field of order q (Galois field), denoted by GF(q) or F q I In case of cyclic codes we can again use a polynomial representation in F q [X]: u(X)= u 0 + u 1 X + u 2 X 2 + ··· + u K-1 X K-1 v(X)= v 0 + v 1 X + v 2 X 2 + ··· + v N-1 X N-1 Michael Lentmaier EDI042 – Error Control Coding: Chapter 4 3/8

Upload: others

Post on 14-Mar-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EDI042 – Error Control Coding (Kodningsteknik) · What is a field? Definition A field is a set F of elements together with two binary operators ”+” and ”·”. The elements

EDI042 – Error Control Coding

(Kodningsteknik)

Chapter 4: Reed-Solomon Codes, Part I

Michael Lentmaier

September 24, 2013

Reed-Solomon Codes

IReed-Solomon (RS) codes were invented by Irving Reed and

Gustave Solomon already in 1960

IThey form a class of cyclic non-binary codes

IRS codes are still used in a wide range of applications, like

magnetic and optical storage, broadcasting (DVB), data

transmission (DSL, WiMAX) and data centers (RAID 6)

IAdvantages:

1. non-binary codes are good for burst error correction

2. RS codes are MDS, i.e. they achieve the Singleton bound

3. efficient implementations for BMD decoding exist

4. channel erasures can easily be taken into account

5. explicit construction for a wide range of parameters

6. the weight enumerators of RS codes are known

ILimitations:

1. not designed for ML/MAP or APP decoding

2. soft input & decoding beyond BMD is possible but less simple

3. soft output decoding remains a challenge

Michael Lentmaier EDI042 – Error Control Coding: Chapter 4 1 / 8

Non-Binary Codes

Michael Lentmaier EDI042 – Error Control Coding: Chapter 4 2 / 8

Non-Binary Codes

Encoder

N > K

u = (u0, u1, . . . , uK�1) v = (v0, v1, . . . , vN�1)

K q-ary symbolsR =

K

N

N q-ary symbols

ui, vi 2 Fq = GF (q)

IUp to now we have considered binary codes with ui,vi 2 F

2

IThis can be extended to the non-binary case by allowing q-ary

symbols in the vectors u and vI

The information and code symbols are elements of a finite field

of order q (Galois field), denoted by GF(q) or FqI

In case of cyclic codes we can again use a polynomial

representation in Fq[X]:

u(X) = u0

+u1

X +u2

X2 + · · ·+uK�1

XK�1

v(X) = v0

+ v1

X + v2

X2 + · · ·+ vN�1

XN�1

Michael Lentmaier EDI042 – Error Control Coding: Chapter 4 3 / 8

Page 2: EDI042 – Error Control Coding (Kodningsteknik) · What is a field? Definition A field is a set F of elements together with two binary operators ”+” and ”·”. The elements

What is a field?

Definition

A field is a set F of elements together with two binary operators ”+ ”

and ” · ”.

The elements and operators have to satisfy a number of properties:

1. F is an abelian group w.r.t ”+ ”

2. F\0 is an abelian group w.r.t. ” · ”

3. Distributivity: a · (b+ c) = a ·b+a · c

Definition

An abelian group is a set G of elements together with a binary

operator ”⇤ ” with the following properties:

1. 8a,b 2 G a⇤b 2 G (Closure)

2. 8a,b,c 2 G a⇤b⇤ c 2 G (Associativity)

3. 8a 2 G 9e 2 G : a⇤ e = a (Identity element)

4. 8a 2 G 9b 2 G : a⇤b = e ) b = a�1

(Inverse)

Michael Lentmaier EDI042 – Error Control Coding: Chapter 4 4 / 8

What is a field?

IExamples of fields are the rational numbers Q, real numbers R,

complex numbers CI

The common addition and multiplication rules satisfy all the rules

from the definition above (verify!)

ICounter examples are integer numbers Z (no inverse for

multiplication), natural numbers N (no inverse for addition)

Definition

A field with a finite number q of elements is called a Galois field. It is

called a prime field is the number of elements q is a prime number p.

IA prime field is defined by the set Fp = {0,1, . . . ,p�1} and the

operators ”+ ” and ” · ” correspond to addition and multiplication

modulo p. Example: the binary field GF(2)= F2

IIn general the set Zq of integers modulo q is not a field

if q is not prime

Michael Lentmaier EDI042 – Error Control Coding: Chapter 4 5 / 8

Finite fields

Example: GF(5) = {0,1,2,3,4}+ 0 1 2 3 4

0 0 1 2 3 4

1 1 2 3 4 0

2 2 3 4 0 1

3 3 4 0 1 2

4 4 0 1 2 3

· 0 1 2 3 4

0 0 0 0 0 0

1 0 1 2 3 4

2 0 2 4 1 3

3 0 3 1 4 2

4 0 4 3 2 1

) Check the properties from the definition!

Definition

The order of an element a 2 Fq is the smallest i such that ai = 1. If

i = q�1 then a is called primitive element.

IExample: q = p = 4: 2 and 3 are primitive elements,

1 has order 1 and 4 has order 2 (check!)

IThe order of any a 2 Fp \0 divides p�1 and ap�1 = 1

Michael Lentmaier EDI042 – Error Control Coding: Chapter 4 6 / 8

Reed-Solomon Codes

IFor any Galois field there exists at least one primitive element

ILet a denote a primitive element in GF(q). Then a i

, i = 0, . . . ,q�2

corresponds to all distinct non-zero elements of GF(q):

Fq \0 = {1,a,a2,a3, . . . ,aq�2}

Definition

A Reed-Solomon code of length N = q�1 and dimension K N over

a field Fq is constructed from the set of all degree K �1 polynomials

V(X) = V0

+V1

X + · · ·+VK�1

XK�1 2 Fq[X]

as follows

C =�

v = (v0

,v1

, . . . ,vN�1

)|vi = V�a i� , i = 0,1, . . . ,N �1,degV(X) < K

where a is a primitive element of Fq.

The codewords v of the code are created by evaluating all the qK

polynomials V(X) at the distinct non-zero powers of a.

Michael Lentmaier EDI042 – Error Control Coding: Chapter 4 7 / 8

Page 3: EDI042 – Error Control Coding (Kodningsteknik) · What is a field? Definition A field is a set F of elements together with two binary operators ”+” and ”·”. The elements

Encoding Reed-Solomon Codes

IThe K coefficients of V(X) can be used as information symbols

Example: GF(7), N = 6, K = 2, u = (5,3)I

First we have to find a primitive element a of GF(7)

IWe can check that a = 5 has order p�1 = 6

IActually we can stop after showing that the order is not equal to

2 or 3 since the order has to divide p�1 = 6

IWe set V(X) = u

0

+u1

X = 5+3 XI

The non-zero powers of a are

a0 = 1, a1 = 5, a2 = 4, a3 = 6, a4 = 2, a5 = 3

IEvaluating V(X) at these points we obtain

v0

= V(1) = 1 mod 7 v3

= V(6) = 2 mod 7

v1

= V(5) = 6 mod 7 v4

= V(2) = 4 mod 7

v2

= V(4) = 3 mod 7 v5

= V(3) = 0 mod 7

) v = (1,6,3,2,4,0)

Michael Lentmaier EDI042 – Error Control Coding: Chapter 4 8 / 8