Difference between revisions of "Channel Coding/Reed-Solomon Decoding for the Erasure Channel"

From LNTwww
Line 6: Line 6:
 
}}
 
}}
  
== Blockschaltbild und Voraussetzungen zu Kapitel 2.4 ==
+
== Blockschaltbild und Voraussetzungen ==
 
<br>
 
<br>
Im [http://en.lntwww.de/Kanalcodierung/Decodierung_linearer_Blockcodes#Decodierung_beim_Binary_Erasure_Channel_.281.29 Kapitel 1.5] wurde für die binären Blockcodes gezeigt, welche Berechnungen der Decoder ausführen muss, um aus einem unvollständigen Empfangswort <u><i>y</i></u> das gesendete Codewort <u><i>x</i></u> bestmöglich decodieren zu können. Zugrunde gelegt war dabei das [http://en.lntwww.de/Kanalcodierung/Klassifizierung_von_Signalen#Binary_Erasure_Channel_.E2.80.93_BEC BEC&ndash;Kanalmodell] (<i>Binary Erasure Channel</i>), das ein unsicheres Bit als <i>Erasure</i> E (&bdquo;Auslöschung&rdquo;) markiert.<br>
+
Im Kapitel [[Kanalcodierung/Decodierung_linearer_Blockcodes#Decodierung_beim_Binary_Erasure_Channel|Decodierung beim Binary Erasure Channel]] wurde für die binären Blockcodes gezeigt, welche Berechnungen der Decoder ausführen muss, um aus einem unvollständigen Empfangswort $\underline{y}$ das gesendete Codewort $\underline{x}$ bestmöglich decodieren zu können. Zugrunde gelegt war dabei das [[Kanalcodierung/Klassifizierung_von_Signalen#Binary_Erasure_Channel_.E2.80.93_BEC| BEC&ndash;Kanalmodell]] (<i>Binary Erasure Channel</i>), das ein unsicheres Bit als <i>Erasure</i> $\rm E$ (&bdquo;Auslöschung&rdquo;) markiert.<br>
  
Im Gegensatz zu [http://en.lntwww.de/Kanalcodierung/Klassifizierung_von_Signalen#Binary_Symmetric_Channel_.E2.80.93_BSC BSC] (<i>Binary Symmetric Channel</i>) und [http://en.lntwww.de/Kanalcodierung/Klassifizierung_von_Signalen#AWGN.E2.80.93Kanal_bei_bin.C3.A4rem_Eingang AWGN] (<i>Additive White Gaussian Noise</i>) wurden hier Bitfehler (<i>y<sub>i</sub></i> &ne; <i>x<sub>i</sub></i>) ausgeschlossen. Jedes  Bit eines Empfangswortes stimmt also mit dem entsprechenden Bit des Codewortes überein (<i>y<sub>i</sub></i> = <i>x<sub>i</sub></i>) oder ist bereits als Auslöschung markiert (<i>y<sub>i</sub></i>&nbsp;=&nbsp;E).<br>
+
Im Gegensatz zu [[Kanalcodierung/Klassifizierung_von_Signalen#Binary_Symmetric_Channel_.E2.80.93_BSC| BSC]] (<i>Binary Symmetric Channel</i>) und [[Kanalcodierung/Klassifizierung_von_Signalen#AWGN.E2.80.93Kanal_bei_bin.C3.A4rem_Eingang| AWGN]] (<i>Additive White Gaussian Noise</i>) wurden hier Bitfehler $(y_i &ne; x_i)$ ausgeschlossen. Jedes  Bit eines Empfangswortes  
 +
*stimmt also mit dem entsprechenden Bit des Codewortes überein $(y_i = x_i)$, oder  
 +
*ist bereits als Auslöschung markiert $(y_i = \rm E)$.<br>
  
[[File:P ID2544 KC T 2 4 S1 v2.png|Übertragungssystem mit Reed–Solomon–Codierung/Decodierung und Auslöschungskanal|class=fit]]<br>
+
[[File:P ID2544 KC T 2 4 S1 v2.png|center|frame|Übertragungssystem mit Reed–Solomon–Codierung/Decodierung und Auslöschungskanal|class=fit]]
  
Die Grafik zeigt das Blockschaltbild, das sich von dem Modell in Kapitel 1.5 geringfügig unterscheidet:
+
Die Grafik zeigt das Blockschaltbild, das sich von dem Modell im Kapitel [[Kanalcodierung/Decodierung_linearer_Blockcodes#Blockschaltbild_und_Voraussetzungen|Decodierung linearer Blockcodes]] geringfügig unterscheidet:
*Da Reed&ndash;Solomon&ndash;Codes lineare Blockcodes sind, stehen Informationswort <u><i>u</i></u> und Codewort <u><i>c</i></u> über die Generatormatrix <b>G</b> und die folgende Gleichung in Zusammenhang:
+
*Da Reed&ndash;Solomon&ndash;Codes lineare Blockcodes sind, stehen Informationswort $\underline{u}$ und Codewort $\underline{c}$ über die Generatormatrix $\boldsymbol{\rm G}$ und die folgende Gleichung in Zusammenhang:
  
 
::<math>\underline {c} = {\rm enc}(\underline {u}) = \underline {u} \cdot { \boldsymbol{\rm G}}
 
::<math>\underline {c} = {\rm enc}(\underline {u}) = \underline {u} \cdot { \boldsymbol{\rm G}}
Line 22: Line 24:
 
\hspace{0.05cm}.</math>
 
\hspace{0.05cm}.</math>
  
*Für die einzelnen Symbole von Informations&ndash; und Codewort gilt bei Reed&ndash;Solomon&ndash;Codierung:
+
*Für die einzelnen Symbole von Informationsblock und Codewort gilt bei Reed&ndash;Solomon&ndash;Codierung:
  
 
::<math>u_i \in {\rm GF}(q)\hspace{0.05cm},\hspace{0.2cm}c_i \in {\rm GF}(q)\hspace{0.3cm}{\rm mit}\hspace{0.3cm} q = n+1 = 2^m
 
::<math>u_i \in {\rm GF}(q)\hspace{0.05cm},\hspace{0.2cm}c_i \in {\rm GF}(q)\hspace{0.3cm}{\rm mit}\hspace{0.3cm} q = n+1 = 2^m
 
\hspace{0.3cm} \Rightarrow  \hspace{0.3cm} n = 2^m - 1\hspace{0.05cm}. </math>
 
\hspace{0.3cm} \Rightarrow  \hspace{0.3cm} n = 2^m - 1\hspace{0.05cm}. </math>
  
:Jedes Codesymbol <i>c<sub>i</sub></i> wird somit mit <i>m</i> &#8805; 2 Binärsymbolen (Bit) dargestellt. Zum Vergleich: Für die binären Blockcodes gilt <i>q</i> = 2, <i>m</i> = 1 und die Codewortlänge <i>n</i> ist frei wählbar.<br>
+
*Jedes Codesymbol $c_i$ wird somit mit $m &#8805; 2$ Binärsymbolen (Bit) dargestellt. Zum Vergleich: Für die binären Blockcodes gilt $q=2$, $m=1$ und die Codewortlänge $n$ ist frei wählbar.<br>
  
*Bei Codierung auf Symbolebene muss das BEC&ndash;Modell zum <i>m</i>&ndash;BEC&ndash;Modell erweitert werden. Mit der Wahrscheinlichkeit <i>&lambda;<sub>m</sub></i> &asymp; <i>m</i> &middot; <i>&lambda;</i> wird ein Codesymbol <i>c<sub>i</sub></i> ausgelöscht (<i>y<sub>i</sub></i> = E) und es gilt Pr(<i>y<sub>i</sub></i> = <i>c<sub>i</sub></i>) = 1 &ndash; <i>&lambda;<sub>m</sub></i>. Näheres zur Umrechnung der beiden Modelle finden Sie in Aufgabe Z2.11.<br><br>
+
*Bei Codierung auf Symbolebene muss das BEC&ndash;Modell zum $m$&ndash;BEC&ndash;Modell erweitert werden. Mit der Wahrscheinlichkeit $\lambda_m  &asymp; m \cdot\lambda$ wird ein Codesymbol $c_i$ ausgelöscht $(y_i = \rm E)$ und es gilt ${\rm Pr}(y_i = c_i) = 1 - \lambda_m$. Näheres zur Umrechnung der beiden Modelle finden Sie in der [[Aufgabe 2.11Z]].<br>
  
Im Folgenden beschäftigen wir uns ausschließlich mit dem Block  <i>Codewortfinder</i> (CWF), der aus dem Empfangsvektor <u><i>y</i></u> den Vektor <u><i>z</i></u> &#8712; <i>C</i><sub>RS</sub> gewinnt:
 
*Falls die Anzahl <i>e</i> der Auslöschungen in Vektor <u><i>y</i></u> hinreichend klein ist, lässt sich das gesamte Codewort mit Sicherheit (<u><i>z</i></u> = <u><i>c</i></u>) finden.<br>
 
  
*Sind zuviele Symbole des Empfangswortes <u><i>y</i></u> ausgelöscht, meldet der Decoder, dass dieses Wort nicht decodierbar ist. Eventuell wird dann die Codesequenz noch einmal gesendet.<br><br>
+
Im Folgenden beschäftigen wir uns ausschließlich mit dem Block  <i>Codewortfinder</i> (CWF), der aus dem Empfangsvektor $\underline{y}$ den Vektor $\underline{z} &#8712; \mathcal{C}_{\rm RS}$ gewinnt:
 +
*Falls die Anzahl $e$ der Auslöschungen in Vektor $\underline{y}$ hinreichend klein ist, lässt sich das gesamte Codewort mit Sicherheit $(\underline{z}=\underline{c})$  finden.<br>
  
Beim Auslöschungskanal (<i>m</i>&ndash;BEC) ist also im Gegensatz zum <i>m</i>&ndash;BSC, der im Kapitel 2.5 Anwendung findet, eine Fehlentscheidung (<u><i>z</i></u> &ne; <u><i>c</i></u>) ausgeschlossen &#8658; Blockfehlerwahrscheinlichkeit Pr(<u><i>z</i></u> &ne; <u><i>c</i></u>) = 0 &#8658; Pr(<u><i>&upsilon;</i></u> &ne; <u><i>u</i></u>) = 0. Das rekonstruierte Informationswort ergibt sich gemäß dem Blockschaltbild (gelbe Hinterlegung) zu <u><i>&upsilon;</i></u> = enc<sup>&ndash;1</sup>(<u><i>z</i></u>). Mit der Generatormatrix <b>G</b> kann hierfür auch geschrieben werden:
+
*Sind zuviele Symbole des Empfangswortes $\underline{y}$ ausgelöscht, meldet der Decoder, dass dieses Wort nicht decodierbar ist. Eventuell wird dann die Codesequenz noch einmal gesendet.<br><br>
  
:<math>\underline {c} = \underline {u} \cdot { \boldsymbol{\rm G}}
+
Beim Auslöschungskanal ($m$&ndash;BEC) ist also im Gegensatz zum $m$&ndash;BSC, der im Kapitel [[Kanalcodierung/Fehlerkorrektur_nach_Reed–Solomon–Codierung|Fehlerkorrektur nach Reed–Solomon–Codierung]] Anwendung findet,  eine Fehlentscheidung$(\underline{z} \ne \underline{c})$ ausgeschlossen &nbsp; &#8658; &nbsp; Blockfehlerwahrscheinlichkeit ${\rm Pr}(\underline{z}\ne\underline{c})  = 0$ &nbsp; &#8658; &nbsp; ${\rm Pr}(\underline{v}\ne\underline{u})  = 0$. Das rekonstruierte Informationswort ergibt sich gemäß dem Blockschaltbild (gelbe Hinterlegung) zu $\underline{v} = {\rm enc}^{-1}(\underline{z})$. Mit der Generatormatrix $\boldsymbol{\rm G}$ kann hierfür auch geschrieben werden:
 +
 
 +
::<math>\underline {c} = \underline {u} \cdot { \boldsymbol{\rm G}}
 
\hspace{0.3cm} \Rightarrow  \hspace{0.3cm}\underline {z} = \underline {\upsilon} \cdot { \boldsymbol{\rm G}}
 
\hspace{0.3cm} \Rightarrow  \hspace{0.3cm}\underline {z} = \underline {\upsilon} \cdot { \boldsymbol{\rm G}}
 
\hspace{0.3cm} \Rightarrow  \hspace{0.3cm}\underline {\upsilon} = \underline {z} \cdot { \boldsymbol{\rm G}}^{\rm T}
 
\hspace{0.3cm} \Rightarrow  \hspace{0.3cm}\underline {\upsilon} = \underline {z} \cdot { \boldsymbol{\rm G}}^{\rm T}
Line 207: Line 210:
 
Das zugehörige Informationswort erhält man mit der [http://en.lntwww.de/Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Codefestlegung_durch_die_Generatormatrix Generatormatrix] <b>G</b> zu <u><i>&upsilon;</i></u>&nbsp;=&nbsp;<u><i>z</i></u>&nbsp;&middot;&nbsp;<b>G</b><sup>T</sup>&nbsp;=&nbsp;(<i>&alpha;</i><sup>1</sup>,&nbsp;1,&nbsp;<i>&alpha;</i><sup>3</sup>).<br>
 
Das zugehörige Informationswort erhält man mit der [http://en.lntwww.de/Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Codefestlegung_durch_die_Generatormatrix Generatormatrix] <b>G</b> zu <u><i>&upsilon;</i></u>&nbsp;=&nbsp;<u><i>z</i></u>&nbsp;&middot;&nbsp;<b>G</b><sup>T</sup>&nbsp;=&nbsp;(<i>&alpha;</i><sup>1</sup>,&nbsp;1,&nbsp;<i>&alpha;</i><sup>3</sup>).<br>
  
== Aufgaben ==
+
== Aufgaben zum Kapitel ==
 
<br>
 
<br>
 
[[Aufgaben:2.11 RS–Decodierung nach „Erasures”|A2.11 RS–Decodierung nach „Erasures”]]
 
[[Aufgaben:2.11 RS–Decodierung nach „Erasures”|A2.11 RS–Decodierung nach „Erasures”]]

Revision as of 11:15, 23 November 2017

Blockschaltbild und Voraussetzungen


Im Kapitel Decodierung beim Binary Erasure Channel wurde für die binären Blockcodes gezeigt, welche Berechnungen der Decoder ausführen muss, um aus einem unvollständigen Empfangswort $\underline{y}$ das gesendete Codewort $\underline{x}$ bestmöglich decodieren zu können. Zugrunde gelegt war dabei das BEC–Kanalmodell (Binary Erasure Channel), das ein unsicheres Bit als Erasure $\rm E$ („Auslöschung”) markiert.

Im Gegensatz zu BSC (Binary Symmetric Channel) und AWGN (Additive White Gaussian Noise) wurden hier Bitfehler $(y_i ≠ x_i)$ ausgeschlossen. Jedes Bit eines Empfangswortes

  • stimmt also mit dem entsprechenden Bit des Codewortes überein $(y_i = x_i)$, oder
  • ist bereits als Auslöschung markiert $(y_i = \rm E)$.
Übertragungssystem mit Reed–Solomon–Codierung/Decodierung und Auslöschungskanal

Die Grafik zeigt das Blockschaltbild, das sich von dem Modell im Kapitel Decodierung linearer Blockcodes geringfügig unterscheidet:

  • Da Reed–Solomon–Codes lineare Blockcodes sind, stehen Informationswort $\underline{u}$ und Codewort $\underline{c}$ über die Generatormatrix $\boldsymbol{\rm G}$ und die folgende Gleichung in Zusammenhang:
\[\underline {c} = {\rm enc}(\underline {u}) = \underline {u} \cdot { \boldsymbol{\rm G}} \hspace{0.3cm} {\rm mit} \hspace{0.3cm}\underline {u} = (u_0, u_1, ... \hspace{0.05cm}, u_i, ...\hspace{0.05cm}, u_{k-1})\hspace{0.05cm}, \hspace{0.2cm} \underline {c} = (c_0, c_1, ... \hspace{0.05cm}, c_i, ...\hspace{0.05cm}, c_{n-1}) \hspace{0.05cm}.\]
  • Für die einzelnen Symbole von Informationsblock und Codewort gilt bei Reed–Solomon–Codierung:
\[u_i \in {\rm GF}(q)\hspace{0.05cm},\hspace{0.2cm}c_i \in {\rm GF}(q)\hspace{0.3cm}{\rm mit}\hspace{0.3cm} q = n+1 = 2^m \hspace{0.3cm} \Rightarrow \hspace{0.3cm} n = 2^m - 1\hspace{0.05cm}. \]
  • Jedes Codesymbol $c_i$ wird somit mit $m ≥ 2$ Binärsymbolen (Bit) dargestellt. Zum Vergleich: Für die binären Blockcodes gilt $q=2$, $m=1$ und die Codewortlänge $n$ ist frei wählbar.
  • Bei Codierung auf Symbolebene muss das BEC–Modell zum $m$–BEC–Modell erweitert werden. Mit der Wahrscheinlichkeit $\lambda_m ≈ m \cdot\lambda$ wird ein Codesymbol $c_i$ ausgelöscht $(y_i = \rm E)$ und es gilt ${\rm Pr}(y_i = c_i) = 1 - \lambda_m$. Näheres zur Umrechnung der beiden Modelle finden Sie in der Aufgabe 2.11Z.


Im Folgenden beschäftigen wir uns ausschließlich mit dem Block Codewortfinder (CWF), der aus dem Empfangsvektor $\underline{y}$ den Vektor $\underline{z} ∈ \mathcal{C}_{\rm RS}$ gewinnt:

  • Falls die Anzahl $e$ der Auslöschungen in Vektor $\underline{y}$ hinreichend klein ist, lässt sich das gesamte Codewort mit Sicherheit $(\underline{z}=\underline{c})$ finden.
  • Sind zuviele Symbole des Empfangswortes $\underline{y}$ ausgelöscht, meldet der Decoder, dass dieses Wort nicht decodierbar ist. Eventuell wird dann die Codesequenz noch einmal gesendet.

Beim Auslöschungskanal ($m$–BEC) ist also im Gegensatz zum $m$–BSC, der im Kapitel Fehlerkorrektur nach Reed–Solomon–Codierung Anwendung findet, eine Fehlentscheidung$(\underline{z} \ne \underline{c})$ ausgeschlossen   ⇒   Blockfehlerwahrscheinlichkeit ${\rm Pr}(\underline{z}\ne\underline{c}) = 0$   ⇒   ${\rm Pr}(\underline{v}\ne\underline{u}) = 0$. Das rekonstruierte Informationswort ergibt sich gemäß dem Blockschaltbild (gelbe Hinterlegung) zu $\underline{v} = {\rm enc}^{-1}(\underline{z})$. Mit der Generatormatrix $\boldsymbol{\rm G}$ kann hierfür auch geschrieben werden:

\[\underline {c} = \underline {u} \cdot { \boldsymbol{\rm G}} \hspace{0.3cm} \Rightarrow \hspace{0.3cm}\underline {z} = \underline {\upsilon} \cdot { \boldsymbol{\rm G}} \hspace{0.3cm} \Rightarrow \hspace{0.3cm}\underline {\upsilon} = \underline {z} \cdot { \boldsymbol{\rm G}}^{\rm T} \hspace{0.05cm}. \]

Vorgehensweise am Beispiel des RSC (7, 3, 5)8


Um die RS–Decodierung beim Auslöschungskanal so einfach wie möglich darstellen zu können, gehen wir von einer konkreten Aufgabenstellung aus:

  • Verwendet wird ein Reed–Solomon–Code mit den Parametern n = 7, k = 3 und q = 23 = 8. Allgemein gilt für das Informationswort u, das Codewort c und die Prüfmatrix H:
\[\underline {u} = (u_0, u_1, u_2) \hspace{0.05cm},\hspace{0.15cm} \underline {c} = (c_0, c_1, c_2,c_3,c_4,c_5,c_6)\hspace{0.05cm},\hspace{0.15cm} u_i, c_i \in {\rm GF}(2^3) = \{0, 1, \alpha, \alpha^2, ... , \alpha^6\} \hspace{0.05cm},\]
\[{ \boldsymbol{\rm H}} = \begin{pmatrix} 1 & \alpha^1 & \alpha^2 & \alpha^3 & \alpha^4 & \alpha^5 & \alpha^6\\ 1 & \alpha^2 & \alpha^4 & \alpha^6 & \alpha^1 & \alpha^{3} & \alpha^{5}\\ 1 & \alpha^3 & \alpha^6 & \alpha^2 & \alpha^{5} & \alpha^{1} & \alpha^{4}\\ 1 & \alpha^4 & \alpha^1 & \alpha^{5} & \alpha^{2} & \alpha^{6} & \alpha^{3} \end{pmatrix}\hspace{0.05cm}. \]
  • Der Empfangsvektor wird mit y = (α1, 1, E, E, α2, E, α5) vorgegeben. Da der Auslöschungskanal keine Fehler produziert, sind dem Decoder vier der Codesymbole bekannt:
\[c_0 = \alpha^1 \hspace{0.05cm},\hspace{0.2cm} c_1 = 1 \hspace{0.05cm},\hspace{0.2cm} c_4 = \alpha^2 \hspace{0.05cm},\hspace{0.2cm} c_6 = \alpha^5 \hspace{0.05cm}.\]
  • Es ist offensichtlich, dass der Block „Codewortfinder” – im Blockschaltbild mit CWF bezeichnet – einen Vektor der Form z = (c0c1z2z3c4z5c6) liefern soll mit z2z3z5 ∈ GF(23).
  • Da das vom Decoder gefundene Codewort z aber auch ein gültiges Reed–Solomon–Codewort sein soll    ⇒    zCRS, muss entsprechend den Ausführungen in Kapitel 2.3 gelten:
\[{ \boldsymbol{\rm H}} \cdot \underline {z}^{\rm T} = \underline {0}^{\rm T} \hspace{0.3cm} \Rightarrow \hspace{0.3cm} \begin{pmatrix} 1 & \alpha^1 & \alpha^2 & \alpha^3 & \alpha^4 & \alpha^5 & \alpha^6\\ 1 & \alpha^2 & \alpha^4 & \alpha^6 & \alpha^1 & \alpha^{3} & \alpha^{5}\\ 1 & \alpha^3 & \alpha^6 & \alpha^2 & \alpha^{5} & \alpha^{1} & \alpha^{4}\\ 1 & \alpha^4 & \alpha^1 & \alpha^{5} & \alpha^{2} & \alpha^{6} & \alpha^{3} \end{pmatrix} \cdot \begin{pmatrix} c_0\\ c_1\\ z_2\\ z_3\\ c_4\\ z_5\\ c_6 \end{pmatrix} = \begin{pmatrix} 0\\ 0\\ 0\\ 0 \end{pmatrix} \hspace{0.05cm}. \]
  • Daraus ergeben sich vier Gleichungen für die Unbekannten z2, z3, z5. Bei eindeutiger Lösung – und nur bei einer solchen – ist die Decodierung erfolgreich und man kann dann mit Sicherheit sagen, dass tatsächlich c = z gesendet wurde.

Die Beschreibung wird auf der nächsten Seite fortgesetzt.

Lösung der Matrixgleichungen am Beispiel des RSC (7, 3, 5)8


Gefunden werden muss also das zulässige Codewort z, das die Bestimmungsgleichung H · zT = 0T erfüllt. Zweckmäßigerweise spalten wir dazu den Vektor z in zwei Teilvektoren auf, nämlich in

  • den Vektor zE = (z2, z3, z5) der ausgelöschten Symbole (Index E für Erasures),
  • den Vektor zK = (c0, c1, c4, c6) der bekannten Symbole (Index K für Korrekt).

Mit den zugehörigen Teilmatrizen (jeweils mit nk = 4 Zeilen)

\[{ \boldsymbol{\rm H}}_{\rm E} = \begin{pmatrix} \alpha^2 & \alpha^3 & \alpha^5 \\ \alpha^4 & \alpha^6 & \alpha^{3} \\ \alpha^6 & \alpha^2 & \alpha^{1} \\ \alpha^1 & \alpha^{5} & \alpha^{6} \end{pmatrix} \hspace{0.05cm},\hspace{0.4cm} { \boldsymbol{\rm H}}_{\rm K} \begin{pmatrix} 1 & \alpha^1 & \alpha^4 & \alpha^6\\ 1 & \alpha^2 & \alpha^1 & \alpha^{5}\\ 1 & \alpha^3 & \alpha^{5} & \alpha^{4}\\ 1 & \alpha^4 & \alpha^{2} & \alpha^{3} \end{pmatrix}\]

lautet somit die Bestimmungsgleichung:

\[{ \boldsymbol{\rm H}}_{\rm E} \cdot \underline {z}_{\rm E}^{\rm T} + { \boldsymbol{\rm H}}_{\rm K} \cdot \underline {z}_{\rm K}^{\rm T} = \underline {0}^{\rm T} \hspace{0.5cm} \Rightarrow \hspace{0.5cm} { \boldsymbol{\rm H}}_{\rm E} \cdot \underline {z}_{\rm E}^{\rm T} = - { \boldsymbol{\rm H}}_{\rm K} \cdot \underline {z}_{\rm K}^{\rm T}\hspace{0.05cm}. \]

Da für alle Elemente zi ∈ GF(2m) die additive Inverse InvA(zi) (= –zi) = zi ist, gilt in gleicher Weise

\[{ \boldsymbol{\rm H}}_{\rm E} \cdot \underline {z}_{\rm E}^{\rm T} = { \boldsymbol{\rm H}}_{\rm K} \cdot \underline {z}_{\rm K}^{\rm T} = \begin{pmatrix} 1 & \alpha^1 & \alpha^4 & \alpha^6\\ 1 & \alpha^2 & \alpha^1 & \alpha^{5}\\ 1 & \alpha^3 & \alpha^{5} & \alpha^{4}\\ 1 & \alpha^4 & \alpha^{2} & \alpha^{3} \end{pmatrix} \cdot \begin{pmatrix} \alpha^1\\ 1\\ \alpha^{2}\\ \alpha^{6} \end{pmatrix} = \hspace{0.15cm}... \hspace{0.15cm}= \begin{pmatrix} \alpha^3\\ \alpha^{4}\\ \alpha^{2}\\ 0 \end{pmatrix} \hspace{0.05cm}.\]

Die rechte Gleichungsseite ergibt für das betrachtete Beispiel  ⇒  zK = (c0, c1, c4, c6) und basiert auf dem Polynom p(x) = x3 + x + 1, das zu folgenden Potenzen in α führt:

\[\alpha^3 \hspace{-0.15cm} = \hspace{-0.15cm}\alpha + 1\hspace{0.05cm}, \hspace{0.4cm} \alpha^4 = \alpha^2 + \alpha\hspace{0.05cm}, \hspace{0.4cm} \alpha^5 = \alpha^2 + \alpha + 1\hspace{0.05cm}, \hspace{0.4cm} \alpha^6 = \alpha^2 + 1\hspace{0.05cm},\] \[\alpha^7 \hspace{-0.15cm} = \hspace{-0.15cm} 1\hspace{0.05cm}, \hspace{1.12cm} \alpha^8 = \alpha^1 \hspace{0.05cm}, \hspace{1.19cm} \alpha^9 = \alpha^2 \hspace{0.05cm}, \hspace{1.9cm} \alpha^{10} = \alpha^3 = \alpha + 1\hspace{0.05cm},\hspace{0.1cm} ...\]

Damit lautet die Matrizengleichung zur Bestimmung des gesuchten Vektors zE:

\[\begin{pmatrix} \alpha^2 & \alpha^3 & \alpha^5 \\ \alpha^4 & \alpha^6 & \alpha^{3} \\ \alpha^6 & \alpha^2 & \alpha^{1} \\ \alpha^1 & \alpha^{5} & \alpha^{6} \end{pmatrix} \cdot \begin{pmatrix} z_2\\ z_3\\ z_5 \end{pmatrix} \stackrel{!}{=} \begin{pmatrix} \alpha^3\\ \alpha^{4}\\ \alpha^{2}\\ 0 \end{pmatrix} \hspace{0.05cm}. \]

Löst man diese Matrizengleichung (am einfachsten per Programm), so erhält man

\[z_2 = \alpha^2\hspace{0.05cm},\hspace{0.25cm}z_3 = \alpha^1\hspace{0.05cm},\hspace{0.25cm}z_5 = \alpha^5 \hspace{0.5cm} \Rightarrow \hspace{0.5cm}\underline {z} = \left ( \hspace{0.05cm} \alpha^1, \hspace{0.05cm}1, \hspace{0.05cm}\alpha^2, \hspace{0.05cm}\alpha^1, \hspace{0.05cm}\alpha^2, \hspace{0.05cm}\alpha^5, \hspace{0.05cm}\alpha^5 \hspace{0.05cm}\right ) \hspace{0.05cm}.\]

Das Ergebnis ist richtig, wie die folgenden Kontrollrechnungen zeigen:

\[\alpha^2 \cdot \alpha^2 + \alpha^3 \cdot \alpha^1 + \alpha^5 \cdot \alpha^5 \hspace{-0.15cm} = \hspace{-0.15cm} \alpha^4 + \alpha^4 + \alpha^{10} = \alpha^{10} = \alpha^3\hspace{0.05cm},\] \[\alpha^4 \cdot \alpha^2 + \alpha^6 \cdot \alpha^1 + \alpha^3 \cdot \alpha^5 \hspace{-0.15cm} = \hspace{-0.15cm} (\alpha^2 + 1) + (1) + (\alpha) = \alpha^{2} + \alpha = \alpha^4\hspace{0.05cm},\] \[\alpha^6 \cdot \alpha^2 + \alpha^2 \cdot \alpha^1 + \alpha^1 \cdot \alpha^5 \hspace{-0.15cm} = \hspace{-0.15cm} (\alpha) + (\alpha + 1) + (\alpha^2 + 1) = \alpha^{2} \hspace{0.05cm},\] \[\alpha^1 \cdot \alpha^2 + \alpha^5 \cdot \alpha^1 + \alpha^6 \cdot \alpha^5 \hspace{-0.15cm} = \hspace{-0.15cm} (\alpha + 1) + (\alpha^2 + 1) + (\alpha^2 + \alpha) = 0\hspace{0.05cm}.\]

Das zugehörige Informationswort erhält man mit der Generatormatrix G zu υ = z · GT = (α1, 1, α3).

Aufgaben zum Kapitel


A2.11 RS–Decodierung nach „Erasures”

Zusatzaufgaben:2.11 Erasure–Kanal für Symbole