Difference between revisions of "Aufgaben:Exercise 2.09: Reed–Solomon Parameters"

From LNTwww
Line 30: Line 30:
  
 
Hints:
 
Hints:
* Die Aufgabe gehört zum Kapitel  [[Channel_Coding/Definition_und_Eigenschaften_von_Reed%E2%80%93Solomon%E2%80%93Codes| Definition und Eigenschaften von Reed–Solomon–Codes]].
+
* This exercise belongs to the chapter  [[Channel_Coding/Definition_and_Properties_of_Reed-Solomon_Codes| "Definition and Properties of Reed-Solomon Codes"]].
* Bezug genommen wird aber auch auf das Kapitel  [[Channel_Coding/Erweiterungsk%C3%B6rper| Erweiterungskörper]].
+
* However, reference is also made to the chapter  [[Channel_Coding/Extension_Field| "Extension Field"]].
 
   
 
   
  
  
  
===Fragebogen===
+
===Solution===
 
<quiz display=simple>
 
<quiz display=simple>
{Es gelte&nbsp; $c_i &#8712; {\rm GF}(2^m)$. Welche RS&ndash;Codeparameter&nbsp; $n$&nbsp; ergeben sich?
+
{It is valid&nbsp; $c_i &#8712; {\rm GF}(2^m)$. Which RS code parameters&nbsp; $n$&nbsp; result?
 
|type="{}"}
 
|type="{}"}
 
$m = 4 \text{:} \hspace{0.4cm} n \ = \ ${ 15 }
 
$m = 4 \text{:} \hspace{0.4cm} n \ = \ ${ 15 }
Line 44: Line 44:
 
$m = 6 \text{:} \hspace{0.4cm} n \ = \ ${ 63 }
 
$m = 6 \text{:} \hspace{0.4cm} n \ = \ ${ 63 }
  
{Im Folgenden werden zwei spezielle RS&ndash;Codes&nbsp; ${\rm RSC} \ 1 \ (m = 4, \ t = 4)$&nbsp; und&nbsp; ${\rm RSC} \ 2 \ (m = 5, \ t = 8)$&nbsp; betrachtet. <br>Mit welchem RS&ndash;Parameter&nbsp; $k$&nbsp; lassen sich genau&nbsp; $t$&nbsp; Symbolfehler korrigeren?
+
{Two specific RS codes&nbsp; ${\rm RSC} \ 1 \ (m = 4, \ t = 4)$&nbsp; and&nbsp; ${\rm RSC} \ 2 \ (m = 5, \ t = 8)$&nbsp; are considered below. <br>Which RS parameter&nbsp; $k$&nbsp; can be used to correct exactly&nbsp; $t$&nbsp; symbol errors?
 
|type="{}"}
 
|type="{}"}
 
${\rm RSC} \ 1 \text{:} \hspace{0.4cm} k \ = \ ${ 7 }
 
${\rm RSC} \ 1 \text{:} \hspace{0.4cm} k \ = \ ${ 7 }
 
${\rm RSC} \ 2 \text{:} \hspace{0.4cm} k \ = \ ${ 15 }
 
${\rm RSC} \ 2 \text{:} \hspace{0.4cm} k \ = \ ${ 15 }
  
{Welche Bezeichnungen sind für&nbsp; $\rm RSC \ 1$&nbsp; bzw.&nbsp; $\rm RSC \ 2$&nbsp; richtig?
+
{Which designations are correct for&nbsp; $\rm RSC \ 1$&nbsp; and&nbsp; $\rm RSC \ 2$&nbsp; respectively?
 
|type="[]"}
 
|type="[]"}
 
+ $\rm RSC \ 1$&nbsp; nennt man auch&nbsp; $\rm RSC \, (15, \, 7, \, 9)_{16}$.
 
+ $\rm RSC \ 1$&nbsp; nennt man auch&nbsp; $\rm RSC \, (15, \, 7, \, 9)_{16}$.
Line 56: Line 56:
 
+ $\rm RSC \ 2$&nbsp; nennt man auch&nbsp; $\rm  RSC \, (31, \, 15, \, 17)_{32}$.
 
+ $\rm RSC \ 2$&nbsp; nennt man auch&nbsp; $\rm  RSC \, (31, \, 15, \, 17)_{32}$.
  
