Aufgaben:Aufgabe 2.10Z: Coderate und minimale Distanz: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
 
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
{{quiz-Header|Buchseite=Kanalcodierung/Definition und Eigenschaften von Reed–Solomon–Codes}}
 
{{quiz-Header|Buchseite=Kanalcodierung/Definition und Eigenschaften von Reed–Solomon–Codes}}
  
[[Datei:P_ID2526__KC_Z_2_10.png|right|frame|Die Erfinder der Reed–Solomon–Codes]]
+
[[Datei:P_ID2526__KC_Z_2_10.png|right|frame|Die beiden Erfinder der Reed–Solomon–Codes]]
Die von [https://de.wikipedia.org/wiki/Irving_Stoy_Reed Irving Story Reed] und [https://de.wikipedia.org/wiki/Gustave_Solomon Gustav Solomon] Anfang der 1960er Jahre entwickelten Codes werden in diesem Tutorial wie folgt:
+
Die von  »[https://de.wikipedia.org/wiki/Irving_Stoy_Reed Irving Stoy Reed]«  und  »[https://de.wikipedia.org/wiki/Gustave_Solomon Gustave Solomon]«  Anfang der 1960er Jahre entwickelten Codes werden in diesem Tutorial wie folgt bezeichnet:  
<font size="4"><span style="color: rgb(204, 0, 0);">:$${\rm RSC} \, (n, \, k, \, d_{\rm min}) _q.\\$$</span></font> Die Codeparameter haben folgende Bedeutungen:
+
:$${\rm RSC} \, (n, \, k, \, d_{\rm min}) _q.$$
* $q = 2^m$ ist ein Hinweis auf die Größe des Galoisfeldes &nbsp;&#8658;&nbsp; ${\rm GF}(q)$,
 
* $n = q - 1$ ist die Codelänge (Symbolanzahl eines Codewortes),
 
* $k$ gibt die Dimension an (Symbolanzahl eines Informationsblocks),
 
* $d_{\rm min}$ bezeichnet die minimale Distanz zwischen zwei Codeworten. Bei RS&ndash;Codes erreicht $d_{\rm min} = n - k + 1$ seinen größten Wert.
 
  
 +
Die Codeparameter haben folgende Bedeutungen:
 +
* $q = 2^m$&nbsp; ist ein Hinweis auf die&nbsp; <u>Größe des Galoisfeldes</u> &nbsp; &#8658; &nbsp; ${\rm GF}(q)$,
 +
 +
* $n = q - 1$&nbsp; ist die&nbsp; <u>Codelänge</u>&nbsp; $($Symbolanzahl eines Codewortes$)$,
 +
 +
* $k$&nbsp; gibt die&nbsp; <u>Dimension</u>&nbsp; an&nbsp; $($Symbolanzahl eines Informationsblocks$)$,
 +
 +
* $d_{\rm min}$&nbsp; bezeichnet die&nbsp; <u>minimale Distanz</u>&nbsp; zwischen zwei Codeworten.&nbsp;
 +
 +
*Für jeden Reed–Solomon–Codes gilt&nbsp;
 +
:$$d_{\rm min} = n - k + 1.$$
 +
'''Mit keinem anderen Code mit gleichem&nbsp; $k$&nbsp; und&nbsp;  $n$&nbsp; ergibt sich ein größerer Wert'''.
 +
 +
 +
 +
 +
 +
Hinweise:
 +
* Die Aufgabe gehört zum Kapitel&nbsp; [[Kanalcodierung/Definition_und_Eigenschaften_von_Reed%E2%80%93Solomon%E2%80%93Codes| "Definition und Eigenschaften von Reed&ndash;Solomon&ndash;Codes"]].
 +
 +
* Die für diese Aufgabe relevanten Informationen finden Sie auf der Seite&nbsp; [[Kanalcodierung/Definition_und_Eigenschaften_von_Reed%E2%80%93Solomon%E2%80%93Codes#Codebezeichnung_und_Coderate|"Codebezeichnung und Coderate"]].
  
''Hinweise:''
 
* Die Aufgabe gehört zum Kapitel [[Kanalcodierung/Definition_und_Eigenschaften_von_Reed%E2%80%93Solomon%E2%80%93Codes| Definition und Eigenschaften von Reed&ndash;Solomon&ndash;Codes]].
 
* Die für diese Aufgabe relevanten Informationen finden Sie am Ende des Theorieteils, nämlich auf der Seite [[Kanalcodierung/Definition_und_Eigenschaften_von_Reed%E2%80%93Solomon%E2%80%93Codes#Codebezeichnung_und_Coderate|Codebezeichnung und Coderate]].
 
* Sollte die Eingabe des Zahlenwertes &bdquo;0&rdquo; erforderlich sein, so geben Sie bitte &bdquo;0.&rdquo; ein.
 
  
  
Zeile 20: Zeile 33:
 
===Fragebogen===
 
===Fragebogen===
 
<quiz display=simple>
 
<quiz display=simple>
{Geben Sie die Kenngrößen des ${\rm RSC} \, (255, \, 223, \, d_{\rm min})_q$ an.
+
{Geben Sie die Kenngrößen des&nbsp; ${\rm RSC} \, (255, \, 223, \, d_{\rm min})_q$&nbsp; an.
 
|type="{}"}
 
|type="{}"}
$q \ = \ ${ 256 3% }
+
$q \hspace{0.2cm} = \ ${ 256 }
$R \ = \ ${ 0.8745 3% }
+
$e \hspace{0.2cm}  = \ ${ 32 }
$e \ = \ ${ 32 3% }
+
$t \hspace{0.2cm}  = \ ${ 16 }
$t \ = \ ${ 16 3% }
+
$R \hspace{0.2cm}  = \ ${ 0.8745 3% }
 +
$d_{\rm min} \ = \ ${ 33 }
  
{Geben Sie die Kenngrößen des $\rm RSC \, (2040, \, 1784, \, d_{\rm min})_2$ an.
+
{Geben Sie die Kenngrößen des&nbsp; $\rm RSC \, (2040, \, 1784, \, d_{\rm min})_2$&nbsp; an.
 
|type="{}"}
 
|type="{}"}
$R \ = \ ${ 0.8745 3% }
+
$R \hspace{0.2cm} = \ ${ 0.8745 3% }
$d_{\rm min} \ = \ ${ 33 3% }
+
$d_{\rm min} \ = \ ${ 33 }
  
{Wieviele Bitfehler darf ein Empfangswort $\underline{y}$ maximal aufweisen, damit es mit Sicherheit decodiert wird?
+
{Wieviele Bitfehler&nbsp; $(N_3)$&nbsp; darf ein Empfangswort&nbsp; $\underline{y}$&nbsp; maximal aufweisen,&nbsp; damit es&nbsp; <u>mit Sicherheit richtig decodiert wird</u>?
 
|type="{}"}
 
|type="{}"}
$\underline{y} \ {\rm sicher \ decodierbar} \text{:} \hspace{0.2cm} N_{\rm Bitfehler} \ = \ ${ 16 3% }
+
$N_{3} \ = \ $ { 16 }
  
{Wieviele Bitfehler darf ein Empfangswort $\underline{y}$ im günstigsten Fall aufweisen, damit es noch richtig decodiert werden könnte?
+
{Wieviele Bitfehler&nbsp; $(N_4)$&nbsp; darf ein Empfangswort&nbsp; $\underline{y}$&nbsp; <u>im günstigsten Fall</u>&nbsp; aufweisen,&nbsp; damit es noch&nbsp; <u>richtig decodiert werden könnte</u>?
 
|type="{}"}
 
|type="{}"}
$\underline{y} \ {\rm evtl. \ decodierbar} \text{:} \hspace{0.2cm} N_{\rm Bitfehler} \ = \ ${ 128 3% }
+
$N_{4} \ = \ $ { 128 }
 
</quiz>
 
</quiz>
  
 
===Musterlösung===
 
===Musterlösung===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Aus der Codelänge $n = 255$ folgt $q \ \underline{= 256}$. Die Coderate ergibt sich zu
+
'''(1)'''&nbsp; Aus der Codelänge&nbsp; $n = 255$&nbsp; folgt&nbsp; $q \ \underline{= 256}$.  
:$$R = \frac{223}{255}
+
 
\hspace{0.15cm}\underline {=0.8745}\hspace{0.05cm}$$
+
*Die Coderate ergibt sich zu&nbsp; $R = {223}/{255} \hspace{0.15cm}\underline {=0.8745}\hspace{0.05cm}.$
 +
 
 +
*Die minimale Distanz beträgt&nbsp; $d_{\rm min} = n - k +1 = 255 - 223 +1
 +
\hspace{0.15cm}\underline {=33}\hspace{0.05cm}.$
 +
 
 +
*Damit können
 +
:* $e = d_{\rm min} - 1 \ \underline{= 32}$&nbsp; Symbolfehler erkannt werden,&nbsp; und
 +
 +
:* $t = e/2$&nbsp; $($abgerundet$)$,&nbsp; also&nbsp; $\underline{t = 16}$&nbsp; Symbolfehler korrigiert werden.
 +
 
 +
 
  
Die minimale Distanz beträgt
+
'''(2)'''&nbsp; Der Code&nbsp; $\rm RSC \, (2040, \, 1784, \, d_{\rm min})_2$&nbsp; ist die Binärrepräsentation des unter (1) behandelten &nbsp; ${\rm RSC} \, (255, \, 223, \, d_{\rm min})_{256}$&nbsp;
:$$d_{\rm min} = n - k +1 = 255 - 223 +1
+
*Dieser hat genau die gleiche Coderate&nbsp; $R \ \underline{= 0.8745}$ und ebenfalls gleiche Minimaldistanz&nbsp; $d_{\rm min} \ \underline{= 33}$.
  \hspace{0.15cm}\underline {=33}\hspace{0.05cm}.$$
 
  
Damit können
+
*Hier werden pro Codesymbol&nbsp; $8$&nbsp; Bit &nbsp; &rArr; &nbsp;  $1$&nbsp;  Byte verwendet.
* $e = d_{\rm min} - 1 \ \underline{= 32}$ Symbolfehler erkannt werden,
 
* $t = e/2$ (abgerundet), also $\underline{t = 16}$ Symbolfehler korrigiert werden.
 
  
  
'''(2)'''&nbsp; Dieser Code ist die Binärrepräsentation des unter (1) behandelten ${\rm RSC} \, (255, \, 223, \, 33)_{256}$ mit genau der gleichen Coderate $R \ \underline{= 0.8745}$ und ebenfalls gleicher Minimaldistanz $d_{\rm min} \ \underline{= 33}$ wie dieser. Hier werden pro Codesymbol $8 \ \rm Bit \ (1 \ Byte)$ verwendet.
 
  
 +
'''(3)'''&nbsp; Aus&nbsp; $d_{\rm min} = 33$&nbsp; folgt wieder&nbsp; $t = 16 \ \Rightarrow \ N_{3} \ \underline{= 16}$.
 +
*Ist in jedem Codesymbol genau ein Bit verfälscht,&nbsp; so bedeutet dies gleichzeitig auch&nbsp; $16$&nbsp; Symbolfehler.
 +
 +
*Dies ist der maximale Wert,&nbsp; den der Reed&ndash;Solomon&ndash;Decoder noch verkraften kann.
  
'''(3)'''&nbsp; Aus $d_{\rm min} = 33$ folgt wieder $t = 16 \ \Rightarrow \ N_{\rm Bitfehler} \ \underline{= 16}$. Ist in jedem Codesymbol genau ein Bit verfälscht, so bedeutet dies gleichzeitig auch 16 Symbolfehler. Dies ist der maximale Wert, den der Reed&ndash;Solomon&ndash;Decoder noch verkraften kann.
 
  
  
'''(4)'''&nbsp; Der RS&ndash;Decoder kann 16 verfälschte Codesymbole korrigieren, wobei es egal ist, ob in einem Codesymbol nur ein Bit oder alle $m = 8 \ \rm Bit$ verfälscht wurden. Deshalb können bei der günstigsten Fehlerverteilung bis zu $8 \cdot 16 \ \underline{= 128 \ \rm Bit}$ verfälscht sein, ohne dass das Codewort falsch decodiert wird.
+
'''(4)'''&nbsp; Der RS&ndash;Decoder kann&nbsp; $16$&nbsp; verfälschte Codesymbole korrigieren.
 +
*Dabei ist es egal,&nbsp; ob in einem Codesymbol nur ein Bit oder alle&nbsp; $m = 8$&nbsp; Bit verfälscht wurden.  
 +
*Deshalb können bei der günstigsten Fehlerverteilung bis zu&nbsp; $N_4 = 8 \cdot 16 \ \underline{= 128}$&nbsp; Bit verfälscht sein,&nbsp; ohne dass das Codewort falsch decodiert wird.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  

Aktuelle Version vom 12. Oktober 2022, 13:08 Uhr

Die beiden Erfinder der Reed–Solomon–Codes

Die von  »Irving Stoy Reed«  und  »Gustave Solomon«  Anfang der 1960er Jahre entwickelten Codes werden in diesem Tutorial wie folgt bezeichnet:

$${\rm RSC} \, (n, \, k, \, d_{\rm min}) _q.$$

Die Codeparameter haben folgende Bedeutungen:

  • $q = 2^m$  ist ein Hinweis auf die  Größe des Galoisfeldes   ⇒   ${\rm GF}(q)$,
  • $n = q - 1$  ist die  Codelänge  $($Symbolanzahl eines Codewortes$)$,
  • $k$  gibt die  Dimension  an  $($Symbolanzahl eines Informationsblocks$)$,
  • $d_{\rm min}$  bezeichnet die  minimale Distanz  zwischen zwei Codeworten. 
  • Für jeden Reed–Solomon–Codes gilt 
$$d_{\rm min} = n - k + 1.$$

Mit keinem anderen Code mit gleichem  $k$  und  $n$  ergibt sich ein größerer Wert.



Hinweise:



Fragebogen

1

Geben Sie die Kenngrößen des  ${\rm RSC} \, (255, \, 223, \, d_{\rm min})_q$  an.

$q \hspace{0.2cm} = \ $

$e \hspace{0.2cm} = \ $

$t \hspace{0.2cm} = \ $

$R \hspace{0.2cm} = \ $

$d_{\rm min} \ = \ $

2

Geben Sie die Kenngrößen des  $\rm RSC \, (2040, \, 1784, \, d_{\rm min})_2$  an.

$R \hspace{0.2cm} = \ $

$d_{\rm min} \ = \ $

3

Wieviele Bitfehler  $(N_3)$  darf ein Empfangswort  $\underline{y}$  maximal aufweisen,  damit es  mit Sicherheit richtig decodiert wird?

$N_{3} \ = \ $

4

Wieviele Bitfehler  $(N_4)$  darf ein Empfangswort  $\underline{y}$  im günstigsten Fall  aufweisen,  damit es noch  richtig decodiert werden könnte?

$N_{4} \ = \ $


Musterlösung

(1)  Aus der Codelänge  $n = 255$  folgt  $q \ \underline{= 256}$.

  • Die Coderate ergibt sich zu  $R = {223}/{255} \hspace{0.15cm}\underline {=0.8745}\hspace{0.05cm}.$
  • Die minimale Distanz beträgt  $d_{\rm min} = n - k +1 = 255 - 223 +1 \hspace{0.15cm}\underline {=33}\hspace{0.05cm}.$
  • Damit können
  • $e = d_{\rm min} - 1 \ \underline{= 32}$  Symbolfehler erkannt werden,  und
  • $t = e/2$  $($abgerundet$)$,  also  $\underline{t = 16}$  Symbolfehler korrigiert werden.


(2)  Der Code  $\rm RSC \, (2040, \, 1784, \, d_{\rm min})_2$  ist die Binärrepräsentation des unter (1) behandelten   ${\rm RSC} \, (255, \, 223, \, d_{\rm min})_{256}$ 

  • Dieser hat genau die gleiche Coderate  $R \ \underline{= 0.8745}$ und ebenfalls gleiche Minimaldistanz  $d_{\rm min} \ \underline{= 33}$.
  • Hier werden pro Codesymbol  $8$  Bit   ⇒   $1$  Byte verwendet.


(3)  Aus  $d_{\rm min} = 33$  folgt wieder  $t = 16 \ \Rightarrow \ N_{3} \ \underline{= 16}$.

  • Ist in jedem Codesymbol genau ein Bit verfälscht,  so bedeutet dies gleichzeitig auch  $16$  Symbolfehler.
  • Dies ist der maximale Wert,  den der Reed–Solomon–Decoder noch verkraften kann.


(4)  Der RS–Decoder kann  $16$  verfälschte Codesymbole korrigieren.

  • Dabei ist es egal,  ob in einem Codesymbol nur ein Bit oder alle  $m = 8$  Bit verfälscht wurden.
  • Deshalb können bei der günstigsten Fehlerverteilung bis zu  $N_4 = 8 \cdot 16 \ \underline{= 128}$  Bit verfälscht sein,  ohne dass das Codewort falsch decodiert wird.