Difference between revisions of "Channel Coding/Some Basics of Algebra"

From LNTwww
Line 8: Line 8:
 
== # OVERVIEW OF THE SECOND MAIN CHAPTER # ==
 
== # OVERVIEW OF THE SECOND MAIN CHAPTER # ==
 
<br>
 
<br>
This chapter discusses the ''Reed-Solomon codes'', invented in the early 1960s by&nbsp; [https://en.wikipedia.org/wiki/Irving_S._Reed "Irving Stoy Reed"]&nbsp; and&nbsp; [https://en.wikipedia.org/wiki/Gustave_Solomon "Gustave Solomon"]&nbsp;. Unlike binary block codes, these are based on a Galois field&nbsp; GF(2m)&nbsp; with&nbsp; m>1. So they work with multilevel symbols instead of binary characters (bits).
+
This chapter discusses the&nbsp; &raquo;Reed-Solomon codes&laquo;,&nbsp; invented in the early 1960s by&nbsp; [https://en.wikipedia.org/wiki/Irving_S._Reed Irving Stoy Reed]&nbsp; and&nbsp; [https://en.wikipedia.org/wiki/Gustave_Solomon Gustave Solomon].&nbsp; Unlike binary block codes,&nbsp; these codes are based on a Galois field &nbsp; GF(2m) &nbsp; with&nbsp; m>1.&nbsp; So they work with multilevel symbols instead of binary characters&nbsp; ("bits").
  
Specifically, this chapter covers:
+
Specifically,&nbsp; this chapter covers:
  
*The basics of linear algebra: &nbsp; set, group, ring, field, finite field,
+
*The basics of&nbsp; &raquo;linear algebra&laquo;: &nbsp; &raquo;set&laquo;, &nbsp; &raquo;group&laquo;, &nbsp; &raquo;ring&laquo;, &nbsp; &raquo;field&laquo;,&nbsp; finite field&laquo;,
*the definition of extension fields &nbsp; ⇒ &nbsp; GF(2m)&nbsp; and the corresponding operations,
+
 
*the meaning of irreducible polynomials and primitive elements,
+
*the definition of&nbsp; &raquo;extension fields&laquo; &nbsp; ⇒ &nbsp; GF(2m)&nbsp; and the corresponding operations,
*the description and realization possibilities of a Reed-Solomon code,
+
 
*the error correction of such a code at the binary ersaure channel (BEC),
+
*the meaning of&nbsp; &raquo;irreducible polynomials&laquo; &nbsp; and&nbsp; &raquo;primitive elements&laquo;,
*the decoding using the ''Error Locator Polynomial'' &nbsp; ⇒ &nbsp; ''Bounded Distance Decoding'' (BDD),
+
 
*the block error probability of Reed-Solomon codes and typical applications.
+
*the&nbsp; &raquo;description and realization possibilities&laquo; &nbsp; of a Reed-Solomon code,
 +
 
 +
*the error correction of such a code at the&nbsp; &raquo;binary ersaure channel&laquo; &nbsp; $\rm (BEC)$,
 +
 
 +
*the decoding using the&nbsp; &raquo;Error Locator Polynomial &nbsp; ⇒ &nbsp; "Bounded Distance Decoding" &nbsp; $\rm (BDD)$,
 +
 
 +
*the&nbsp; &raquo;block error probability&laquo; &nbsp; of Reed-Solomon codes&nbsp; and &nbsp; &raquo;typical applications&laquo;.
  
  
Line 26: Line 32:
 
== Definition of a Galois field ==
 
== Definition of a Galois field ==
 
<br>
 
<br>
Before we can turn to the description of Reed&ndash;Solomon codes, we need some basic algebraic notions. We begin with the properties of the Galois field&nbsp; GF(q), named after the Frenchman&nbsp; [https://en.wikipedia.org/wiki/%C3%89variste_Galois Évariste Galois], whose biography is rather unusual for a mathematician.<br>
+
Before we can turn to the description of&nbsp; Reed&ndash;Solomon codes,&nbsp; we need some basic algebraic notions.&nbsp; We begin with the properties of the Galois field &nbsp; GF(q),&nbsp; named after the Frenchman&nbsp; [https://en.wikipedia.org/wiki/%C3%89variste_Galois Évariste Galois], whose biography is rather unusual for a mathematician.<br>
  
 
{{BlaueBox|TEXT=   
 
{{BlaueBox|TEXT=   
Definition:&nbsp;  A&nbsp; Galoisfield&nbsp; GF(q)&nbsp; is a&nbsp; [[Channel_Coding/Some_Basics_of_Algebra#Definition_and_Examples_of_an_Algebraic_Ring| "finite field"]]&nbsp; with&nbsp; q&nbsp; elements&nbsp; z0,&nbsp; z1,&nbsp; ... ,&nbsp; zq1, if the eight statements listed below &nbsp;(A)&nbsp; ... &nbsp;(H)&nbsp; with respect to ''addition'' ("+") and ''multiplication'' ("") are true.   
+
Definition:&nbsp;  A &nbsp; Galoisfield&nbsp; GF(q)&nbsp; is a&nbsp; [[Channel_Coding/Some_Basics_of_Algebra#Definition_and_Examples_of_an_Algebraic_Ring| "finite field"]]&nbsp; with&nbsp; q&nbsp; elements&nbsp; z0,&nbsp; z1,&nbsp; ... ,&nbsp; zq1, if the eight statements listed below &nbsp;(A)&nbsp; ... &nbsp;(H)&nbsp; with respect to&nbsp; "addition" &nbsp; &rArr; &nbsp; "+" &nbsp; and&nbsp; "multiplication"&nbsp; &rArr; &nbsp;"$\hspace{0.05cm}\cdot \hspace{0.05cm}$" &nbsp; are true.   
 
*Addition and multiplication are to be understood here modulo&nbsp; q&nbsp;.
 
*Addition and multiplication are to be understood here modulo&nbsp; q&nbsp;.
*The&nbsp; order&nbsp; q&nbsp; indicates the number of elements of the Galois field}}.
+
 
 +
*The&nbsp; order&nbsp; q&nbsp; indicates the number of elements of the Galois field.}}
  
  
Line 43: Line 50:
 
\hspace{0.05cm}. </math>
 
\hspace{0.05cm}. </math>
  
(B)&nbsp; There is a neutral element NA with respect to addition, the so-called <i>zero element</i>. Identity for "+":
+
(B)&nbsp; There is a neutral element&nbsp; NA&nbsp; with respect to addition,&nbsp; the so-called&nbsp; "zero element" Identity for "+":
  
 
::<math>\exists \hspace{0.15cm} z_j \in {\rm GF}(q)\text{:}
 
::<math>\exists \hspace{0.15cm} z_j \in {\rm GF}(q)\text{:}
 
\hspace{0.25cm}z_i + z_j  = z_i \hspace{0.25cm} \Rightarrow \hspace{0.25cm} z_j  = N_{\rm A} = \text{ 0} \hspace{0.05cm}.</math>
 
\hspace{0.25cm}z_i + z_j  = z_i \hspace{0.25cm} \Rightarrow \hspace{0.25cm} z_j  = N_{\rm A} = \text{ 0} \hspace{0.05cm}.</math>
  
(C)&nbsp; There is a neutral element NM with respect to multiplication, the so-called <i>identity element</i> \hspace{0.2cm}\Rightarrow \hspace{0.2cm}\rm Identity \ for \ "\hspace{-0.05cm}&middot;\hspace{0.05cm}":
+
(C)&nbsp; There is a neutral element&nbsp; NM&nbsp; with respect to multiplication,&nbsp; the so-called&nbsp; "identity element" \hspace{0.2cm}\Rightarrow \hspace{0.2cm}\rm Identity \ for \ "\hspace{-0.05cm}&middot;\hspace{0.05cm}":
  
 
::<math>\exists \hspace{0.15cm} z_j \in {\rm GF}(q)\text{:}
 
::<math>\exists \hspace{0.15cm} z_j \in {\rm GF}(q)\text{:}
Line 54: Line 61:
 
\hspace{0.05cm}. </math>
 
\hspace{0.05cm}. </math>
  
(D)&nbsp; For each&nbsp; zi&nbsp; there exists an ''additive inverse'' &nbsp; InvA(zi)  Inverse for "+":
+
(D)&nbsp; For each&nbsp; zi&nbsp; there exists an&nbsp; "additive inverse" &nbsp; InvA(zi)  Inverse for "+":
  
 
::<math>\forall \hspace{0.15cm}  z_i \in {\rm GF}(q),\hspace{0.15cm} \exists \hspace{0.15cm} {\rm Inv_A}(z_i) \in {\rm GF}(q)\text{:}
 
::<math>\forall \hspace{0.15cm}  z_i \in {\rm GF}(q),\hspace{0.15cm} \exists \hspace{0.15cm} {\rm Inv_A}(z_i) \in {\rm GF}(q)\text{:}
Line 60: Line 67:
 
{\rm Inv_A}(z_i) = - z_i \hspace{0.05cm}. </math>
 
{\rm Inv_A}(z_i) = - z_i \hspace{0.05cm}. </math>
  
(E)&nbsp; For each&nbsp; zi&nbsp; except the zero element, there exists the ''multiplicative inverse'' &nbsp; InvM(zi) Inverse for "":
+
(E)&nbsp; For each&nbsp; zi&nbsp; except the zero element,&nbsp; there exists the&nbsp; "multiplicative inverse" &nbsp; InvM(zi) Inverse for "":
  
 
::<math>\forall \hspace{0.15cm}  z_i \in {\rm GF}(q),\hspace{0.15cm} z_i \ne N_{\rm A}, \hspace{0.15cm} \exists \hspace{0.15cm} {\rm Inv_M}(z_i) \in {\rm GF}(q)\text{:}
 
::<math>\forall \hspace{0.15cm}  z_i \in {\rm GF}(q),\hspace{0.15cm} z_i \ne N_{\rm A}, \hspace{0.15cm} \exists \hspace{0.15cm} {\rm Inv_M}(z_i) \in {\rm GF}(q)\text{:}
Line 73: Line 80:
 
\hspace{0.05cm}.</math>
 
\hspace{0.05cm}.</math>
  
(G)&nbsp; For addition and multiplication, the ''associative law'' applies in each case Associative Law:
+
(G)&nbsp; For addition and multiplication,&nbsp; the&nbsp; "associative law"&nbsp; applies in each case Associative Law:
  
 
::<math>\forall \hspace{0.15cm}  z_i,\hspace{0.1cm} z_j ,\hspace{0.1cm} z_k \in {\rm GF}(q)\text{:}
 
::<math>\forall \hspace{0.15cm}  z_i,\hspace{0.1cm} z_j ,\hspace{0.1cm} z_k \in {\rm GF}(q)\text{:}
Line 79: Line 86:
 
\hspace{0.05cm}.</math>
 
\hspace{0.05cm}.</math>
  
(H)&nbsp; For the combination "addition &ndash; multiplication" the ''distributive law'' is valid Distributive Law:
+
(H)&nbsp; For the combination&nbsp; "addition &ndash; multiplication"&nbsp; the&nbsp; "distributive law"&nbsp; is valid Distributive Law:
 
::<math>\forall \hspace{0.15cm}  z_i,\hspace{0.15cm} z_j ,\hspace{0.15cm} z_k \in {\rm GF}(q)\text{:}
 
::<math>\forall \hspace{0.15cm}  z_i,\hspace{0.15cm} z_j ,\hspace{0.15cm} z_k \in {\rm GF}(q)\text{:}
 
\hspace{0.25cm}(z_i + z_j) \cdot z_k = z_i \cdot z_k + z_j \cdot z_k  
 
\hspace{0.25cm}(z_i + z_j) \cdot z_k = z_i \cdot z_k + z_j \cdot z_k  

Revision as of 15:32, 26 August 2022

# OVERVIEW OF THE SECOND MAIN CHAPTER #


This chapter discusses the  »Reed-Solomon codes«,  invented in the early 1960s by  Irving Stoy Reed  and  Gustave Solomon.  Unlike binary block codes,  these codes are based on a Galois field   GF(2m)   with  m>1.  So they work with multilevel symbols instead of binary characters  ("bits").

Specifically,  this chapter covers:

  • The basics of  »linear algebra«:   »set«,   »group«,   »ring«,   »field«,  finite field«,
  • the definition of  »extension fields«   ⇒   GF(2m)  and the corresponding operations,
  • the meaning of  »irreducible polynomials«   and  »primitive elements«,
  • the  »description and realization possibilities«   of a Reed-Solomon code,
  • the error correction of such a code at the  »binary ersaure channel«   (BEC),
  • the decoding using the  »Error Locator Polynomial   ⇒   "Bounded Distance Decoding"   (BDD),
  • the  »block error probability«   of Reed-Solomon codes  and   »typical applications«.



Definition of a Galois field


Before we can turn to the description of  Reed–Solomon codes,  we need some basic algebraic notions.  We begin with the properties of the Galois field   GF(q),  named after the Frenchman  Évariste Galois, whose biography is rather unusual for a mathematician.

Definition:  A   Galoisfield  GF(q)  is a  "finite field"  with  q  elements  z0z1,  ... ,  zq1, if the eight statements listed below  (A)  ...  (H)  with respect to  "addition"   ⇒   "+"   and  "multiplication"  ⇒  ""   are true.

  • Addition and multiplication are to be understood here modulo  q .
  • The  order  q  indicates the number of elements of the Galois field.


Criteria of a Galois field: 

(A)  GF(q)  is closed Closure:

ziGF(q),zjGF(q):(zi+zj)GF(q),(zizj)GF(q).

(B)  There is a neutral element  NA  with respect to addition,  the so-called  "zero element" Identity for "+":

zjGF(q):zi+zj=zizj=NA= 0.

(C)  There is a neutral element  NM  with respect to multiplication,  the so-called  "identity element" Identity for "·":

zjGF(q):zizj=zizj=NM=1.

(D)  For each  zi  there exists an  "additive inverse"   InvA(zi) Inverse for "+":

ziGF(q),InvA(zi)GF(q):zi+InvA(zi)=NA=0kurz:InvA(zi)=zi.

(E)  For each  zi  except the zero element,  there exists the  "multiplicative inverse"   InvM(zi) Inverse for "":

ziGF(q),ziNA,InvM(zi)GF(q):ziInvM(zi)=NM=1kurz:InvM(zi)=z1i.

(F)  For addition and multiplication the commutative law applies in each case Commutative Law:

zi,zjGF(q):zi+zj=zj+zi,zizj=zjzi.

(G)  For addition and multiplication,  the  "associative law"  applies in each case Associative Law:

zi,zj,zkGF(q):(zi+zj)+zk=zi+(zj+zk),(zizj)zk=zi(zjzk).

(H)  For the combination  "addition – multiplication"  the  "distributive law"  is valid Distributive Law:

zi,zj,zkGF(q):(zi+zj)zk=zizk+zjzk.



Examples and properties of Galois fields


We first check that for the binary number set  Z2={0,1}   ⇒   q=2  (valid for the simple binary code) the eight criteria mentioned on the last page are met, so that we can indeed speak of "GF(2)". You can see the addition– and multiplication table below:

Z2={0,1}Addition: [+01001110],Multiplication: [01000101]GF(2).

One can see from this representation:

  • Each element of the addition– and multiplication table of  Z2  is again  z0=0  or  z0=1   ⇒   the criterion  (A)  is satisfied.
  • The set  Z2  contains the zero element  (NA=z0=0)  and the one element (NM=z1=1)  ⇒   the criteria  (B)  and  (C)  are satisfied.
  • The additive inverses  InvA(0)=0  and  InvA(1)=1  exist and belong to  Z2.
  • Similarly, the multiplicative inverse  InvM(1)=1  ⇒   criteria  (D)  and  (E)  are satisfied.
  • The validity of the commutative law  (F)  in the set  Z2  can be recognized by the symmetry with respect to the table diagonals.
  • The criteria  (G)  and  (H)  are also satisfied here  ⇒   all eight criteria are satisfied  ⇒   Z2=GF(2).


Example 1:  The set of numbers  Z3={0,1,2}   ⇒   q=3  satisfies all eight criteria and is thus a Galois field  GF(3):

Z3={0,1,2}Addition: [+012001211202201],Multiplication: [012000010122021]GF(3).


Example 2:  In contrast, the set of numbers  Z4={0,1,2,3}   ⇒   q=4  is not a Galois field.

  • The reason for this is that there is no multiplicative inverse to the element  z2=2  here. For a Galois field it would have to be true:   2InvM(2)=1.
  • But in the multiplication table there is no entry with "1" in the third row and third column (each valid for the multiplicand  z2=2) .
Z4={0,1,2,3}Addition: [+012300123112302230133012],Multiplication: [012300000101232020230321]kein GF(4).


Generalization (without proof for now):

  • A Galois field  GF(q)  can be formed in the manner described here as  "ring"  of integer sizes modulo  q  only if  q  is a prime number:  
        q=2q=3q=5q=7q=11, ...
  • But if the order  q  can be expressed in the form  q=Pm  with a prime  P  and integer  m , the Galois field  GF(q)  can be found via a  extension fields  find.


Group, ring, field - basic algebraic concepts


On the first pages, some basic algebraic terms have already been mentioned, without their meanings having been explained in more detail. This is to be made up now in all shortness from view of a communication engineer, whereby we mainly refer to the representation in [Fri96].  [Fri96][1]  und  [KM+08][2] . To summarize:

Definition:  A  Galoisfield  GF(q) is a field with a finite number  (q)  of elements   ⇒   finite field. Each field is again a special case of a ring, which itself can be represented again as a special case of an abelian group.


Algebraic relations between group, ring and field

The diagram illustrates step by step how the following subordinate sets arise from a set by definition of addition, multiplication and division within this set  M  :

  • abelian group  G ,
  • ring  R,
  • field  F,
  • finite field  Fq  or Galois field  GF(q).


On the next two pages, the algebraic terms mentioned here will be discussed in more detail.

  • For understanding the Reed–Solomon codes, however, this knowledge is not absolutely necessary.
  • So you could jump directly to the chapter  extension fields .


Definition and examples of an algebraic group


For the general definitions of group (and later ring) we assume a set with infinitely many elements:

M={z1,z2,z3, ...}.

Definition:  A  algebraic group  (G,+)  is an (arbitrary) subset  GM  together with an additive linkage ("+") defined between all elements, but only if the following properties are necessarily satisfied:

  • For all  zi,zjG  holds  (zi+zj)G   ⇒   Closure–criterion for  "+".
  • There is always an element neutral with respect to addition  NAG, so that for all  ziG holds:   zi+NA=zi. Given a group of numbers,  NA0.
  • For all  ziG  there is also an element inverse with respect to addition  InvA(zi)G  with property  zi+InvA(zi)=NA.
    For a group of numbers  InvA(zi)=zi.
  • For all  zi,zj,zkG  holds:  zi+(zj+zk)=(zi+zj)+zk   ⇒   Associative law  for  "+".

If in addition for all  zi,zjG  the commutative law  zi+zj=zj+zi  is satisfied, one speaks of a commutative group  or an abelian group, named after the Norwegian mathematician  Niels Hendrik Abel.


Examples of algebraic groups:

(1)  The set of rational numbers is defined as the set of all quotients  I/J  with integers  I  and  J0.

This set is a group  (G,+)  with respect to addition, since
  • for all  aG  and  bG  also the sum  a+b  belongs again to  G ,
  • the associative law applies,
  • with  NA=0  the neutral element of the addition is contained in  G  and
  • it exists for each  a  the additive inverse  InvA(a)=a .
Since moreover the commutative law is fulfilled, it is an abelian group.

(2)  The set of natural numbers   ⇒   {0,1,2,...}  is not an algebraic group with respect to addition,

  • since for no single element  zi  there exists the additive inverse  InvA(zi)=zi .

(3)  The bounded set of natural numbers   ⇒   {0,1,2,...,q1}  on the other hand then satisfies the conditions on a group  (G,+),

  • if one defines the addition modulo  q .

(4)  On the other hand, {1,2,3,...,q}  is not a group because the neutral element of addition  (NA=0)  is missing.


Definition and examples of an algebraic ring


According to the  overview graphic  one gets from the group  (G,+)  by defining a second arithmetic operation – of multiplication  ("")  – to the ring  (R,+,). So you need a multiplication table as well as an addition table for this.

Definition:  A  algebraic ring  (R,+,) is a subset  RGM  together with two arithmetic operations defined in this set, addition  ("+")  and multiplication  ("·"). The following properties must be satisfied:

  • In terms of addition, the ring  (R,+,)  is an  abelian group  (G,+).
  • In addition, for all  zi,zjR  also  (zizj)R   ⇒   Closure–criterion for "".
  • There is always also an element neutral with respect to multiplication  NMR, so that for all  ziR  holds:   ziNM=zi.
    For a number group is always  NM=1.
  • For all  zi,zj,zkR  holds:   zi+(zj+zk)=(zi+zj)+zk   ⇒   Associative law  for  "".
  • For all  zi,zj,zkR holds:   zi(zj+zk)=zizj+zizk   ⇒   Distributive law  for  "".


Further the following agreements shall hold:

  • A ring  (R,+,)  is not necessarily commutative. If in fact the commutative law also holds for all elements  zi,zjR  with respect to multiplication, zizj=zjzi  is called a  commutative ring in the technical literature.
  • Exists for each element  ziR  except  NA  (neutral element of addition, zero element) an element inverse with respect to multiplication  InvM(zi) such that  ziInvM(zi)=1  holds, then there is a  division ring .
  • The ring is  free of zero divisors  if from  zizj=0  follows necessarily  zi=0  or  zj=0 . In abstract algebra, a zero divisor of a ring is an element  zi different from the zero element if there exists an element  zj0  such that the product  zizj=0 .
  • A commutative ring free of zero divisors is called  integral domain.

Conclusion: 

Comparing the definitions of  "group",  ring (see above), "field"  and  "Galois field", we recognize that a Galois field  GF(q)

  • is a finite field with  q  elements,
  • at the same time as a commutative division ring  and also
  • describes an integral domain



Exercises for the chapter


Exercise 2.1: Group, Ring, Field

Exercise 2.1Z: Which Tables Describe Groups?

Exercise 2.2: Properties of Galois Fields

Exercise 2.2Z: Galois Field GF(5)

Sources

  1. Friedrichs, B.: Kanalcodierung – Grundlagen und Anwendungen in modernen Kommunikationssystemen. Berlin – Heidelberg: Springer, 1996.
  2. Kötter, R.; Mayer, T.; Tüchler, M.; Schreckenbach, F.; Brauchle, J.: Channel Coding. Lecture manuscript, Chair of Communications Engineering, TU Munich, 2008.