{Wieviele Symbolfehler&nbsp; $(e)$&nbsp; können höchstens erkannt werden?  
+
{How many symbol errors&nbsp; $(e)$&nbsp; can be detected at most?  
 
|type="{}"}
 
|type="{}"}
 
${\rm RSC} \ 1 \text{:} \hspace{0.4cm} e \ = \ ${ 8 }
 
${\rm RSC} \ 1 \text{:} \hspace{0.4cm} e \ = \ ${ 8 }
 
${\rm RSC} \ 2 \text{:} \hspace{0.4cm}e \ = \ ${ 16 }
 
${\rm RSC} \ 2 \text{:} \hspace{0.4cm}e \ = \ ${ 16 }
  
{Wie lauten die betrachteten Codes in Binärschreibweise?
+
{What are the codes under consideration in binary notation?
 
|type="[]"}
 
|type="[]"}
- $\rm RSC \ 1$&nbsp; entspricht dem Code&nbsp; $\rm RSC \, (60, \, 28, \, 36)_2$.
+
- $\rm RSC \ 1$&nbsp; corresponds to code&nbsp; $\rm RSC \, (60, \, 28, \, 36)_2$.
+ $\rm RSC \ 1$&nbsp; entspricht dem Code&nbsp; $\rm RSC \, (60, \, 28, \, 9)_2$.
+
+ $\rm RSC \ 1$&nbsp; corresponds to code&nbsp; $\rm RSC \, (60, \, 28, \, 9)_2$.
+ $\rm RSC \ 2$&nbsp; entspricht dem Code&nbsp; $\rm RSC \, (155, \, 75, \, 17)_2$.
+
+ $\rm RSC \ 2$&nbsp; corresponds to code&nbsp; $\rm RSC \, (155, \, 75, \, 17)_2$.
- $\rm RSC \ 2$&nbsp; entspricht dem Code&nbsp; $\rm RSC \, (124, \, 60, \, 17)_2$.
+
- $\rm RSC \ 2$&nbsp; corresponds to code&nbsp; $\rm RSC \, (124, \, 60, \, 17)_2$.
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Für die Codelänge der Reed&ndash;Solomon&ndash;Codes gilt allgemein.
+
'''(1)'''&nbsp; For the code length of Reed&ndash;Solomon codes, the following applies in general.
 
:$$n = q -1 = 2^m -1 \hspace{0.3cm}\Rightarrow  \hspace{0.3cm} m = 4 {\rm :}\hspace{0.2cm} n \hspace{0.15cm}\underline {= 15} \hspace{0.05cm},  
 
:$$n = q -1 = 2^m -1 \hspace{0.3cm}\Rightarrow  \hspace{0.3cm} m = 4 {\rm :}\hspace{0.2cm} n \hspace{0.15cm}\underline {= 15} \hspace{0.05cm},  
 
\hspace{0.4cm}m = 5 {\rm :}\hspace{0.2cm} n \hspace{0.15cm}\underline {= 31} \hspace{0.05cm},\hspace{0.4cm}  
 
\hspace{0.4cm}m = 5 {\rm :}\hspace{0.2cm} n \hspace{0.15cm}\underline {= 31} \hspace{0.05cm},\hspace{0.4cm}  
Line 77: Line 77:
  
  
'''(2)'''&nbsp; Um $t$ Symbolfehler korrigieren zu können, muss die minimale Distanz $d_{\rm min} = 2t + 1$ betragen.  
+
'''(2)'''&nbsp; To be able to correct $t$ symbol errors, the minimum distance must be $d_{\rm min} = 2t + 1$.  
*Der Reed&ndash;Solomon&ndash;Code ist ein sogenannter MDS&ndash;Code (<i>Maximum Distance Separable</i>).  
+
*The Reed&ndash;Solomon code is a so-called MDS code (<i>Maximum Distance Separable</i>).  
*Für diese gilt:
+
*For this applies:
 
:$$d_{\rm min} = n-k+1 = 2t+1 \hspace{0.3cm} \Rightarrow  \hspace{0.3cm}k = n -2t =  2^m - ( 2t+1) \hspace{0.05cm}. $$
 
:$$d_{\rm min} = n-k+1 = 2t+1 \hspace{0.3cm} \Rightarrow  \hspace{0.3cm}k = n -2t =  2^m - ( 2t+1) \hspace{0.05cm}. $$
  
