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

Aus LNTwww
Wechseln zu:Navigation, Suche
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:
  
 
[[Datei:P_ID2526__KC_Z_2_10.png|right|frame|Die beiden 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 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:  
+
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:  
 
:$${\rm RSC} \, (n, \, k, \, d_{\rm min}) _q.$$   
 
:$${\rm RSC} \, (n, \, k, \, d_{\rm min}) _q.$$   
  
 
Die Codeparameter haben folgende Bedeutungen:
 
Die Codeparameter haben folgende Bedeutungen:
* $q = 2^m$  ist ein Hinweis auf die Größe des Galoisfeldes   ⇒   ${\rm GF}(q)$,
+
* $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 Codelänge (Symbolanzahl eines Codewortes),
 
* $k$&nbsp; gibt die Dimension an (Symbolanzahl eines Informationsblocks),
 
* $d_{\rm min}$&nbsp; bezeichnet die minimale Distanz zwischen zwei Codeworten. 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.
 
  
 +
* $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'''.
  
  
Zeile 19: Zeile 22:
  
  
 +
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"]].
  
''Hinweise:''
+
* 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"]].
* 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]].
 
  
  
Zeile 43: Zeile 46:
 
$d_{\rm min} \ = \ ${ 33 }
 
$d_{\rm min} \ = \ ${ 33 }
  
{Wieviele Bitfehler&nbsp; $(N_3)$&nbsp; darf ein Empfangswort&nbsp; $\underline{y}$&nbsp; maximal aufweisen, damit es <u>mit Sicherheit richtig decodiert wird</u>?
+
{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="{}"}
 
$N_{3} \ = \ $ { 16 }
 
$N_{3} \ = \ $ { 16 }
  
{Wieviele Bitfehler&nbsp; $(N_4)$&nbsp; darf ein Empfangswort&nbsp; $\underline{y}$&nbsp; im günstigsten Fall aufweisen, damit es noch <u>richtig decodiert werden könnte</u>?
+
{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="{}"}
 
$N_{4} \ = \ $ { 128 }
 
$N_{4} \ = \ $ { 128 }
Zeile 54: Zeile 57:
 
===Musterlösung===
 
===Musterlösung===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Aus der Codelänge $n = 255$ folgt $q \ \underline{= 256}$.  
+
'''(1)'''&nbsp; Aus der Codelänge&nbsp; $n = 255$&nbsp; folgt&nbsp; $q \ \underline{= 256}$.  
  
Die Coderate ergibt sich zu $R = {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 $d_{\rm min} = n - k +1 = 255 - 223 +1  
+
*Die minimale Distanz beträgt&nbsp; $d_{\rm min} = n - k +1 = 255 - 223 +1  
 
  \hspace{0.15cm}\underline {=33}\hspace{0.05cm}.$
 
  \hspace{0.15cm}\underline {=33}\hspace{0.05cm}.$
  
Damit können
+
*Damit können
* $e = d_{\rm min} - 1 \ \underline{= 32}$ Symbolfehler erkannt werden, und  
+
:* $e = d_{\rm min} - 1 \ \underline{= 32}$&nbsp; Symbolfehler erkannt werden,&nbsp; und
* $t = e/2$ (abgerundet), also $\underline{t = 16}$ Symbolfehler korrigiert werden.
+
 +
:* $t = e/2$&nbsp; $($abgerundet$)$,&nbsp; also&nbsp; $\underline{t = 16}$&nbsp; Symbolfehler korrigiert werden.
  
  
'''(2)'''&nbsp; Der Code $\rm RSC \, (2040, \, 1784, \, d_{\rm min})_2$ 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$ Bit  (1  Byte) verwendet.
 
  
 +
'''(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;
 +
*Dieser hat genau die gleiche Coderate&nbsp;  $R \ \underline{= 0.8745}$ und ebenfalls gleiche Minimaldistanz&nbsp; $d_{\rm min} \ \underline{= 33}$.
  
'''(3)'''&nbsp; Aus $d_{\rm min} = 33$ folgt wieder $t = 16 \ \Rightarrow \ N_{3} \ \underline{= 16}$.
+
*Hier werden pro Codesymbol&nbsp; $8$&nbsp; Bit &nbsp; &rArr; &nbsp;  $1$&nbsp; Byte verwendet.
*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$ 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.
+
 
 +
'''(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.
 +
 
 +
 
 +
 
 +
'''(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, 12: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.