edi042 – error control coding (kodningsteknik) · what is a field? definition a field is a set...
Post on 14-Mar-2020
5 Views
Preview:
TRANSCRIPT
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
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
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
top related