Aufgabe 2.07: Reed–Solomon–Code (7, 3, 5) zur Basis 8

Aus LNTwww
Wechseln zu:Navigation, Suche

GF(23)–Darstellung als Potenzen, Polynome, Vektoren

Der hier betrachtete Reed–Solomon–Code mit der Bezeichnung  RSC(7,3,5)8

  • codiert einen Informationsblock  u_=(u0,u1,u2)  von  k=3  Symbolen,  wobei  u0,u1,u2GF(23)  keine Bits,  sondern Symbole darstellen;
  • erzeugt ein Codewort  c_=(c0,c1,...,c6)  der Länge  n=7  mit Codesymbolen  ci  ebenfalls aus dem Galoisfeld  GF(23),
  • besitzt die freie Distanz  dmin=nk+1=5,  so dass bis zu   e=4   Symbolfehler erkannt und bis zu   t=2   Symbolfehler korrigiert werden können.


Die Elemente des zugrunde liegenden Galoisfeldes lauten:

GF(23)={0,1,α,α2,α3,α4,α5,α6}.
  1. Diese Elemente lassen sich entsprechend der Grafik auch als Polynome oder als Koeffizientenvektoren darstellen.
  2. Man erkennt aus obiger Tabelle,  dass alle  uiGF(23)  und alle  ciGF(23)  auch durch  m=3 Bit  charakterisiert werden können,  zum Beispiel  α4  durch  „110”.


Sie sollen in dieser Aufgabe für die binäre Eingangsfolge

110001011000000000111...

den Codiervorgang nachvollziehen.  Beachten Sie dabei:

  • Der Reed–Solomon–Coder arbeitet blockweise.  Im ersten Codierschritt werden aus den drei ersten Informationssymbolen die Codesymbole  c0,...,c6  erzeugt,  im zweiten Schritt dann aus dem Informationsblock  u_=(u3,u4,u5)  die Symbole  (c7,...,c13)  des zweiten Codewortes, usw.
  • Man beschreibt den Informationsblock  u_  durch das Polynom   u(x)=u0+u1x+u2x2   vom Grad  2.  Allgemein ergibt sich für das Galoisfeld  GF(2m)  der Grad des Polynoms zu  m1.
  • Die Codesymbole  c0,...,c6  erhält man,  indem in das Polynom  u(x)  alle Elemente  x  von  GF(23)  mit Ausnahme des Nullelementes eingesetzt werden:
GF(23){0}={α0,α1,α2,α3,α4,α5,α6}.
  • Formal lässt sich der  RSC(7,3,5)8  wie folgt beschreiben:
CRS={c_=(u(α0),u(α1),u(α2))|u(x)=2i=0uixi,uiGF(23)}.



Hinweise:

  • Die  "Aufgabe 2.8"  ist ähnlich strukturiert wie diese,  aber zur Generierung eines Codewortes  c_  wird dann die Generatormatrix  G  herangezogen.



Fragebogen

1

Wie lautet der binäre Informationsblock im ersten Codierschritt?

u_bin=(110),
u_bin=(110|001|011),
u_bin=(110|001|0).

2

Wie lauten die Informationssymbole im ersten Codierschritt?

u0=α4,
u0=0,
u1=α6,
u1=α0,
u2=α3,
u2=α2.

3

Wie lautet der Informationsblock als Polynom  u(x)?

u(x)=α3x+x2+α4x3,
u(x)=α3+x+α4x2,
u(x)=α4+x+α3x2.

4

Wie lauten die Codesymbole  c0,..., c6  für den ersten Codierschritt.

c0=α2,
c1=α3,
c2=α3,
c3=1,
c4=α2,
c5=α4,
c6=1.

5

Wie lautet das binäre Codewort?

c_bin=100|011|011|001|110|100|001,
c_bin=011|011|001|110|100|001|100,
c_bin=100|111|0.

6

Welche Aussagen gelten für den zweiten Codierschritt?

Es gilt  u0=u1=u2=0.
Es gilt  u(x)=1.
Das Codewort  c_GF(23)  besteht aus sieben Nullsymbolen.
Das binäre Codewort   c_binGF(2)  besteht aus 21 Nullen.


Musterlösung

(1)  Richtig ist der  Lösungsvorschlag 2:

  • Alle Informationssymbole entstammen hier dem Galoisfeld  GF(23).  In Binärschreibweise wird jedes Symbol durch drei Bit dargestellt.
  • Aufgrund des RS–Codeparameters  k=3  besteht ein Informationsblock aus drei Informationssymbolen:  u_=(u0,u1,u2).
  • Dementsprechend beinhaltet der binäre Informationsblock  u_bin  genau  33=9  Bit.


(2)  Entsprechend der Tabelle auf der Angabenseite besteht folgender Zusammenhang zwischen dem Koeffizientenvektor und der Exponentialdarstellung:

(110)u0=α4,(001)u1=α0=1,(011)u2=α3.
  • Richtig sind also die  Lösungsvorschläge 1, 4 und 5.
  • Der Informationsblock im ersten Codierschritt lautet:  u_=(α4,1,α3).


(3)  In Polynomdarstellung ergibt sich für den Informationsblock  u_=(α4,1,α3):

u(x)=u0+u1x+u2x2=α4+x+α3x2.
  • Richtig ist demnach der  Lösungsvorschlag 3.
  • Der erste Lösungsvorschlag kann schon allein deshalb nicht stimmen,  da der Polynomgrad höchstens  2  sein kann,  wenn alle Informations– und Codesymbole aus  GF(23)  entstammen.


(4)  Für die Codesymbole erhält man mit der Polynomdarstellung entsprechend der Angabenseite:

c0 = u(x=α0=1)=α4+1+α312=(110)+(001)+(011)=(100)=α2,
c1 = u(x=α1)=α4+α+α5=(110)+(010)+(111)=(011)=α3,
c2 = u(x=α2)=α4+α2+α7=(110)+(100)+(001)=(011)=α3,
c3 = u(x=α3)=α4+α3+α9=(110)+(011)+(100)=(001)=1,
c4 = u(x=α4)=α4+α4+α11=α4,
c5 = u(x=α5)=α4+α5+α13=(110)+(111)+(101)=(100)=α2,
c6 = u(x=α6)=α4+α6+α15=(α2+α)+(α2+1)+α=1.
  • Richtig sind also die  Lösungsvorschläge 1, 2, 3, 4, 7.
  • Die angegebenen Lösungen zu 5 und 6 sind genau vertauscht.


(5)  Richtig ist der  erste Lösungsvorschlag:

  • Es ergibt sich aus dem Ergebnis der Teilaufgabe  (4)  und der Zuordnung
α2100, α3011, α3011, 1001, α4110, α2100, 1001.
  • Der letzte Lösungsvorschlag kann schon allein deshalb nicht stimmen,  da das binäre Codewort aus  nm=73=21  Bit bestehen muss.
  • Selbst wenn Sie in der Teilaufgabe  (4)  nur das Ergebnis  c0=α2  ermittelt haben,  so wissen Sie schon,  dass hier der Vorschlag 2 nicht der richtige sein kann.


(6)  Die  Aussagen 1, 3, 4  sind richtig:

  • Die Bit 10, ... , 18 der Eingangssequenz sind alle  0  und damit auch die Informationssymbole  u0, u1, u2GF(23).
  • Dementsprechend ist auch  u(x)=0,  so dass alle Codesymbole  ci=u(x=αi)  dem Nullsymbol entsprechen  (Index: 0i6).
  • Die binäre Codefolge besteht somit aus  nm=21  Nullen.