Difference between revisions of "Channel Coding/Some Basics of Algebra"
(21 intermediate revisions by 3 users not shown) | |||
Line 8: | Line 8: | ||
== # OVERVIEW OF THE SECOND MAIN CHAPTER # == | == # OVERVIEW OF THE SECOND MAIN CHAPTER # == | ||
<br> | <br> | ||
− | This chapter discusses the | + | This chapter discusses the »Reed-Solomon codes«, invented in the early 1960s by [https://en.wikipedia.org/wiki/Irving_S._Reed $\text{Irving Stoy Reed}$] and [https://en.wikipedia.org/wiki/Gustave_Solomon $\text{Gustave Solomon}$]. Unlike binary block codes, these codes are based on a Galois field GF(2m) with m>1. So they work with multi-level symbols instead of binary characters ("bits"). |
− | Specifically, this chapter covers: | + | Specifically, this chapter covers: |
− | *The basics of linear algebra: set, group, ring, field, finite field, | + | *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 definition of »extension fields« ⇒ GF(2m) 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 »irreducible polynomials« and »primitive elements«, |
− | *the decoding using the | + | |
− | *the block error probability of Reed-Solomon codes and typical applications. | + | *the »description and realization possibilities« of a Reed-Solomon code, |
+ | |||
+ | *the error correction of such a code at the »binary ersaure channel« $\rm (BEC)$, | ||
+ | |||
+ | *the decoding using the »Error Locator Polynomial ⇒ "Bounded Distance Decoding" $\rm (BDD)$, | ||
+ | |||
+ | *the »block error probability« of Reed-Solomon codes and »typical applications«. | ||
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–Solomon codes, we need some basic algebraic notions. We begin with the properties of the Galois field GF(q), named after the Frenchman [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 Reed–Solomon codes, we need some basic algebraic notions. We begin with the properties of the Galois field GF(q), named after the Frenchman [https://en.wikipedia.org/wiki/%C3%89variste_Galois $\text{Évariste Galois}$], whose biography is rather unusual for a mathematician.<br> |
{{BlaueBox|TEXT= | {{BlaueBox|TEXT= | ||
− | Definition: A Galoisfield GF(q) is a [[Channel_Coding/Some_Basics_of_Algebra# | + | Definition: A Galoisfield GF(q) is a [[Channel_Coding/Some_Basics_of_Algebra#Group.2C_ring.2C_field_-_basic_algebraic_concepts|$\text{finite field}$]] with q elements z0, z1, ... , zq−1, if the eight statements listed below (A) ... (H) with respect to "addition" ⇒ "+" and "multiplication" ⇒ "$\hspace{0.05cm}\cdot \hspace{0.05cm}$" are true. |
*Addition and multiplication are to be understood here modulo q . | *Addition and multiplication are to be understood here modulo q . | ||
− | *The order q indicates the number of elements of the Galois field}} | + | |
+ | *The order q indicates the number of elements of the Galois field.}} | ||
Line 43: | Line 50: | ||
\hspace{0.05cm}. </math> | \hspace{0.05cm}. </math> | ||
− | (B) There is a neutral element NA with respect to addition, the so-called | + | \rm (B) There is a neutral element N_{\rm A} with respect to addition, the so-called "zero element" \hspace{0.2cm}\Rightarrow \hspace{0.2cm}\rm Identity \ for \ "\hspace{-0.05cm}+\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{:} | ||
\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> | ||
− | \rm (C) There is a neutral element N_{\rm M} with respect to multiplication, the so-called | + | \rm (C) There is a neutral element N_{\rm M} with respect to multiplication, the so-called "identity element" \hspace{0.2cm}\Rightarrow \hspace{0.2cm}\rm Identity \ for \ "\hspace{-0.05cm}·\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> | ||
− | \rm (D) For each z_i there exists an | + | \rm (D) For each z_i there exists an "additive inverse" {\rm Inv_A}(z_i) \hspace{0.2cm}\Rightarrow \hspace{0.2cm}\rm Inverse \ for \ "\hspace{-0.05cm}+\hspace{0.05cm}": |
::<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{:} | ||
− | \hspace{0.25cm}z_i + {\rm Inv_A}(z_i) = N_{\rm A} = {0} \hspace{0.3cm}\Rightarrow \hspace{0.3cm}\text{ | + | \hspace{0.25cm}z_i + {\rm Inv_A}(z_i) = N_{\rm A} = {0} \hspace{0.3cm}\Rightarrow \hspace{0.3cm}\text{short:}\hspace{0.3cm} |
{\rm Inv_A}(z_i) = - z_i \hspace{0.05cm}. </math> | {\rm Inv_A}(z_i) = - z_i \hspace{0.05cm}. </math> | ||
− | \rm (E) For each z_i except the zero element, there exists the | + | \rm (E) For each z_i except the zero element, there exists the "multiplicative inverse" {\rm Inv_M}(z_i) \hspace{0.2cm}\Rightarrow \hspace{0.2cm}\rm Inverse \ for \ "\hspace{-0.05cm}\cdot\hspace{0.05cm}": |
::<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{:} | ||
− | \hspace{0.25cm}z_i \cdot {\rm Inv_M}(z_i) = N_{\rm M} = {1}\hspace{0.3cm}\Rightarrow \hspace{0.3cm}\text{ | + | \hspace{0.25cm}z_i \cdot {\rm Inv_M}(z_i) = N_{\rm M} = {1}\hspace{0.3cm}\Rightarrow \hspace{0.3cm}\text{short:}\hspace{0.3cm} |
{\rm Inv_M}(z_i) = z_i^{-1} | {\rm Inv_M}(z_i) = z_i^{-1} | ||
\hspace{0.05cm}. </math> | \hspace{0.05cm}. </math> | ||
− | \rm (F) For addition and multiplication | + | \rm (F) For addition and multiplication applies in each case the "\rm Commutative \ Law": |
::<math>\forall \hspace{0.15cm} z_i,\hspace{0.15cm} z_j \in {\rm GF}(q)\text{:} | ::<math>\forall \hspace{0.15cm} z_i,\hspace{0.15cm} z_j \in {\rm GF}(q)\text{:} | ||
Line 73: | Line 80: | ||
\hspace{0.05cm}.</math> | \hspace{0.05cm}.</math> | ||
− | \rm (G) For addition and multiplication | + | \rm (G) For addition and multiplication applies in each case the "\rm 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> | ||
− | \rm (H) For the combination "addition – multiplication" the | + | \rm (H) For the combination "addition – multiplication" holds the "\rm 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 | ||
Line 87: | Line 94: | ||
== Examples and properties of Galois fields == | == Examples and properties of Galois fields == | ||
<br> | <br> | ||
− | We first check that for the binary number set Z_2 = \{0, 1\} ⇒ q=2 (valid for the simple binary code) the eight criteria mentioned | + | We first check that for the binary number set Z_2 = \{0, 1\} ⇒ q=2 $($valid for the simple binary code$)$ |
+ | *the eight criteria mentioned in the last section are met, | ||
+ | |||
+ | *so that we can indeed speak of "{\rm GF}(2)". | ||
+ | |||
+ | |||
+ | You can see the addition table and multiplication table below: | ||
:$$Z_2 = \{0, 1\}\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{Addition: } | :$$Z_2 = \{0, 1\}\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{Addition: } | ||
Line 101: | Line 114: | ||
One can see from this representation: | One can see from this representation: | ||
− | + | #Each element of the addition and multiplication table of Z_2 is again z_0 = 0 or z_0 = 1 ⇒ the criterion \rm (A) is satisfied.<br> | |
− | + | #The set Z_2 contains the zero element (\hspace{-0.05cm}N_{\rm A} = z_0 = 0) and the one element (\hspace{-0.05cm}N_{\rm M} = z_1 = 1) ⇒ the criteria \rm (B) and \rm (C) are satisfied.<br> | |
− | + | #The additive inverses {\rm Inv_A}(0) = 0 and ${\rm Inv_A}(1) = -1 \ {\rm mod}\ 2 = 1 exist and belong to Z_2$ ⇒ the criterion \rm (D) is satisfied. | |
− | + | #Similarly, the multiplicative inverse {\rm Inv_M}(1) = 1 ⇒ the criterion \rm (E) is satisfied.<br> | |
− | + | #The validity of the commutative law \rm (F) in the set Z_2 can be recognized by the symmetry with respect to the table diagonals. | |
− | + | #The criteria \rm (G) and \rm (H) are also satisfied here ⇒ all eight criteria are satisfied ⇒ Z_2 = \rm GF(2).<br> | |
− | |||
− | |||
− | |||
{{GraueBox|TEXT= | {{GraueBox|TEXT= | ||
− | \text{Example 1:} The set | + | \text{Example 1:} The number set Z_3 = \{0, 1, 2\} ⇒ q = 3 satisfies all eight criteria and is thus a Galois field \rm GF(3): |
:$$Z_3 = \{0, 1, 2\}\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{Addition: } | :$$Z_3 = \{0, 1, 2\}\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{Addition: } | ||
Line 130: | Line 140: | ||
{{GraueBox|TEXT= | {{GraueBox|TEXT= | ||
− | \text{Example 2:} In contrast, the set | + | \text{Example 2:} In contrast, the number set Z_4 = \{0, 1, 2, 3\} ⇒ q = 4 is »'''not'''« a Galois field. |
− | *The reason for this is that | + | *The reason for this is that here is no multiplicative inverse to the element z_2 = 2. For a Galois field it would have to be true: 2 \cdot {\rm Inv_M}(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 z_2 = 2) | + | |
+ | *But in the multiplication table there is no entry with "1" in the third row and third column (each valid for the multiplicand z_2 = 2). | ||
:$$Z_4 = \{0, 1, 2, 3\}\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{Addition: } | :$$Z_4 = \{0, 1, 2, 3\}\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{Addition: } | ||
Line 146: | Line 157: | ||
2 & 0 & 2 & 0 & 2\\ | 2 & 0 & 2 & 0 & 2\\ | ||
3 & 0 & 3 & 2 & 1 | 3 & 0 & 3 & 2 & 1 | ||
− | \end{array} \right]\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{ | + | \end{array} \right]\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{no }{\rm GF}(4) . |
$$}} | $$}} | ||
Line 152: | Line 163: | ||
{{BlaueBox|TEXT= | {{BlaueBox|TEXT= | ||
\text{Generalization (without proof for now):} | \text{Generalization (without proof for now):} | ||
− | *A Galois field {\rm GF}(q) can be formed in the manner described here as [[Channel_Coding/Some_Basics_of_Algebra#Definition_and_examples_of_an_algebraic_ring| | + | *A Galois field {\rm GF}(q) can be formed in the manner described here as [[Channel_Coding/Some_Basics_of_Algebra#Definition_and_examples_of_an_algebraic_ring| $\text{ring}$]] of integer sizes modulo q only if q is a prime number: <br> q = 2, q = 3, q = 5, q = 7, q = 11, ...<br> |
− | *But if the order q can be expressed in the form q = P^m with a prime P and integer m | + | *But if the order q can be expressed in the form q = P^m with a prime P and integer m, the Galois field {\rm GF}(q) can be found via an [[Channel_Coding/Extension_Field#Generalized_definition_of_an_extension_field|$\text{extension field}$]]. }}<br> |
== Group, ring, field - basic algebraic concepts == | == Group, ring, field - basic algebraic concepts == | ||
<br> | <br> | ||
− | + | In the first sections, 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]<ref name='Fri96'>Friedrichs, B.: Kanalcodierung – Grundlagen und Anwendungen in modernen Kommunikationssystemen. Berlin – Heidelberg: Springer, 1996.</ref> and [KM+08]<ref name='KM+08'>Kötter, R.; Mayer, T.; Tüchler, M.; Schreckenbach, F.; Brauchle, J.: Channel Coding. Lecture manuscript, Chair of Communications Engineering, TU Munich, 2008.</ref>. To summarize:<br> | |
{{BlaueBox|TEXT= | {{BlaueBox|TEXT= | ||
− | \text{Definition:} A \rm Galois field {\rm GF}(q) is a | + | \text{Definition:} |
+ | *A $\rm Galois\, field {\rm 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".}}<br> | ||
[[File:EN_KC_T_2_1_S2.png|right|frame|Algebraic relations between group, ring and field|class=fit]] | [[File:EN_KC_T_2_1_S2.png|right|frame|Algebraic relations between group, ring and field|class=fit]] | ||
− | The diagram illustrates step by step how the following subordinate sets arise from a | + | The diagram illustrates step by step how the following subordinate sets arise from a set \mathcal{M} by definition of addition, multiplication and division: |
− | * | + | *Abelian group \mathcal{G} , |
*ring \mathcal{R}, | *ring \mathcal{R}, | ||
*field \mathcal{F}, | *field \mathcal{F}, | ||
Line 171: | Line 185: | ||
− | + | In the next two sections, the algebraic terms mentioned here will be discussed in more detail. | |
*For understanding the Reed–Solomon codes, however, this knowledge is not absolutely necessary. | *For understanding the Reed–Solomon codes, however, this knowledge is not absolutely necessary. | ||
− | *So you could jump directly to the chapter [[Channel_Coding/Extension_Field| | + | |
+ | *So you could jump directly to the chapter [[Channel_Coding/Extension_Field#Verallgemeinerte_Definition_eines_Erweiterungsk.C3.B6rpers| "Extension Field"]] .<br> | ||
== Definition and examples of an algebraic group == | == Definition and examples of an algebraic group == | ||
<br> | <br> | ||
− | For the general definitions of group (and later ring) we assume a set with infinitely many elements: | + | For the general definitions of "group" (and later "ring") we assume a set with infinitely many elements: |
::<math>\mathcal{M} = \{\hspace{0.1cm}z_1,\hspace{0.1cm} z_2,\hspace{0.1cm} z_3 ,\hspace{0.1cm}\text{ ...} \hspace{0.1cm}\}\hspace{0.05cm}. </math> | ::<math>\mathcal{M} = \{\hspace{0.1cm}z_1,\hspace{0.1cm} z_2,\hspace{0.1cm} z_3 ,\hspace{0.1cm}\text{ ...} \hspace{0.1cm}\}\hspace{0.05cm}. </math> | ||
{{BlaueBox|TEXT= | {{BlaueBox|TEXT= | ||
− | \text{Definition:} A \text{algebraic group} (\mathcal{G}, +) is an (arbitrary) subset \mathcal{G} ⊂ \mathcal{M} together with an additive linkage ("+") defined between all elements, but only if the following properties are necessarily satisfied: | + | \text{Definition:} A \text{algebraic group} (\mathcal{G}, +) is an (arbitrary) subset \mathcal{G} ⊂ \mathcal{M} together with an additive linkage $($"+"$)$ defined between all elements, but only if the following properties are necessarily satisfied: |
− | + | #For all z_i, z_j ∈ \mathcal{G} holds (z_i + z_j) ∈ \mathcal{G} ⇒ "Closure–criterion for +".<br> | |
− | + | #There is always a neutral element N_{\rm A} ∈ \mathcal{G} with respect to addition, so that for all z_i ∈ \mathcal{G} holds: z_i +N_{\rm A} = z_i. Given a group of numbers: N_{\rm A} \equiv 0.<br> | |
− | + | #For all z_i ∈ \mathcal{G} there is an inverse element {\rm Inv_A}(z_i) ∈ \mathcal{G} with respect to addition: z_i + {\rm Inv_A}(z_i)= N_{\rm A} . For a number group: {\rm Inv_A}(z_i) =- z_i.<br> | |
− | + | #For all z_i, z_j, z_k ∈ \mathcal{G} holds: z_i + (z_j + z_k)= (z_i + z_j) + z_k ⇒ "Associative law for +".<br> | |
− | + | #If in addition for all z_i, z_j ∈ \mathcal{G} the "commutative law" z_i + z_j= z_j + z_i is satisfied, one speaks of a "commutative group" or an "Abelian group", named after the Norwegian mathematician [https://en.wikipedia.org/wiki/Niels_Henrik_Abel $\text{Niels Hendrik Abel}$].}}<br> | |
− | |||
− | |||
− | If in addition for all z_i, z_j ∈ \mathcal{G} the | ||
{{GraueBox|TEXT= | {{GraueBox|TEXT= | ||
\text{Examples of algebraic groups:} | \text{Examples of algebraic groups:} | ||
− | '''(1)''' The | + | '''(1)''' The "set of rational numbers" is defined as the set of all quotients I/J with integers I and J ≠ 0. |
− | :This set is a group (\mathcal{G}, +) with respect to addition, since | + | :This set is a group (\mathcal{G}, +) with respect to addition, since |
− | :*for all a ∈ \mathcal{G} and b ∈ \mathcal{G} also the sum a+b belongs | + | :*for all a ∈ \mathcal{G} and b ∈ \mathcal{G} also the sum a+b belongs to \mathcal{G} ,<br> |
:*the associative law applies,<br> | :*the associative law applies,<br> | ||
:*with N_{\rm A} = 0 the neutral element of the addition is contained in \mathcal{G} and<br> | :*with N_{\rm A} = 0 the neutral element of the addition is contained in \mathcal{G} and<br> | ||
:*it exists for each a the additive inverse {\rm Inv_A}(a) = -a .<br> | :*it exists for each a the additive inverse {\rm Inv_A}(a) = -a .<br> | ||
− | :Since moreover the commutative law is fulfilled, it is an | + | :Since moreover the commutative law is fulfilled, it is an "abelian group".<br> |
− | '''(2)''' The | + | '''(2)''' The "set of natural numbers" ⇒ \{0, 1, 2, \text{...}\} is not an algebraic group with respect to addition, <br> since for no single element z_i there exists the additive inverse {\rm Inv_A}(z_i) = -z_i .<br> |
− | |||
− | '''(3)''' The | + | '''(3)''' The "bounded set of natural numbers" ⇒ $\{0, 1, 2, \text{...}\hspace{0.05cm}, q\hspace{-0.05cm}-\hspace{-0.05cm}1\} on the other hand then satisfies the conditions on a group (\mathcal{G}, +)$, <br> if one defines the addition modulo q. |
− | |||
− | '''(4)''' On the other hand, \{1, 2, 3, \text{...}\hspace{0.05cm},q\} is not a group because the neutral element of addition (N_{\rm A} = 0) is missing.}}<br> | + | '''(4)''' On the other hand, \{1, 2, 3, \text{...}\hspace{0.05cm},q\} is not a group because the neutral element of addition (N_{\rm A} = 0) is missing.}}<br> |
== Definition and examples of an algebraic ring == | == Definition and examples of an algebraic ring == | ||
<br> | <br> | ||
− | According to the [[Channel_Coding/Some_Basics_of_Algebra#Group.2C_ring. | + | According to the [[Channel_Coding/Some_Basics_of_Algebra#Group.2C_ring.2C_field_-_basic_algebraic_concepts|$\text{overview graphic}$]] |
+ | *one gets from the group (\mathcal{G}, +) | ||
+ | |||
+ | *by defining a second arithmetic operation "multiplication" ("\cdot") to the "ring" (\mathcal{R}, +, \cdot). | ||
+ | |||
+ | |||
+ | So you need a multiplication table as well as an addition table for this.<br> | ||
{{BlaueBox|TEXT= | {{BlaueBox|TEXT= | ||
− | \text{Definition:} A \text{algebraic ring} (\mathcal{R}, +, \cdot) is a subset \mathcal{R} ⊂ \mathcal{G} ⊂ \mathcal{M} together with two arithmetic operations defined in this set, addition ("+") and multiplication ("·"). | + | \text{Definition:} A \text{algebraic ring} (\mathcal{R}, +, \cdot) is a subset \mathcal{R} ⊂ \mathcal{G} ⊂ \mathcal{M} together with two arithmetic operations defined in this set, |
− | + | *addition ("+") | |
− | + | *and multiplication ("·"). | |
− | |||
− | |||
− | + | The following properties must be satisfied: | |
+ | #In terms of addition, the ring (\mathcal{R}, +, \cdot) is an [[Channel_Coding/Some_Basics_of_Algebra#Definition_and_examples_of_an_algebraic_group|\text{Abelian group}]] (\mathcal{G}, +).<br> | ||
+ | #In addition, for all z_i, z_j ∈ \mathcal{R} also (z_i \cdot z_j) ∈ \mathcal{R} ⇒ "Closure criterion for \cdot".<br> | ||
+ | #There is always also a neutral element N_{\rm M} ∈ \mathcal{R} with respect to multiplication, so that for all z_i ∈ \mathcal{R} holds: z_i \cdot N_{\rm M} = z_i. For a number group: N_{\rm M} \equiv 1.<br> | ||
+ | #For all z_i, z_j, z_k ∈ \mathcal{R} holds: z_i + (z_j + z_k)= (z_i + z_j) + z_k ⇒ "Associative law for \cdot ".<br> | ||
+ | #For all z_i, z_j, z_k ∈ \mathcal{R} holds: z_i \cdot (z_j + z_k) = z_i \cdot z_j + z_i \cdot z_k ⇒ "Distributive law for \cdot ".}}<br> | ||
Further the following agreements shall hold: | Further the following agreements shall hold: | ||
− | *A ring (\mathcal{R}, +, \cdot) is not necessarily commutative. If in fact the | + | *A ring (\mathcal{R}, +, \cdot) is not necessarily commutative. If in fact the "commutative law" also holds for all elements z_i, z_j ∈ \mathcal{R} with respect to multiplication $(z_i \cdot z_j= z_j \cdot z_i)$ then it is called in the technical literature a »'''commutative ring'''«. |
− | *Exists for each element z_i ∈ \mathcal{R} except N_{\rm A} (neutral element of addition, zero element) an element | + | |
− | + | *Exists for each element z_i ∈ \mathcal{R} except N_{\rm A} $($neutral element of addition, zero element$)$ an element {\rm Inv_M}(z_i) inverse with respect to multiplication such that z_i \cdot {\rm Inv_M}(z_i) = 1 holds, then there is a »<b>division ring</b>«.<br> | |
− | |||
− | + | *The ring is »<b>free of zero divisors</b>« if from z_i \cdot z_j = 0 follows necessarily z_i = 0 or $z_j = 0$. In abstract algebra, a zero divisor of a ring is an element z_i different from the zero element if there exists an element z_j \ne 0 such that the product $z_i \cdot z_j = 0$ .<br> | |
− | $\ | ||
− | + | *A commutative ring free of zero divisors is called »<b>integral domain</b>«.<br><br> | |
− | |||
− | + | {{BlaueBox|TEXT= | |
− | + | \text{Conclusion:} Comparing the definitions of [[Channel_Coding/Some_Basics_of_Algebra#Definition_and_examples_of_an_algebraic_group| \text{group}]], "ring" (see above), [[Aufgaben:Aufgabe_2.1:_Gruppe,_Ring,_Körper|\text{field}]] and [[Channel_Coding/Some_Basics_of_Algebra#Definition_of_a_Galois_field|\text{Galois field}]], we recognize that a »'''Galois field'''« {\rm GF}(q) | |
− | + | #is a finite field with q elements,<br> | |
+ | #is at the same time a "commutative division ring", and <br> | ||
+ | #also describes an "integral domain".}}<br><br> | ||
== Exercises for the chapter == | == Exercises for the chapter == | ||
<br> | <br> | ||
− | [[Aufgaben: | + | [[Aufgaben:Exercise_2.1:_Group,_Ring,_Field|Exercise 2.1: Group, Ring, Field]] |
− | [[Aufgaben: | + | [[Aufgaben:Exercise_2.1Z:_Which_Tables_Describe_Groups%3F|Exercise 2.1Z: Which Tables Describe Groups?]] |
− | [[Aufgaben:2 | + | [[Aufgaben:Exercise_2.2:_Properties_of_Galois_Fields|Exercise 2.2: Properties of Galois Fields]] |
− | [[Aufgaben: | + | [[Aufgaben:Exercise_2.2Z:_Galois_Field_GF(5)|Exercise 2.2Z: Galois Field GF(5)]] |
− | == | + | ==References== |
<references/> | <references/> | ||
{{Display}} | {{Display}} |
Latest revision as of 16:09, 19 November 2022
Contents
# OVERVIEW OF THE SECOND MAIN CHAPTER #
This chapter discusses the »Reed-Solomon codes«, invented in the early 1960s by \text{Irving Stoy Reed} and \text{Gustave Solomon}. Unlike binary block codes, these codes are based on a Galois field {\rm GF}(2^m) with m > 1. So they work with multi-level 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« ⇒ {\rm GF}(2^m) 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« \rm (BEC),
- the decoding using the »Error Locator Polynomial ⇒ "Bounded Distance Decoding" \rm (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 {\rm GF}(q), named after the Frenchman \text{Évariste Galois}, whose biography is rather unusual for a mathematician.
\text{Definition:} A \rm Galois\:field {\rm GF}(q) is a \text{finite field} with q elements z_0, z_1, ... , z_{q-1}, if the eight statements listed below \rm (A) ... \rm (H) with respect to "addition" ⇒ "+" and "multiplication" ⇒ "\hspace{0.05cm}\cdot \hspace{0.05cm}" are true.
- Addition and multiplication are to be understood here modulo q .
- The \rm order q indicates the number of elements of the Galois field.
\text{Criteria of a Galois field:}
\rm (A) {\rm GF}(q) is closed \hspace{0.2cm}\Rightarrow \hspace{0.2cm}\rm Closure:
- \forall \hspace{0.15cm} z_i \in {\rm GF}(q),\hspace{0.15cm} z_j \in {\rm GF}(q)\text{:} \hspace{0.25cm}(z_i + z_j)\in {\rm GF}(q),\hspace{0.15cm}(z_i \cdot z_j)\in {\rm GF}(q) \hspace{0.05cm}.
\rm (B) There is a neutral element N_{\rm A} with respect to addition, the so-called "zero element" \hspace{0.2cm}\Rightarrow \hspace{0.2cm}\rm Identity \ for \ "\hspace{-0.05cm}+\hspace{0.05cm}":
- \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}.
\rm (C) There is a neutral element N_{\rm M} with respect to multiplication, the so-called "identity element" \hspace{0.2cm}\Rightarrow \hspace{0.2cm}\rm Identity \ for \ "\hspace{-0.05cm}·\hspace{0.05cm}":
- \exists \hspace{0.15cm} z_j \in {\rm GF}(q)\text{:} \hspace{0.25cm}z_i \cdot z_j = z_i \hspace{0.3cm}\Rightarrow \hspace{0.3cm} z_j = N_{\rm M} = {1} \hspace{0.05cm}.
\rm (D) For each z_i there exists an "additive inverse" {\rm Inv_A}(z_i) \hspace{0.2cm}\Rightarrow \hspace{0.2cm}\rm Inverse \ for \ "\hspace{-0.05cm}+\hspace{0.05cm}":
- \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{:} \hspace{0.25cm}z_i + {\rm Inv_A}(z_i) = N_{\rm A} = {0} \hspace{0.3cm}\Rightarrow \hspace{0.3cm}\text{short:}\hspace{0.3cm} {\rm Inv_A}(z_i) = - z_i \hspace{0.05cm}.
\rm (E) For each z_i except the zero element, there exists the "multiplicative inverse" {\rm Inv_M}(z_i) \hspace{0.2cm}\Rightarrow \hspace{0.2cm}\rm Inverse \ for \ "\hspace{-0.05cm}\cdot\hspace{0.05cm}":
- \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{:} \hspace{0.25cm}z_i \cdot {\rm Inv_M}(z_i) = N_{\rm M} = {1}\hspace{0.3cm}\Rightarrow \hspace{0.3cm}\text{short:}\hspace{0.3cm} {\rm Inv_M}(z_i) = z_i^{-1} \hspace{0.05cm}.
\rm (F) For addition and multiplication applies in each case the "\rm Commutative \ Law":
- \forall \hspace{0.15cm} z_i,\hspace{0.15cm} z_j \in {\rm GF}(q)\text{:} \hspace{0.25cm}z_i + z_j = z_j + z_i ,\hspace{0.15cm}z_i \cdot z_j = z_j \cdot z_i \hspace{0.05cm}.
\rm (G) For addition and multiplication applies in each case the "\rm Associative \ Law":
- \forall \hspace{0.15cm} z_i,\hspace{0.1cm} z_j ,\hspace{0.1cm} z_k \in {\rm GF}(q)\text{:} \hspace{0.25cm}(z_i + z_j) + z_k = z_i + (z_j + z_k ),\hspace{0.15cm}(z_i \cdot z_j) \cdot z_k = z_i \cdot (z_j \cdot z_k ) \hspace{0.05cm}.
\rm (H) For the combination "addition – multiplication" holds the "\rm Distributive \ Law":
- \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.05cm}.
Examples and properties of Galois fields
We first check that for the binary number set Z_2 = \{0, 1\} ⇒ q=2 (valid for the simple binary code)
- the eight criteria mentioned in the last section are met,
- so that we can indeed speak of "{\rm GF}(2)".
You can see the addition table and multiplication table below:
- Z_2 = \{0, 1\}\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{Addition: } \left[ \begin{array}{c|cccccc} + & 0 & 1 \\ \hline 0 & 0 & 1 \\ 1 & 1 & 0 \end{array} \right] \hspace{-0.1cm} ,\hspace{0.25cm}\text{Multiplication: } \left[ \begin{array}{c|cccccc} \cdot & 0 & 1 \\ \hline 0 & 0 & 0 \\ 1 & 0 & 1 \end{array} \right]\hspace{0.25cm} \Rightarrow\hspace{0.25cm}{\rm GF}(2) .
One can see from this representation:
- Each element of the addition and multiplication table of Z_2 is again z_0 = 0 or z_0 = 1 ⇒ the criterion \rm (A) is satisfied.
- The set Z_2 contains the zero element (\hspace{-0.05cm}N_{\rm A} = z_0 = 0) and the one element (\hspace{-0.05cm}N_{\rm M} = z_1 = 1) ⇒ the criteria \rm (B) and \rm (C) are satisfied.
- The additive inverses {\rm Inv_A}(0) = 0 and {\rm Inv_A}(1) = -1 \ {\rm mod}\ 2 = 1 exist and belong to Z_2 ⇒ the criterion \rm (D) is satisfied.
- Similarly, the multiplicative inverse {\rm Inv_M}(1) = 1 ⇒ the criterion \rm (E) is satisfied.
- The validity of the commutative law \rm (F) in the set Z_2 can be recognized by the symmetry with respect to the table diagonals.
- The criteria \rm (G) and \rm (H) are also satisfied here ⇒ all eight criteria are satisfied ⇒ Z_2 = \rm GF(2).
\text{Example 1:} The number set Z_3 = \{0, 1, 2\} ⇒ q = 3 satisfies all eight criteria and is thus a Galois field \rm GF(3):
- Z_3 = \{0, 1, 2\}\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{Addition: } \left[ \begin{array}{c | cccccc} + & 0 & 1 & 2\\ \hline 0 & 0 & 1 & 2 \\ 1 & 1 & 2 & 0 \\ 2 & 2 & 0 & 1 \end{array} \right] \hspace{-0.1cm} ,\hspace{0.25cm}\text{Multiplication: } \left[ \begin{array}{c | cccccc} \cdot & 0 & 1 & 2\\ \hline 0 & 0 & 0 & 0 \\ 1 & 0 & 1 & 2 \\ 2& 0 & 2 & 1 \end{array} \right]\hspace{0.25cm} \Rightarrow\hspace{0.25cm}{\rm GF}(3) .
\text{Example 2:} In contrast, the number set Z_4 = \{0, 1, 2, 3\} ⇒ q = 4 is »not« a Galois field.
- The reason for this is that here is no multiplicative inverse to the element z_2 = 2. For a Galois field it would have to be true: 2 \cdot {\rm Inv_M}(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 z_2 = 2).
- Z_4 = \{0, 1, 2, 3\}\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{Addition: } \left[ \begin{array}{c | cccccc} + & 0 & 1 & 2 & 3\\ \hline 0 & 0 & 1 & 2 & 3\\ 1 & 1 & 2 & 3 & 0\\ 2 & 2 & 3 & 0 & 1\\ 3 & 3 & 0 & 1 & 2 \end{array} \right] \hspace{-0.1cm} ,\hspace{0.25cm}\text{Multiplication: } \left[ \begin{array}{c | cccccc} \cdot& 0 & 1 & 2 & 3\\ \hline 0 & 0 & 0 & 0 & 0\\ 1 & 0 & 1 & 2 & 3\\ 2 & 0 & 2 & 0 & 2\\ 3 & 0 & 3 & 2 & 1 \end{array} \right]\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{no }{\rm GF}(4) .
\text{Generalization (without proof for now):}
- A Galois field {\rm GF}(q) can be formed in the manner described here as \text{ring} of integer sizes modulo q only if q is a prime number:
q = 2, q = 3, q = 5, q = 7, q = 11, ...
- But if the order q can be expressed in the form q = P^m with a prime P and integer m, the Galois field {\rm GF}(q) can be found via an \text{extension field}.
Group, ring, field - basic algebraic concepts
In the first sections, 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][1] and [KM+08][2]. To summarize:
\text{Definition:}
- A \rm Galois\, field {\rm 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".
The diagram illustrates step by step how the following subordinate sets arise from a set \mathcal{M} by definition of addition, multiplication and division:
- Abelian group \mathcal{G} ,
- ring \mathcal{R},
- field \mathcal{F},
- finite field \mathcal{F}_q or Galois field {\rm GF}(q).
In the next two sections, 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 Field" .
Definition and examples of an algebraic group
For the general definitions of "group" (and later "ring") we assume a set with infinitely many elements:
- \mathcal{M} = \{\hspace{0.1cm}z_1,\hspace{0.1cm} z_2,\hspace{0.1cm} z_3 ,\hspace{0.1cm}\text{ ...} \hspace{0.1cm}\}\hspace{0.05cm}.
\text{Definition:} A \text{algebraic group} (\mathcal{G}, +) is an (arbitrary) subset \mathcal{G} ⊂ \mathcal{M} together with an additive linkage ("+") defined between all elements, but only if the following properties are necessarily satisfied:
- For all z_i, z_j ∈ \mathcal{G} holds (z_i + z_j) ∈ \mathcal{G} ⇒ "Closure–criterion for +".
- There is always a neutral element N_{\rm A} ∈ \mathcal{G} with respect to addition, so that for all z_i ∈ \mathcal{G} holds: z_i +N_{\rm A} = z_i. Given a group of numbers: N_{\rm A} \equiv 0.
- For all z_i ∈ \mathcal{G} there is an inverse element {\rm Inv_A}(z_i) ∈ \mathcal{G} with respect to addition: z_i + {\rm Inv_A}(z_i)= N_{\rm A} . For a number group: {\rm Inv_A}(z_i) =- z_i.
- For all z_i, z_j, z_k ∈ \mathcal{G} holds: z_i + (z_j + z_k)= (z_i + z_j) + z_k ⇒ "Associative law for +".
- If in addition for all z_i, z_j ∈ \mathcal{G} the "commutative law" z_i + z_j= z_j + z_i is satisfied, one speaks of a "commutative group" or an "Abelian group", named after the Norwegian mathematician \text{Niels Hendrik Abel}.
\text{Examples of algebraic groups:}
(1) The "set of rational numbers" is defined as the set of all quotients I/J with integers I and J ≠ 0.
- This set is a group (\mathcal{G}, +) with respect to addition, since
- for all a ∈ \mathcal{G} and b ∈ \mathcal{G} also the sum a+b belongs to \mathcal{G} ,
- the associative law applies,
- with N_{\rm A} = 0 the neutral element of the addition is contained in \mathcal{G} and
- it exists for each a the additive inverse {\rm Inv_A}(a) = -a .
- for all a ∈ \mathcal{G} and b ∈ \mathcal{G} also the sum a+b belongs to \mathcal{G} ,
- Since moreover the commutative law is fulfilled, it is an "abelian group".
(2) The "set of natural numbers" ⇒ \{0, 1, 2, \text{...}\} is not an algebraic group with respect to addition,
since for no single element z_i there exists the additive inverse {\rm Inv_A}(z_i) = -z_i .
(3) The "bounded set of natural numbers" ⇒ \{0, 1, 2, \text{...}\hspace{0.05cm}, q\hspace{-0.05cm}-\hspace{-0.05cm}1\} on the other hand then satisfies the conditions on a group (\mathcal{G}, +),
if one defines the addition modulo q.
(4) On the other hand, \{1, 2, 3, \text{...}\hspace{0.05cm},q\} is not a group because the neutral element of addition (N_{\rm A} = 0) is missing.
Definition and examples of an algebraic ring
According to the \text{overview graphic}
- one gets from the group (\mathcal{G}, +)
- by defining a second arithmetic operation "multiplication" ("\cdot") to the "ring" (\mathcal{R}, +, \cdot).
So you need a multiplication table as well as an addition table for this.
\text{Definition:} A \text{algebraic ring} (\mathcal{R}, +, \cdot) is a subset \mathcal{R} ⊂ \mathcal{G} ⊂ \mathcal{M} together with two arithmetic operations defined in this set,
- addition ("+")
- and multiplication ("·").
The following properties must be satisfied:
- In terms of addition, the ring (\mathcal{R}, +, \cdot) is an \text{Abelian group} (\mathcal{G}, +).
- In addition, for all z_i, z_j ∈ \mathcal{R} also (z_i \cdot z_j) ∈ \mathcal{R} ⇒ "Closure criterion for \cdot".
- There is always also a neutral element N_{\rm M} ∈ \mathcal{R} with respect to multiplication, so that for all z_i ∈ \mathcal{R} holds: z_i \cdot N_{\rm M} = z_i. For a number group: N_{\rm M} \equiv 1.
- For all z_i, z_j, z_k ∈ \mathcal{R} holds: z_i + (z_j + z_k)= (z_i + z_j) + z_k ⇒ "Associative law for \cdot ".
- For all z_i, z_j, z_k ∈ \mathcal{R} holds: z_i \cdot (z_j + z_k) = z_i \cdot z_j + z_i \cdot z_k ⇒ "Distributive law for \cdot ".
Further the following agreements shall hold:
- A ring (\mathcal{R}, +, \cdot) is not necessarily commutative. If in fact the "commutative law" also holds for all elements z_i, z_j ∈ \mathcal{R} with respect to multiplication (z_i \cdot z_j= z_j \cdot z_i) then it is called in the technical literature a »commutative ring«.
- Exists for each element z_i ∈ \mathcal{R} except N_{\rm A} (neutral element of addition, zero element) an element {\rm Inv_M}(z_i) inverse with respect to multiplication such that z_i \cdot {\rm Inv_M}(z_i) = 1 holds, then there is a »division ring«.
- The ring is »free of zero divisors« if from z_i \cdot z_j = 0 follows necessarily z_i = 0 or z_j = 0. In abstract algebra, a zero divisor of a ring is an element z_i different from the zero element if there exists an element z_j \ne 0 such that the product z_i \cdot z_j = 0 .
- A commutative ring free of zero divisors is called »integral domain«.
\text{Conclusion:} Comparing the definitions of \text{group}, "ring" (see above), \text{field} and \text{Galois field}, we recognize that a »Galois field« {\rm GF}(q)
- is a finite field with q elements,
- is at the same time 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)
References