Difference between revisions of "Channel Coding/Some Basics of Algebra"
(40 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{Header | {{Header | ||
− | |Untermenü=Reed–Solomon–Codes | + | |Untermenü=Reed–Solomon–Codes and Their Decoding |
− | |Vorherige Seite= | + | |Vorherige Seite=Information Theoretical Limits of Channel Coding |
− | |Nächste Seite= | + | |Nächste Seite=Extension Field |
}} | }} | ||
− | == # | + | == # OVERVIEW OF THE SECOND MAIN CHAPTER # == |
<br> | <br> | ||
− | + | 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: | |
− | * | + | *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), | ||
− | == Definition | + | *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 == | ||
<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 $\text{Évariste Galois}$], whose biography is rather unusual for a mathematician.<br> | |
{{BlaueBox|TEXT= | {{BlaueBox|TEXT= | ||
− | Definition: | + | Definition: A $\rm Galois\:field {\rm GF}(q)$ is a [[Channel_Coding/Some_Basics_of_Algebra#Group.2C_ring.2C_field_-_basic_algebraic_concepts|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 | + | *Addition and multiplication are to be understood here modulo q . |
− | * | + | |
+ | *The $\rm order q$ indicates the number of elements of the Galois field.}} | ||
{{BlaueBox|TEXT= | {{BlaueBox|TEXT= | ||
− | $\text{ | + | $\text{Criteria of a Galois field:}$ |
− | (A) GF(q) | + | (A) GF(q) is closed ⇒Closure: |
::<math>\forall \hspace{0.15cm} z_i \in {\rm GF}(q),\hspace{0.15cm} z_j \in {\rm GF}(q)\text{:} | ::<math>\forall \hspace{0.15cm} z_i \in {\rm GF}(q),\hspace{0.15cm} z_j \in {\rm GF}(q)\text{:} | ||
Line 43: | Line 50: | ||
\hspace{0.05cm}. </math> | \hspace{0.05cm}. </math> | ||
− | (B) | + | (B) There is a neutral element NA 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> | ||
− | (C) | + | (C) There is a neutral element NM 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> | ||
− | (D) | + | (D) For each zi there exists an "additive inverse" InvA(zi) $\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> | ||
− | (E) | + | (E) For each zi except the zero element, there exists the "multiplicative inverse" InvM(zi) $\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> | ||
− | (F) | + | (F) For addition and multiplication applies in each case the "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> | ||
− | (G) | + | (G) For addition and multiplication applies in each case the "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) | + | (H) For the combination "addition – multiplication" holds the "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 85: | Line 92: | ||
− | == | + | == Examples and properties of Galois fields == |
<br> | <br> | ||
− | + | We first check that for the binary number set Z2={0,1} ⇒ q=2 $(validforthesimplebinarycode)$ | |
+ | *the eight criteria mentioned in the last section are met, | ||
+ | |||
+ | *so that we can indeed speak of "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 93: | Line 106: | ||
0 & 0 & 1 \\ | 0 & 0 & 1 \\ | ||
1 & 1 & 0 | 1 & 1 & 0 | ||
− | \end{array} \right] \hspace{-0.1cm} ,\hspace{0.25cm}\text{ | + | \end{array} \right] \hspace{-0.1cm} ,\hspace{0.25cm}\text{Multiplication: } |
\left[ \begin{array}{c|cccccc} \cdot & 0 & 1 \\ \hline | \left[ \begin{array}{c|cccccc} \cdot & 0 & 1 \\ \hline | ||
0 & 0 & 0 \\ | 0 & 0 & 0 \\ | ||
Line 100: | Line 113: | ||
$$ | $$ | ||
− | + | 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.<br> | |
− | + | #The set Z2 contains the zero element (NA=z0=0) and the one element (NM=z1=1) ⇒ the criteria (B) and (C) are satisfied.<br> | |
− | + | #The additive inverses InvA(0)=0 and InvA(1)=−1 mod 2=1 exist and belong to Z2 ⇒ the criterion (D) is satisfied. | |
− | + | #Similarly, the multiplicative inverse InvM(1)=1 ⇒ the criterion (E) is satisfied.<br> | |
− | + | #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).<br> | |
− | |||
− | |||
− | |||
{{GraueBox|TEXT= | {{GraueBox|TEXT= | ||
− | $\text{ | + | $\text{Example 1:}$ The number set Z3={0,1,2} ⇒ q=3 satisfies all eight criteria and is thus a Galois field 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 120: | Line 130: | ||
1 & 1 & 2 & 0 \\ | 1 & 1 & 2 & 0 \\ | ||
2 & 2 & 0 & 1 | 2 & 2 & 0 & 1 | ||
− | \end{array} \right] \hspace{-0.1cm} ,\hspace{0.25cm}\text{ | + | \end{array} \right] \hspace{-0.1cm} ,\hspace{0.25cm}\text{Multiplication: } |
\left[ \begin{array}{c {{!}} cccccc} \cdot & 0 & 1 & 2\\ \hline | \left[ \begin{array}{c {{!}} cccccc} \cdot & 0 & 1 & 2\\ \hline | ||
0 & 0 & 0 & 0 \\ | 0 & 0 & 0 & 0 \\ | ||
Line 130: | Line 140: | ||
{{GraueBox|TEXT= | {{GraueBox|TEXT= | ||
− | $\text{ | + | $\text{Example 2:}$ In contrast, the number set Z4={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 z2=2. For a Galois field it would have to be true: 2⋅InvM(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). | ||
:$$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 140: | Line 151: | ||
2 & 2 & 3 & 0 & 1\\ | 2 & 2 & 3 & 0 & 1\\ | ||
3 & 3 & 0 & 1 & 2 | 3 & 3 & 0 & 1 & 2 | ||
− | \end{array} \right] \hspace{-0.1cm} ,\hspace{0.25cm}\text{ | + | \end{array} \right] \hspace{-0.1cm} ,\hspace{0.25cm}\text{Multiplication: } |
\left[ \begin{array}{c {{!}} cccccc} \cdot& 0 & 1 & 2 & 3\\ \hline | \left[ \begin{array}{c {{!}} cccccc} \cdot& 0 & 1 & 2 & 3\\ \hline | ||
0 & 0 & 0 & 0 & 0\\ | 0 & 0 & 0 & 0 & 0\\ | ||
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) . |
$$}} | $$}} | ||
{{BlaueBox|TEXT= | {{BlaueBox|TEXT= | ||
− | $\text{ | + | $\text{Generalization (without proof for now):}$ |
− | * | + | *A Galois field GF(q) can be formed in the manner described here as [[Channel_Coding/Some_Basics_of_Algebra#Definition_and_examples_of_an_algebraic_ring| 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=Pm with a prime P and integer m, the Galois field GF(q) can be found via an [[Channel_Coding/Extension_Field#Generalized_definition_of_an_extension_field|extension field]]. }}<br> |
− | == | + | == 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= | ||
− | Definition: | + | 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".}}<br> | |
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | [[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 set M by definition of addition, multiplication and division: | ||
+ | *Abelian group G , | ||
+ | *ring R, | ||
+ | *field F, | ||
+ | *finite field Fq or Galois field GF(q). | ||
− | == Definition | + | |
+ | 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 [[Channel_Coding/Extension_Field#Verallgemeinerte_Definition_eines_Erweiterungsk.C3.B6rpers| "Extension Field"]] .<br> | ||
+ | |||
+ | |||
+ | == 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: | |
::<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= | ||
− | Definition: | + | Definition: A algebraic group (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: zi+NA=zi. Given a group of numbers: NA≡0.<br> | |
+ | #For all z_i ∈ \mathcal{G} there is an inverse element {\rm Inv_A}(z_i) ∈ \mathcal{G} with respect to addition: zi+InvA(zi)=NA. For a number group: InvA(zi)=−zi.<br> | ||
+ | #For all z_i, z_j, z_k ∈ \mathcal{G} holds: zi+(zj+zk)=(zi+zj)+zk ⇒ "Associative law for +".<br> | ||
+ | #If in addition for all z_i, z_j ∈ \mathcal{G} the "commutative law" zi+zj=zj+zi 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 Niels Hendrik Abel].}}<br> | ||
− | + | {{GraueBox|TEXT= | |
+ | $\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 G ,<br> | ||
+ | :*the associative law applies,<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> | ||
+ | :Since moreover the commutative law is fulfilled, it is an "abelian group".<br> | ||
− | + | '''(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 zi there exists the additive inverse ${\rm Inv_A}(z_i) = -z_i$ .<br> | |
− | {{ | + | '''(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> |
− | |||
− | |||
− | |||
− | |||
− | + | == Definition and examples of an algebraic ring == | |
+ | <br> | ||
+ | According to the [[Channel_Coding/Some_Basics_of_Algebra#Group.2C_ring.2C_field_-_basic_algebraic_concepts|overview graphic]] | ||
+ | *one gets from the group (G,+) | ||
− | + | *by defining a second arithmetic operation "multiplication" ("⋅") 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= | ||
− | Definition: | + | Definition: A algebraic ring (R,+,⋅) 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 (R,+,⋅) is an [[Channel_Coding/Some_Basics_of_Algebra#Definition_and_examples_of_an_algebraic_group|Abelian group]] (G,+).<br> | ||
+ | #In addition, for all z_i, z_j ∈ \mathcal{R} also (z_i \cdot z_j) ∈ \mathcal{R} ⇒ "Closure criterion for ⋅".<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: zi⋅NM=zi. For a number group: NM≡1.<br> | ||
+ | #For all z_i, z_j, z_k ∈ \mathcal{R} holds: zi+(zj+zk)=(zi+zj)+zk ⇒ "Associative law for ⋅".<br> | ||
+ | #For all z_i, z_j, z_k ∈ \mathcal{R} holds: zi⋅(zj+zk)=zi⋅zj+zi⋅zk ⇒ "Distributive law for ⋅".}}<br> | ||
− | + | Further the following agreements shall hold: | |
− | * | + | *A ring (R,+,⋅) 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 InvM(zi) inverse with respect to multiplication such that zi⋅InvM(zi)=1 holds, then there is a »<b>division ring</b>«.<br> | |
− | |||
− | + | *The ring is »<b>free of zero divisors</b>« if from zi⋅zj=0 follows necessarily zi=0 or $z_j = 0$. In abstract algebra, a zero divisor of a ring is an element zi different from the zero element if there exists an element zj≠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= | |
− | + | Conclusion: Comparing the definitions of [[Channel_Coding/Some_Basics_of_Algebra#Definition_and_examples_of_an_algebraic_group| group]], "ring" (see above), [[Aufgaben:Aufgabe_2.1:_Gruppe,_Ring,_Körper|field]] and [[Channel_Coding/Some_Basics_of_Algebra#Definition_of_a_Galois_field|Galois field]], we recognize that a »'''Galois field'''« 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 == |
<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 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 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« ⇒ 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 z0, z1, ... , zq−1, 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:
- ∀zi∈GF(q),zj∈GF(q):(zi+zj)∈GF(q),(zi⋅zj)∈GF(q).
(B) There is a neutral element NA with respect to addition, the so-called "zero element" ⇒Identity for "+":
- ∃zj∈GF(q):zi+zj=zi⇒zj=NA= 0.
(C) There is a neutral element NM with respect to multiplication, the so-called "identity element" ⇒Identity for "·":
- ∃zj∈GF(q):zi⋅zj=zi⇒zj=NM=1.
(D) For each zi there exists an "additive inverse" InvA(zi) ⇒Inverse for "+":
- ∀zi∈GF(q),∃InvA(zi)∈GF(q):zi+InvA(zi)=NA=0⇒short:InvA(zi)=−zi.
(E) For each zi except the zero element, there exists the "multiplicative inverse" InvM(zi) ⇒Inverse for "⋅":
- ∀zi∈GF(q),zi≠NA,∃InvM(zi)∈GF(q):zi⋅InvM(zi)=NM=1⇒short:InvM(zi)=z−1i.
(F) For addition and multiplication applies in each case the "Commutative Law":
- ∀zi,zj∈GF(q):zi+zj=zj+zi,zi⋅zj=zj⋅zi.
(G) For addition and multiplication applies in each case the "Associative Law":
- ∀zi,zj,zk∈GF(q):(zi+zj)+zk=zi+(zj+zk),(zi⋅zj)⋅zk=zi⋅(zj⋅zk).
(H) For the combination "addition – multiplication" holds the "Distributive Law":
- ∀zi,zj,zk∈GF(q):(zi+zj)⋅zk=zi⋅zk+zj⋅zk.
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 in the last section are met,
- so that we can indeed speak of "GF(2)".
You can see the addition table 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 mod 2=1 exist and belong to Z2 ⇒ the criterion (D) is satisfied.
- Similarly, the multiplicative inverse InvM(1)=1 ⇒ the criterion (E) is 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 number set 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 number set Z4={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 z2=2. For a Galois field it would have to be true: 2⋅InvM(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]⇒no 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=2, q=3, q=5, q=7, q=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 an 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:
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".
The diagram illustrates step by step how the following subordinate sets arise from a set M by definition of addition, multiplication and division:
- Abelian group G ,
- ring R,
- field F,
- finite field Fq or Galois field 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:
- M={z1,z2,z3, ...}.
Definition: A algebraic group (G,+) is an (arbitrary) subset G⊂M together with an additive linkage ("+") defined between all elements, but only if the following properties are necessarily satisfied:
- For all zi,zj∈G holds (zi+zj)∈G ⇒ "Closure–criterion for +".
- There is always a neutral element NA∈G with respect to addition, so that for all zi∈G holds: zi+NA=zi. Given a group of numbers: NA≡0.
- For all zi∈G there is an inverse element InvA(zi)∈G with respect to addition: zi+InvA(zi)=NA. For a number group: InvA(zi)=−zi.
- For all zi,zj,zk∈G holds: zi+(zj+zk)=(zi+zj)+zk ⇒ "Associative law for +".
- If in addition for all zi,zj∈G 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 J≠0.
- This set is a group (G,+) with respect to addition, since
- for all a∈G and b∈G also the sum a+b belongs 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 .
- for all a∈G and b∈G also the sum a+b belongs to G ,
- 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,...,q−1} 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 "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 R⊂G⊂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 (R,+,⋅) is an Abelian group (G,+).
- In addition, for all zi,zj∈R also (zi⋅zj)∈R ⇒ "Closure criterion for ⋅".
- There is always also a neutral element NM∈R with respect to multiplication, so that for all zi∈R holds: zi⋅NM=zi. For a number group: NM≡1.
- For all zi,zj,zk∈R holds: zi+(zj+zk)=(zi+zj)+zk ⇒ "Associative law for ⋅".
- For all zi,zj,zk∈R holds: zi⋅(zj+zk)=zi⋅zj+zi⋅zk ⇒ "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,zj∈R with respect to multiplication (zi⋅zj=zj⋅zi) then it is called in the technical literature a »commutative ring«.
- Exists for each element zi∈R except NA (neutral element of addition, zero element) an element InvM(zi) inverse with respect to multiplication such that zi⋅InvM(zi)=1 holds, then there is a »division ring«.
- The ring is »free of zero divisors« if from zi⋅zj=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 zj≠0 such that the product zi⋅zj=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,
- 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