*Damit erhält man für den
+
*This gives for the
 
:* $\rm RSC \ 1$ (mit $m = 4, \ t = 4) \text{:} \hspace{0.2cm} k = 2^4 - (2 \cdot 4 + 1) \ \underline{= 7}$,
 
:* $\rm RSC \ 1$ (mit $m = 4, \ t = 4) \text{:} \hspace{0.2cm} k = 2^4 - (2 \cdot 4 + 1) \ \underline{= 7}$,
 
:* $\rm RSC \ 2$ (mit $m = 5, \ t = 8) \text{:} \hspace{0.2cm} k = 2^5 - (2 \cdot 8 + 1) \ \underline{= 15}$.
 
:* $\rm RSC \ 2$ (mit $m = 5, \ t = 8) \text{:} \hspace{0.2cm} k = 2^5 - (2 \cdot 8 + 1) \ \underline{= 15}$.
Line 88: Line 88:
  
  
'''(3)'''&nbsp; Die Bezeichnung eines Reed&ndash;Solomon&ndash;Codes lautet ${\rm RSC} \, (n, \, k, \, d_{\rm min})_q$ mit $q = 2^m = n + 1$.  
+
'''(3)'''&nbsp; The denotation of a Reed&ndash;Solomon code is ${\rm RSC} \, (n, \, k, \, d_{\rm min})_q$ with $q = 2^m = n + 1$.  
  
Richtig sind die <u>Lösungsvorschläge 1 und 4</u>:
+
Correct are the <u>solutions 1 and 4</u>:
 
* $\rm RSC \ 1 \Rightarrow RSC \, (15, \, 7, \, 9)_{16}$,
 
* $\rm RSC \ 1 \Rightarrow RSC \, (15, \, 7, \, 9)_{16}$,
 
* $\rm RSC \ 2 \Rightarrow RSC \, (31, \, 15, \, 17)_{32}$.
 
* $\rm RSC \ 2 \Rightarrow RSC \, (31, \, 15, \, 17)_{32}$.
Line 96: Line 96:
  
  
'''(4)'''&nbsp; Bezeichnet $d_{\rm min}$ die minimale Distanz eines Blockcodes, so können damit $e = d_{\rm min} - 1$ Symbolfehler erkannt und $t = e/2$ Symbolfehler korrigiert werden:
+
'''(4)'''&nbsp; If $d_{\rm min}$ denotes the minimum distance of a block code, it can be used to detect $e = d_{\rm min} - 1$ symbol errors and correct $t = e/2$ symbol errors:
 
* ${\rm RSC} \ 1 \text{:} \hspace{0.2cm} d_{\rm min} = \ \ 9, \ t = 4, \ \underline{e = 8}$,
 
* ${\rm RSC} \ 1 \text{:} \hspace{0.2cm} d_{\rm min} = \ \ 9, \ t = 4, \ \underline{e = 8}$,
 
* ${\rm RSC} \ 2 \text{:} \hspace{0.2cm} d_{\rm min} = 17, \ t = 8, \ \underline{e = 16}$.
 
* ${\rm RSC} \ 2 \text{:} \hspace{0.2cm} d_{\rm min} = 17, \ t = 8, \ \underline{e = 16}$.
Line 102: Line 102:
  
  
'''(5)'''&nbsp; Richtig sind die beiden mittleren <u>Lösungsvorschläge 2 und 3</u>:  
+
'''(5)'''&nbsp; Correct are the two middle <u>solutions 2 and 3</u>:  
*Bei ${\rm RSC} \ 1 \, (m = 4)$ entsprechen $n = 15$ Codesymbolen aus $\rm GF(2^5)$ gleich $60$ Bit und $k = 7$ Informationssymbole genau $28$ Bit:
+
*For ${\rm RSC} \ 1 \, (m = 4)$, $n = 15$ code symbols from $\rm GF(2^5)$ equal $60$ bits and $k = 7$ information symbols equal exactly $28$ bits:
 
:* $\rm RSC \ 1 \Rightarrow RSC \, (15, \, 7, \, 9)_{16} \Rightarrow RSC \, (60, \, 28, \, 9)_2$,
 
:* $\rm RSC \ 1 \Rightarrow RSC \, (15, \, 7, \, 9)_{16} \Rightarrow RSC \, (60, \, 28, \, 9)_2$,
 
:* $\rm RSC \ 2 \Rightarrow RSC \, (31, \, 15, \, 17)_{32} \Rightarrow RSC \, (155, \, 75, \, 17)_2$.
 
:* $\rm RSC \ 2 \Rightarrow RSC \, (31, \, 15, \, 17)_{32} \Rightarrow RSC \, (155, \, 75, \, 17)_2$.
*Für die minimale Distanz auf Bitebene &nbsp; &rArr; &nbsp; $\rm GF(2)$ ergeben sich mit $d_{\rm min} = 9$ bzw. $d_{\rm min} = 17$ die gleichen Werte wie auf Symbolebene &nbsp; <br>&rArr; &nbsp; $\rm GF(2^4)$ bzw. $\rm GF(2^5)$ (siehe [[Channel_Coding/Definition_und_Eigenschaften_von_Reed%E2%80%93Solomon%E2%80%93Codes#Codebezeichnung_und_Coderate|Theorieteil]]).
+
*For the minimum distance on bit level &nbsp; &rArr; &nbsp; $\rm GF(2)$, $d_{\rm min} = 9$ resp. $d_{\rm min} = 17$ result in the same values as on symbol level &nbsp; <br>&rArr; &nbsp; $\rm GF(2^4)$ resp. $\rm GF(2^5)$ (see [[Channel_Coding/Definition_and_Properties_of_Reed-Solomon_Codes#Code_name_and_code_rate|"theory section"]]).
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  

Revision as of 18:49, 2 September 2022

Some Reed-Solomon codes

Adjacent is an incomplete list of possible Reed–Solomon codes known to be based on a Galois field  ${\rm GF}(q) = {\rm GF}(2^m)$ . The parameter  $m$  specifies with how many bits a RS code symbol is represented. It is valid:

  • $m = 4$  (red font),
  • $m = 5$  (blue font),
  • $m = 6$  (green font).


A Reed–Solomon code is generally denoted as follows:   ${\rm RSC}\ (n, \ k, \ d_{\rm min})_q$.


The parameters have the following meaning:

  • $n$  specifies the number of symbols of a codeword  $\underline{c}$    ⇒   length of the code,
  • $k$  specifies the number of symbols of an information block  $\underline{u}$    ⇒   dimension of the code,
  • $d_{\rm min}$  denotes the  minimum distance   between two codewords
    $($for all Reed–Solomon codes equal  $n-k+1)$,
  • $q$  gives an indication of the use of the Galois field  ${\rm GF}(q)$.


To the right is the binary representation of the same code:

  • In this realization of a RS code, each information and code symbol is represented by  $m$  bits.
  • For example, it can be seen from the first row that the minimum distance in terms of bits is also  $d_{\rm min} = 5$  if in  ${\rm GF}(2^m)$  the minimum distance is  $d_{\rm min} = 5$ .
  • This can correct up to  $t = 2$  bit errors (or symbol errors) and detect up to  $e = 4$  bit errors (or symbol errors).




Hints:



Solution

1

It is valid  $c_i ∈ {\rm GF}(2^m)$. Which RS code parameters  $n$  result?

$m = 4 \text{:} \hspace{0.4cm} n \ = \ $

$m = 5 \text{:} \hspace{0.4cm} n \ = \ $

$m = 6 \text{:} \hspace{0.4cm} n \ = \ $

2

Two specific RS codes  ${\rm RSC} \ 1 \ (m = 4, \ t = 4)$  and  ${\rm RSC} \ 2 \ (m = 5, \ t = 8)$  are considered below.
Which RS parameter  $k$  can be used to correct exactly  $t$  symbol errors?

${\rm RSC} \ 1 \text{:} \hspace{0.4cm} k \ = \ $

${\rm RSC} \ 2 \text{:} \hspace{0.4cm} k \ = \ $

3

Which designations are correct for  $\rm RSC \ 1$  and  $\rm RSC \ 2$  respectively?

$\rm RSC \ 1$  nennt man auch  $\rm RSC \, (15, \, 7, \, 9)_{16}$.
$\rm RSC \ 1$  nennt man auch  $\rm RSC \, (15, \, 7, \, 4)_4$.
$\rm RSC \ 2$  nennt man auch  $\rm RSC \, (31, \, 17, \, 15)_{32}$.
$\rm RSC \ 2$  nennt man auch  $\rm RSC \, (31, \, 15, \, 17)_{32}$.

4

How many symbol errors  $(e)$  can be detected at most?

${\rm RSC} \ 1 \text{:} \hspace{0.4cm} e \ = \ $

${\rm RSC} \ 2 \text{:} \hspace{0.4cm}e \ = \ $

5

What are the codes under consideration in binary notation?

$\rm RSC \ 1$  corresponds to code  $\rm RSC \, (60, \, 28, \, 36)_2$.
$\rm RSC \ 1$  corresponds to code  $\rm RSC \, (60, \, 28, \, 9)_2$.
$\rm RSC \ 2$  corresponds to code  $\rm RSC \, (155, \, 75, \, 17)_2$.
$\rm RSC \ 2$  corresponds to code  $\rm RSC \, (124, \, 60, \, 17)_2$.


Solution

(1)  For the code length of Reed–Solomon codes, the following applies in general.

$$n = q -1 = 2^m -1 \hspace{0.3cm}\Rightarrow \hspace{0.3cm} m = 4 {\rm :}\hspace{0.2cm} n \hspace{0.15cm}\underline {= 15} \hspace{0.05cm}, \hspace{0.4cm}m = 5 {\rm :}\hspace{0.2cm} n \hspace{0.15cm}\underline {= 31} \hspace{0.05cm},\hspace{0.4cm} m = 6 {\rm :}\hspace{0.2cm} n \hspace{0.15cm}\underline {= 63} \hspace{0.05cm}. $$


(2)  To be able to correct $t$ symbol errors, the minimum distance must be $d_{\rm min} = 2t + 1$.

  • The Reed–Solomon code is a so-called MDS code (Maximum Distance Separable).
  • For this applies:
$$d_{\rm min} = n-k+1 = 2t+1 \hspace{0.3cm} \Rightarrow \hspace{0.3cm}k = n -2t = 2^m - ( 2t+1) \hspace{0.05cm}. $$
  • This gives for the
  • $\rm RSC \ 1$ (mit $m = 4, \ t = 4) \text{:} \hspace{0.2cm} k = 2^4 - (2 \cdot 4 + 1) \ \underline{= 7}$,
  • $\rm RSC \ 2$ (mit $m = 5, \ t = 8) \text{:} \hspace{0.2cm} k = 2^5 - (2 \cdot 8 + 1) \ \underline{= 15}$.


(3)  The denotation of a Reed–Solomon code is ${\rm RSC} \, (n, \, k, \, d_{\rm min})_q$ with $q = 2^m = n + 1$.

Correct are the solutions 1 and 4:

  • $\rm RSC \ 1 \Rightarrow RSC \, (15, \, 7, \, 9)_{16}$,
  • $\rm RSC \ 2 \Rightarrow RSC \, (31, \, 15, \, 17)_{32}$.


(4)  If $d_{\rm min}$ denotes the minimum distance of a block code, it can be used to detect $e = d_{\rm min} - 1$ symbol errors and correct $t = e/2$ symbol errors:

  • ${\rm RSC} \ 1 \text{:} \hspace{0.2cm} d_{\rm min} = \ \ 9, \ t = 4, \ \underline{e = 8}$,
  • ${\rm RSC} \ 2 \text{:} \hspace{0.2cm} d_{\rm min} = 17, \ t = 8, \ \underline{e = 16}$.


(5)  Correct are the two middle solutions 2 and 3:

  • For ${\rm RSC} \ 1 \, (m = 4)$, $n = 15$ code symbols from $\rm GF(2^5)$ equal $60$ bits and $k = 7$ information symbols equal exactly $28$ bits:
  • $\rm RSC \ 1 \Rightarrow RSC \, (15, \, 7, \, 9)_{16} \Rightarrow RSC \, (60, \, 28, \, 9)_2$,
  • $\rm RSC \ 2 \Rightarrow RSC \, (31, \, 15, \, 17)_{32} \Rightarrow RSC \, (155, \, 75, \, 17)_2$.
  • For the minimum distance on bit level   ⇒   $\rm GF(2)$, $d_{\rm min} = 9$ resp. $d_{\rm min} = 17$ result in the same values as on symbol level  
    ⇒   $\rm GF(2^4)$ resp. $\rm GF(2^5)$ (see "theory section").