Difference between revisions of "Aufgaben:Exercise 4.5: On the Extrinsic L-values again"

From LNTwww
Line 2: Line 2:
  
 
[[File:P_ID3026__KC_A_4_5_v2.png|right|frame|Tabelle nach dem ersten  $L_{\rm E}(i)$–Ansatz]]
 
[[File:P_ID3026__KC_A_4_5_v2.png|right|frame|Tabelle nach dem ersten  $L_{\rm E}(i)$–Ansatz]]
Wir gehen wie im&nbsp; [[Channel_Coding/Soft%E2%80%93in_Soft%E2%80%93out_Decoder#Zur_Berechnung_der_extrinsischen_L.E2.80.93Werte|Theorieteil]]&nbsp; vom&nbsp; <i>Single Parity&ndash;check Code</i> &nbsp; $\rm SPC \, (3, \, 2, \, 2)$&nbsp; aus. Die möglichen Codeworte sind&nbsp; $\underline{x} \hspace{-0.01cm}\in \hspace{-0.01cm}
+
We assume as in&nbsp; [[Channel_Coding/Soft-in_Soft-Out_Decoder#Calculation_of_extrinsic_LLRs|"theory section"]]&nbsp; from&nbsp; <i>single parity&ndash;check code</i> &nbsp; $\rm SPC \, (3, \, 2, \, 2)$&nbsp;. The possible code words are&nbsp; $\underline{x} \hspace{-0.01cm}\in \hspace{-0.01cm}
 
\{ \underline{x}_0,\hspace{0.05cm}
 
\{ \underline{x}_0,\hspace{0.05cm}
 
\underline{x}_1,\hspace{0.05cm}
 
\underline{x}_1,\hspace{0.05cm}
Line 16: Line 16:
 
\underline{x}_3 \hspace{-0.05cm}=\hspace{-0.05cm} (-1\hspace{-0.03cm},\hspace{-0.05cm}-1\hspace{-0.03cm},\hspace{-0.05cm}+1)\hspace{0.05cm}.$$
 
\underline{x}_3 \hspace{-0.05cm}=\hspace{-0.05cm} (-1\hspace{-0.03cm},\hspace{-0.05cm}-1\hspace{-0.03cm},\hspace{-0.05cm}+1)\hspace{0.05cm}.$$
  
In der Aufgabe verwenden wir meist die zweite (bipolare) Darstellung der Codesymbole: &nbsp; $x_i &#8712; \{+1, -1\}$.
+
In the exercise we mostly use the second (bipolar) representation of the code symbols: &nbsp; $x_i &#8712; \{+1, -1\}$.
  
*Es ist nicht so, dass der&nbsp; $\rm SPC \, (3, \, 2, \, 2)$&nbsp; von großem praktischen Interesse wäre, da zum Beispiel bei&nbsp; <i>Hard Decision</i>&nbsp; wegen&nbsp; $d_{\rm min} = 2$&nbsp; nur ein Fehler erkannt und kein einziger korrigiert werden kann. Der Code ist aber wegen des überschaubaren Aufwands für Übungs&ndash; und Demonstrationszwecke gut geeignet.
+
*It is not that the&nbsp; $\rm SPC \, (3, \, 2, \, 2)$&nbsp; would be of much practical interest, since, for example, in&nbsp; <i>hard decision</i>&nbsp; because of&nbsp; $d_{\rm min} = 2$&nbsp; only one error can be detected and none can be corrected. However, the code is well suited for practice and demonstration purposes because of the manageable effort involved.
*Mit&nbsp; ''iterativer symbolweiser Decodierung''&nbsp; kann man auch einen Fehler korrigieren. Beim vorliegenden Code müssen die extrinsischen&nbsp; $L$&ndash;Werte&nbsp; $\underline{L}_{\rm E} = \big (L_{\rm E}(1), \ L_{\rm E}(2), \ L_{\rm E}(3)\big )$&nbsp; entsprechend der folgenden Gleichung berechnet werden.  
+
*With&nbsp; ''iterative symbol-wise decoding''&nbsp; one can also correct one error. In the present code, the extrinsic&nbsp; $L$&ndash;values&nbsp; $\underline{L}_{\rm E} = \big (L_{\rm E}(1), \ L_{\rm E}(2), \ L_{\rm E}(3)\big )$&nbsp; must be calculated according to the following equation.  
 
:$$L_{\rm E}(i) = {\rm ln} \hspace{0.15cm}\frac{{\rm Pr} \left [w_{\rm H}(\underline{x}^{(-i)})\hspace{0.15cm}{\rm ist \hspace{0.15cm} gerade} \hspace{0.05cm} \right ]}{{\rm Pr} \left [w_{\rm H}(\underline{x}^{(-i)})\hspace{0.15cm}{\rm ist \hspace{0.15cm} ungerade} \hspace{0.05cm}  \hspace{0.05cm}\right ]}.$$
 
:$$L_{\rm E}(i) = {\rm ln} \hspace{0.15cm}\frac{{\rm Pr} \left [w_{\rm H}(\underline{x}^{(-i)})\hspace{0.15cm}{\rm ist \hspace{0.15cm} gerade} \hspace{0.05cm} \right ]}{{\rm Pr} \left [w_{\rm H}(\underline{x}^{(-i)})\hspace{0.15cm}{\rm ist \hspace{0.15cm} ungerade} \hspace{0.05cm}  \hspace{0.05cm}\right ]}.$$
  
:Hierbei bezeichnet&nbsp; $\underline{x}^{(-1)}$&nbsp; alle Symbole mit Ausnahme von&nbsp; $x_i$&nbsp; und ist somit ein Vektor der Länge&nbsp; $n - 1 = 2$.
+
:Here&nbsp; $\underline{x}^{(-1)}$&nbsp; denotes all symbols except&nbsp; $x_i$&nbsp; and is thus a vector of length&nbsp; $n - 1 = 2$.
  
  
Als den&nbsp; '''ersten $L_{\rm E}(i)$&ndash;Ansatz'''&nbsp; bezeichnen wir die Vorgehensweise entsprechend den Gleichungen
+
As the&nbsp; '''first $L_{\rm E}(i)$ approach'''&nbsp; we refer to the approach corresponding to the equations
 
:$$L_{\rm E}(1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}2 \cdot {\rm tanh}^{-1} \left [{\rm tanh}(L_2/2) \cdot {\rm tanh}(L_3/2) \right ] \hspace{0.05cm},$$
 
:$$L_{\rm E}(1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}2 \cdot {\rm tanh}^{-1} \left [{\rm tanh}(L_2/2) \cdot {\rm tanh}(L_3/2) \right ] \hspace{0.05cm},$$
 
:$$L_{\rm E}(2) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}2 \cdot {\rm tanh}^{-1} \left [{\rm tanh}(L_1/2) \cdot {\rm tanh}(L_3/2) \right ] \hspace{0.05cm},$$
 
:$$L_{\rm E}(2) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}2 \cdot {\rm tanh}^{-1} \left [{\rm tanh}(L_1/2) \cdot {\rm tanh}(L_3/2) \right ] \hspace{0.05cm},$$
 
:$$L_{\rm E}(3) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}2 \cdot {\rm tanh}^{-1} \left [{\rm tanh}(L_1/2) \cdot {\rm tanh}(L_2/2) \right ] \hspace{0.05cm}.$$
 
:$$L_{\rm E}(3) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}2 \cdot {\rm tanh}^{-1} \left [{\rm tanh}(L_1/2) \cdot {\rm tanh}(L_2/2) \right ] \hspace{0.05cm}.$$
  
'''(1)'''&nbsp; Dieser&nbsp; $L_{\rm E}(i)$&ndash;Ansatz liegt der obigen Ergebnistabelle (rote Einträge) zugrunde, wobei von folgenden Aposteriori&ndash;$L$&ndash;Werten ausgegangen wird:
+
'''(1)'''&nbsp; This&nbsp; $L_{\rm E}(i)$ approach underlies the results table above (red entries), assuming the following a posteriori $L$ values:
 
:$$\underline {L}_{\rm APP} = (+1.0\hspace{0.05cm},\hspace{0.05cm}+0.4\hspace{0.05cm},\hspace{0.05cm}-1.0)  \hspace{0.5cm}{\rm kurz\hspace{-0.1cm}:}\hspace{0.25cm}
 
:$$\underline {L}_{\rm APP} = (+1.0\hspace{0.05cm},\hspace{0.05cm}+0.4\hspace{0.05cm},\hspace{0.05cm}-1.0)  \hspace{0.5cm}{\rm kurz\hspace{-0.1cm}:}\hspace{0.25cm}
 
L_1 = +1.0\hspace{0.05cm},\hspace{0.05cm}
 
L_1 = +1.0\hspace{0.05cm},\hspace{0.05cm}
Line 36: Line 36:
 
L_3 = -1.0\hspace{0.05cm}.$$
 
L_3 = -1.0\hspace{0.05cm}.$$
  
'''(2)'''&nbsp; Die extrinsischen&nbsp; $L$&ndash;Werte für die nullte Iteration ergeben sich zu&nbsp; (Herleitung in&nbsp; [[Aufgaben:Aufgabe_4.5Z:_Tangens_Hyperbolikus_und_Inverse|Aufgabe 4.5Z]]):  
+
'''(2)'''&nbsp; The extrinsic&nbsp; $L$&ndash;values for the zeroth iteration result in&nbsp; (derivation in&nbsp; [[Aufgaben:Exercise_4.5Z:_Tangent_Hyperbolic_and_Inverse|"Exercise 4.5Z"]]):  
 
:$$L_{\rm E}(1) = -0.1829, \ L_{\rm E}(2) = -0.4337, \  L_{\rm E}(3) = +0.1829.$$  
 
:$$L_{\rm E}(1) = -0.1829, \ L_{\rm E}(2) = -0.4337, \  L_{\rm E}(3) = +0.1829.$$  
  
'''(3)'''&nbsp; Die Aposteriori&ndash;Werte zu Beginn der ersten Iteration sind somit
+
'''(3)'''&nbsp; The a posteriori values at the beginning of the first iteration are thus
 
:$$\underline{L}^{(I=1)} = \underline{L}^{(I=0)}  + \underline{L}_{\hspace{0.02cm}\rm E}^{(I=0)}  =  
 
:$$\underline{L}^{(I=1)} = \underline{L}^{(I=0)}  + \underline{L}_{\hspace{0.02cm}\rm E}^{(I=0)}  =  
 
(+0.8171\hspace{0.05cm},\hspace{0.05cm}-0.0337\hspace{0.05cm},\hspace{0.05cm}-0.8171)  
 
(+0.8171\hspace{0.05cm},\hspace{0.05cm}-0.0337\hspace{0.05cm},\hspace{0.05cm}-0.8171)  
 
\hspace{0.05cm} .  $$
 
\hspace{0.05cm} .  $$
  
'''(4)'''&nbsp; Daraus ergeben sich die neuen extrinsischen Werte für die Iterationsschleife&nbsp; $I = 1$&nbsp; wie folgt:
+
'''(4)'''&nbsp; From this, the new extrinsic values for the iteration loop&nbsp; $I = 1$&nbsp; are as follows:
 
:$$L_{\rm E}(1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}2 \cdot {\rm tanh}^{-1} \big [{\rm tanh}(-0.0337/2) \cdot {\rm tanh}(-0.8171/2) \big ] = 0.0130 = -L_{\rm E}(3)\hspace{0.05cm},$$
 
:$$L_{\rm E}(1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}2 \cdot {\rm tanh}^{-1} \big [{\rm tanh}(-0.0337/2) \cdot {\rm tanh}(-0.8171/2) \big ] = 0.0130 = -L_{\rm E}(3)\hspace{0.05cm},$$
 
:$$L_{\rm E}(2) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}2 \cdot {\rm tanh}^{-1} \big [{\rm tanh}(+0.8171/2) \cdot {\rm tanh}(-0.8171/2) \big ]  = - 0.3023\hspace{0.05cm}.$$
 
:$$L_{\rm E}(2) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}2 \cdot {\rm tanh}^{-1} \big [{\rm tanh}(+0.8171/2) \cdot {\rm tanh}(-0.8171/2) \big ]  = - 0.3023\hspace{0.05cm}.$$
  
Weiter erkennt man aus der obigen Tabelle:
+
Further, one can see from the above table:
* Eine harte Entscheidung gemäß den Vorzeichen vor der ersten Iteration&nbsp; $(I = 0)$ scheitert, da&nbsp; $(+1, +1, -1)$&nbsp; kein gültiges&nbsp; $\rm SPC \, (3, \, 2, \, 2)$&ndash;Codewort ist.
+
* A hard decision according to the signs before the first iteration&nbsp; $(I = 0)$ fails, since&nbsp; $(+1, +1, -1)$&nbsp; is not a valid&nbsp; $\rm SPC \, (3, \, 2, \, 2)$&ndash;code word.
* Aber schon nach&nbsp; $I = 1$&nbsp; Iterationen liefert eine harte Entscheidung ein gültiges Codewort, nämlich&nbsp; $\underline{x}_2 = (+1, -1, -1)$. Auch in späteren Grafiken sind die Zeilen mit erstmals richtigen HD&ndash;Entscheidungen blau hinterlegt.
+
* But already after&nbsp; $I = 1$&nbsp; iterations, a hard decision yields a valid code word, namely&nbsp; $\underline{x}_2 = (+1, -1, -1)$. Also in later graphs, the rows with correct HD decisions for the first time are highlighted in blue.
* Harte Entscheidungen nach weiteren Iterationen&nbsp; $(I &#8805; 2)$&nbsp; führen jeweils zum gleichen Codewort&nbsp; $\underline{x}_2$. Diese Aussage gilt nicht nur für dieses Beispiel, sondern ganz allgemein.
+
* Hard decisions after further iterations&nbsp; $(I &#8805; 2)$&nbsp; each lead to the same code word&nbsp; $\underline{x}_2$. This statement is not only valid for this example, but in general.
  
  
Daneben betrachten wir in dieser Aufgabe einen '''zweiten $L_{\rm E}(i)$&ndash;Ansatz''', der hier am Beispiel für das erste Symbol $(i = 1)$ angegeben wird:
+
Besides, in this exercise we consider a '''second $L_{\rm E}(i)$ approach''', which is given here for the example of the first symbol $(i = 1)$:
 
:$${\rm sign} \big[L_{\rm E}(1)\big] \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm sign} \big[L_{\rm E}(2)\big] \cdot {\rm sign} \big[L_{\rm E}(3)\big]\hspace{0.05cm},\hspace{0.8cm}
 
:$${\rm sign} \big[L_{\rm E}(1)\big] \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm sign} \big[L_{\rm E}(2)\big] \cdot {\rm sign} \big[L_{\rm E}(3)\big]\hspace{0.05cm},\hspace{0.8cm}
 
|L_{\rm E}(1)| \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm Min} \left ( |L_{\rm E}(2)|\hspace{0.05cm}, \hspace{0.05cm}|L_{\rm E}(3)| \right )  \hspace{0.05cm}.$$
 
|L_{\rm E}(1)| \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm Min} \left ( |L_{\rm E}(2)|\hspace{0.05cm}, \hspace{0.05cm}|L_{\rm E}(3)| \right )  \hspace{0.05cm}.$$
  
Dieser zweite Ansatz basiert auf der Annahme, dass die Zuverlässigkeit von&nbsp; $L_{\rm E}(i)$&nbsp; im wesentlichen durch das unzuverlässigste Nachbarsymbol bestimmt wird. Das bessere (größere) Eingangs&ndash;LLR wird dabei völlig außer Acht gelassen. &ndash; Betrachten wir hierzu zwei Beispiele:
+
This second approach is based on the assumption that the reliability of&nbsp; $L_{\rm E}(i)$&nbsp; is essentially determined by the most unreliable neighbor symbol. The better (larger) input&ndash;LLR is completely disregarded. &ndash; Let us consider two examples for this:
  
'''(1)'''&nbsp; Für&nbsp; $L_2 = 1.0$&nbsp; und&nbsp; $L_3 = 5.0$&nbsp; ergibt sich beispielsweise
 
* nach dem ersten Ansatz: &nbsp; $L_{\rm E}(1) =2 \cdot {\rm tanh}^{-1} \big [{\rm tanh}(0.5) \cdot {\rm tanh}(2.5) \big ]  =2 \cdot {\rm tanh}^{-1}(0.4559) = 0.984\hspace{0.05cm},$
 
* nach dem zweiten Ansatz: &nbsp; $|L_{\rm E}(1)| \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm Min} \big ( 1.0\hspace{0.05cm}, \hspace{0.05cm}5.0 \big )  = 1.000 \hspace{0.05cm}.$
 
  
 +
'''(1)'''&nbsp; For&nbsp; $L_2 = 1.0$&nbsp; and&nbsp; $L_3 = 5.0$&nbsp; we get for example
 +
* after the first approach: &nbsp; $L_{\rm E}(1) =2 \cdot {\rm tanh}^{-1} \big [{\rm tanh}(0.5) \cdot {\rm tanh}(2.5) \big ] =2 \cdot {\rm tanh}^{-1}(0.4559) = 0.984\hspace{0.05cm},$
 +
* according to the second approach: &nbsp; $|L_{\rm E}(1)| \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm Min} \big ( 1.0\hspace{0.05cm}, \hspace{0.05cm}5.0 \big )  = 1.000 \hspace{0.05cm}.$
  
'''(2)'''&nbsp; Dagegen erhält man für&nbsp; $L_2 = L_3 = 1.0$
 
* nach dem ersten Ansatz: &nbsp; $L_{\rm E}(1) =2 \cdot {\rm tanh}^{-1} \big [{\rm tanh}(0.5) \cdot {\rm tanh}(0.5) \big ]  =2 \cdot {\rm tanh}^{-1}(0.2135) = 0.433\hspace{0.05cm},$
 
* nach dem zweiten Ansatz: &nbsp; $|L_{\rm E}(1)| \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm Min} \big ( 1.0\hspace{0.05cm}, \hspace{0.05cm}1.0 \big )  = 1.000 \hspace{0.05cm}.$
 
  
 +
'''(2)'''&nbsp; On the other hand one obtains for&nbsp; $L_2 = L_3 = 1.0$
 +
* according to the first approach: &nbsp; $L_{\rm E}(1) =2 \cdot {\rm tanh}^{-1} \big [{\rm tanh}(0.5) \cdot {\rm tanh}(0.5) \big ] =2 \cdot {\rm tanh}^{-1}(0.2135) = 0.433\hspace{0.05cm},$
 +
* according to the second approach: &nbsp; $|L_{\rm E}(1)| \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm Min} \big ( 1.0\hspace{0.05cm}, \hspace{0.05cm}1.0 \big )  = 1.000 \hspace{0.05cm}.$
  
Man erkennt die deutliche Diskrepanz zwischen beiden Ansätzen. Der zweite Ansatz (Näherung) ist deutlich positiver als der erste (richtige) Ansatz. Wichtig ist eigentlich aber nur, dass die Iterationen zum gewünschten Decodierergebnis führen.
 
  
 +
One can see the clear discrepancy between the two approaches. The second approach (approximation) is clearly more positive than the first (correct) approach. However, it is actually only important that the iterations lead to the desired decoding result.
  
  
  
  
''Hinweise:''
+
 
* Die Aufgabe gehört zum Kapitel&nbsp; [[Channel_Coding/Soft%E2%80%93in_Soft%E2%80%93out_Decoder|Soft&ndash;in Soft&ndash;out Decoder]].
+
Hints:
*Bezug genommen wird insbesondere auf die Seite&nbsp; [[Channel_Coding/Soft–in_Soft–out_Decoder#Zur_Berechnung_der_extrinsischen_L.E2.80.93Werte|Zur Berechnung der extrinsischen L&ndash;Werte]].  
+
*The exercise belongs to the chapter&nbsp; [[Channel_Coding/Soft-in_Soft-Out_Decoder|"Soft&ndash;in Soft&ndash;out Decoder"]].
* Behandelt wird hier ausschließlich der&nbsp; '''zweite Lösungsansatz'''.  
+
*Referred to in particular&nbsp; [[Channel_Coding/Soft-in_Soft-Out_Decoder#Calculation_of_extrinsic_LLRs|"For calculation of extrinsic L values"]].  
* Zum ersten Lösungsansatz verweisen wir auf die&nbsp; [[Aufgaben:Aufgabe_4.5Z:_Tangens_Hyperbolikus_und_Inverse|Aufgabe 4.5Z]] .
+
* Only the&nbsp; '''second solution approach''' is treated here.  
 +
* For the first solution approach we refer to the&nbsp; [[Exercises:Exercise_4.5Z:_Tangent_Hyperbolic_and_Inverse|"Exercise 4.5Z"]] .
 
   
 
   
  
  
  
===Fragebogen===
+
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
 
{Es gelte&nbsp; $\underline{L} = (+1.0, +0.4, -1.0)$. Ermitteln Sie die extrinsischen&nbsp; $L$&ndash;Werte nach dem '''zweiten&nbsp; $L_{\rm E}(i)$&ndash;Ansatz''' ohne vorherige Iteration&nbsp; $\underline{(I = 0)}$.
 
{Es gelte&nbsp; $\underline{L} = (+1.0, +0.4, -1.0)$. Ermitteln Sie die extrinsischen&nbsp; $L$&ndash;Werte nach dem '''zweiten&nbsp; $L_{\rm E}(i)$&ndash;Ansatz''' ohne vorherige Iteration&nbsp; $\underline{(I = 0)}$.

Revision as of 02:03, 30 October 2022

Tabelle nach dem ersten  $L_{\rm E}(i)$–Ansatz

We assume as in  "theory section"  from  single parity–check code   $\rm SPC \, (3, \, 2, \, 2)$ . The possible code words are  $\underline{x} \hspace{-0.01cm}\in \hspace{-0.01cm} \{ \underline{x}_0,\hspace{0.05cm} \underline{x}_1,\hspace{0.05cm} \underline{x}_2,\hspace{0.05cm} \underline{x}_3\}$  mit

$$\underline{x}_0 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} (0\hspace{-0.03cm},\hspace{0.05cm}0\hspace{-0.03cm},\hspace{0.05cm}0)\hspace{0.35cm}{\rm bzw. } \hspace{0.35cm} \underline{x}_0 \hspace{-0.05cm}=\hspace{-0.05cm} (+1\hspace{-0.03cm},\hspace{-0.05cm}+1\hspace{-0.03cm},\hspace{-0.05cm}+1)\hspace{0.05cm},$$
$$\underline{x}_1 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} (0\hspace{-0.03cm},\hspace{0.05cm}1\hspace{-0.03cm},\hspace{0.05cm}1)\hspace{0.35cm}{\rm bzw. } \hspace{0.35cm} \underline{x}_1 \hspace{-0.05cm}=\hspace{-0.05cm} (+1\hspace{-0.03cm},\hspace{-0.05cm}-1\hspace{-0.03cm},\hspace{-0.05cm}-1)\hspace{0.05cm},$$
$$\underline{x}_2 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} (1\hspace{-0.03cm},\hspace{0.05cm}0\hspace{-0.03cm},\hspace{0.05cm}1)\hspace{0.35cm}{\rm bzw. } \hspace{0.35cm} \underline{x}_2 \hspace{-0.05cm}=\hspace{-0.05cm} (-1\hspace{-0.03cm},\hspace{-0.05cm}+1\hspace{-0.03cm},\hspace{-0.05cm}-1)\hspace{0.05cm},$$
$$\underline{x}_3 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} (1\hspace{-0.03cm},\hspace{0.05cm}1\hspace{-0.03cm},\hspace{0.05cm}0)\hspace{0.35cm}{\rm bzw. } \hspace{0.35cm} \underline{x}_3 \hspace{-0.05cm}=\hspace{-0.05cm} (-1\hspace{-0.03cm},\hspace{-0.05cm}-1\hspace{-0.03cm},\hspace{-0.05cm}+1)\hspace{0.05cm}.$$

In the exercise we mostly use the second (bipolar) representation of the code symbols:   $x_i ∈ \{+1, -1\}$.

  • It is not that the  $\rm SPC \, (3, \, 2, \, 2)$  would be of much practical interest, since, for example, in  hard decision  because of  $d_{\rm min} = 2$  only one error can be detected and none can be corrected. However, the code is well suited for practice and demonstration purposes because of the manageable effort involved.
  • With  iterative symbol-wise decoding  one can also correct one error. In the present code, the extrinsic  $L$–values  $\underline{L}_{\rm E} = \big (L_{\rm E}(1), \ L_{\rm E}(2), \ L_{\rm E}(3)\big )$  must be calculated according to the following equation.
$$L_{\rm E}(i) = {\rm ln} \hspace{0.15cm}\frac{{\rm Pr} \left [w_{\rm H}(\underline{x}^{(-i)})\hspace{0.15cm}{\rm ist \hspace{0.15cm} gerade} \hspace{0.05cm} \right ]}{{\rm Pr} \left [w_{\rm H}(\underline{x}^{(-i)})\hspace{0.15cm}{\rm ist \hspace{0.15cm} ungerade} \hspace{0.05cm} \hspace{0.05cm}\right ]}.$$
Here  $\underline{x}^{(-1)}$  denotes all symbols except  $x_i$  and is thus a vector of length  $n - 1 = 2$.


As the  first $L_{\rm E}(i)$ approach  we refer to the approach corresponding to the equations

$$L_{\rm E}(1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}2 \cdot {\rm tanh}^{-1} \left [{\rm tanh}(L_2/2) \cdot {\rm tanh}(L_3/2) \right ] \hspace{0.05cm},$$
$$L_{\rm E}(2) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}2 \cdot {\rm tanh}^{-1} \left [{\rm tanh}(L_1/2) \cdot {\rm tanh}(L_3/2) \right ] \hspace{0.05cm},$$
$$L_{\rm E}(3) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}2 \cdot {\rm tanh}^{-1} \left [{\rm tanh}(L_1/2) \cdot {\rm tanh}(L_2/2) \right ] \hspace{0.05cm}.$$

(1)  This  $L_{\rm E}(i)$ approach underlies the results table above (red entries), assuming the following a posteriori $L$ values:

$$\underline {L}_{\rm APP} = (+1.0\hspace{0.05cm},\hspace{0.05cm}+0.4\hspace{0.05cm},\hspace{0.05cm}-1.0) \hspace{0.5cm}{\rm kurz\hspace{-0.1cm}:}\hspace{0.25cm} L_1 = +1.0\hspace{0.05cm},\hspace{0.05cm} L_2 = +0.4\hspace{0.05cm},\hspace{0.05cm} L_3 = -1.0\hspace{0.05cm}.$$

(2)  The extrinsic  $L$–values for the zeroth iteration result in  (derivation in  "Exercise 4.5Z"):

$$L_{\rm E}(1) = -0.1829, \ L_{\rm E}(2) = -0.4337, \ L_{\rm E}(3) = +0.1829.$$

(3)  The a posteriori values at the beginning of the first iteration are thus

$$\underline{L}^{(I=1)} = \underline{L}^{(I=0)} + \underline{L}_{\hspace{0.02cm}\rm E}^{(I=0)} = (+0.8171\hspace{0.05cm},\hspace{0.05cm}-0.0337\hspace{0.05cm},\hspace{0.05cm}-0.8171) \hspace{0.05cm} . $$

(4)  From this, the new extrinsic values for the iteration loop  $I = 1$  are as follows:

$$L_{\rm E}(1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}2 \cdot {\rm tanh}^{-1} \big [{\rm tanh}(-0.0337/2) \cdot {\rm tanh}(-0.8171/2) \big ] = 0.0130 = -L_{\rm E}(3)\hspace{0.05cm},$$
$$L_{\rm E}(2) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}2 \cdot {\rm tanh}^{-1} \big [{\rm tanh}(+0.8171/2) \cdot {\rm tanh}(-0.8171/2) \big ] = - 0.3023\hspace{0.05cm}.$$

Further, one can see from the above table:

  • A hard decision according to the signs before the first iteration  $(I = 0)$ fails, since  $(+1, +1, -1)$  is not a valid  $\rm SPC \, (3, \, 2, \, 2)$–code word.
  • But already after  $I = 1$  iterations, a hard decision yields a valid code word, namely  $\underline{x}_2 = (+1, -1, -1)$. Also in later graphs, the rows with correct HD decisions for the first time are highlighted in blue.
  • Hard decisions after further iterations  $(I ≥ 2)$  each lead to the same code word  $\underline{x}_2$. This statement is not only valid for this example, but in general.


Besides, in this exercise we consider a second $L_{\rm E}(i)$ approach, which is given here for the example of the first symbol $(i = 1)$:

$${\rm sign} \big[L_{\rm E}(1)\big] \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm sign} \big[L_{\rm E}(2)\big] \cdot {\rm sign} \big[L_{\rm E}(3)\big]\hspace{0.05cm},\hspace{0.8cm} |L_{\rm E}(1)| \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm Min} \left ( |L_{\rm E}(2)|\hspace{0.05cm}, \hspace{0.05cm}|L_{\rm E}(3)| \right ) \hspace{0.05cm}.$$

This second approach is based on the assumption that the reliability of  $L_{\rm E}(i)$  is essentially determined by the most unreliable neighbor symbol. The better (larger) input–LLR is completely disregarded. – Let us consider two examples for this:


(1)  For  $L_2 = 1.0$  and  $L_3 = 5.0$  we get for example

  • after the first approach:   $L_{\rm E}(1) =2 \cdot {\rm tanh}^{-1} \big [{\rm tanh}(0.5) \cdot {\rm tanh}(2.5) \big ] =2 \cdot {\rm tanh}^{-1}(0.4559) = 0.984\hspace{0.05cm},$
  • according to the second approach:   $|L_{\rm E}(1)| \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm Min} \big ( 1.0\hspace{0.05cm}, \hspace{0.05cm}5.0 \big ) = 1.000 \hspace{0.05cm}.$


(2)  On the other hand one obtains for  $L_2 = L_3 = 1.0$

  • according to the first approach:   $L_{\rm E}(1) =2 \cdot {\rm tanh}^{-1} \big [{\rm tanh}(0.5) \cdot {\rm tanh}(0.5) \big ] =2 \cdot {\rm tanh}^{-1}(0.2135) = 0.433\hspace{0.05cm},$
  • according to the second approach:   $|L_{\rm E}(1)| \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm Min} \big ( 1.0\hspace{0.05cm}, \hspace{0.05cm}1.0 \big ) = 1.000 \hspace{0.05cm}.$


One can see the clear discrepancy between the two approaches. The second approach (approximation) is clearly more positive than the first (correct) approach. However, it is actually only important that the iterations lead to the desired decoding result.



Hints:



Questions

1

Es gelte  $\underline{L} = (+1.0, +0.4, -1.0)$. Ermitteln Sie die extrinsischen  $L$–Werte nach dem zweiten  $L_{\rm E}(i)$–Ansatz ohne vorherige Iteration  $\underline{(I = 0)}$.

$L_{\rm E}(1) \ = \ $

$L_{\rm E}(2) \ = \ $

$L_{\rm E}(3) \ = \ $

2

Wie lauten die Aposteriori–$L$–Werte für die erste Iteration  $\underline{(I = 1)}$?

$L_(1) \ = \ $

$L_(2) \ = \ $

$L_(3) \ = \ $

3

Welcher der folgenden Aussagen gelten für  $\underline{L} = (+1.0, +0.4, -1.0)$?

Hard Decision  nach  $I = 1$  führt zum Codewort  $\underline{x}_1 = (+1, -1, -1)$.
Daran ändert sich auch nach weiteren Iterationen nichts.
Weitere Iterationen erhöhen die Zuverlässigkeit für  $\underline{x}_1$  nicht.

4

Welche der folgenden Aussagen gelten für  $\underline{L} = (+0.6, +1.0, -0.4)$?

Die iterative Decodierung führt zum Ergebnis  $\underline{x}_0 = (+1, +1, +1)$.
Die iterative Decodierung führt zum Ergebnis  $\underline{x}_2 = (-1, +1, -1)$.
Dieses Ergebnis liefert auch Hard Decision ab  $I = 1$.

5

Welche der folgenden Aussagen gelten für  $\underline{L} = (+0.6, +1.0, -0.8)$?

Die iterative Decodierung führt zum Ergebnis  $\underline{x}_0 = (+1, +1, +1)$.
Die iterative Decodierung führt zum Ergebnis  $\underline{x}_2 = (-1, +1, -1)$.
Dieses Ergebnis liefert auch Hard Decision ab  $I = 1$.

6

Welche der folgenden Aussagen gelten für  $\underline{L} = (+0.6, +1.0, -0.6)$?

Die iterative Decodierung führt zum Ergebnis  $\underline{x}_0 = (+1, +1, +1)$.
Die iterative Decodierung führt zum Ergebnis  $\underline{x}_2 = (-1, +1, -1)$.
Die iterative Decodierung führt hier nicht zum Ziel.


Musterlösung

Ergebnisse für  $\underline{L}=(+1.0, +0.4, –1.0)$

(1)  Entsprechend dem zweiten $L_{\rm E}(i)$–Ansatz gilt:

$${\rm sign} [L_{\rm E}(1)] \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm sign} [L_{\rm E}(2)] \cdot {\rm sign} [L_{\rm E}(3)] = -1 \hspace{0.05cm},$$
$$|L_{\rm E}(1)| \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm Min} \left ( |L_{\rm E}(2)|\hspace{0.05cm}, \hspace{0.05cm}|L_{\rm E}(3)| \right ) = {\rm Min} \left ( 0.4\hspace{0.05cm}, \hspace{0.05cm}1.0 \right ) = 0.4\hspace{0.3cm} \Rightarrow \hspace{0.3cm}L_{\rm E}(1) \hspace{0.15cm} \underline{-0.4}\hspace{0.05cm}.$$
  • In gleicher Weise erhält man:
$$L_{\rm E}(2) \hspace{0.15cm} \underline{-1.0}\hspace{0.05cm}, \hspace{0.3cm} L_{\rm E}(3) \hspace{0.15cm} \underline{+0.4}\hspace{0.05cm}.$$


(2)  Die Aposteriori–$L$–Werte zu Beginn der ersten Iteration $(I = 1)$ ergeben sich aus der Summe der bisherigen $L$–Werte (für $I = 0$) und den unter (1) berechneten extrinsischen Werten:

$$L_1 = L_{\rm APP}(1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}1.0 + (-0.4)\hspace{0.15cm} \underline{=+0.6}\hspace{0.05cm},$$
$$L_2 = L_{\rm APP}(2) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} 0.4 + (-1.0)\hspace{0.15cm} \underline{=-0.6}\hspace{0.05cm},$$
$$L_3 = L_{\rm APP}(3) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} (-1.0) + 0.4\hspace{0.15cm} \underline{=-0.6}\hspace{0.05cm}.$$


(3)  Wie aus obiger Tabelle hervorgeht, sind die Lösungsvorschläge 1 und 2 richtig im Gegensatz zur Antwort 3:

  • Mit jeder neuen Iteration werden die Beträge von $L(1), \ L(2)$ und $L(3)$ signifikant größer.


Ergebnisse für  $\underline{L}=(+0.6, +1.0, –0.4)$

(4)  Wie aus nebenstehender Tabelle hervorgeht, sind die Antworten 1 und 3 richtig:

  • Die Entscheidung fällt also für das Codewort $\underline{x}_0 = (+1, +1, +1)$.
  • Ab $I = 1$ wäre dies auch die Entscheidung von Hard Decision.


Ergebnisse für  $\underline{L}=(+0.6, +1.0, –0.8)$

(5)  Richtig sind die Antworten 2 und 3:

  • Wegen $|L(3)| > |L(1)|$ gilt bereits ab $I = 1$:   $L_1 < 0 \hspace{0.05cm},\hspace{0.2cm} L_2 > 0 \hspace{0.05cm},\hspace{0.2cm} L_3 < 0 \hspace{0.05cm}.$
  • Ab dieser Iterationsschleife liefert Hard Decision das Codewort $\underline{x}_2 = (-1, +1, -1)$.


Ergebnisse für  $\underline{L}=(+0.6, +1.0, –0.6)$

(6)  Richtig sind der Lösungsvorschlag 3:

  • Die nebenstehende Tabelle zeigt, dass unter der Voraussetzung $|L(1)| = |L(3)|$ ab der Iterationsschleife $I = 1$ alle extrinsischen $L$–Werte Null sind.
  • Damit bleiben die Aposteriori–$L$–Werte auch für $I > 1$ konstant gleich $\underline{L} = (0., +0.4, 0.)$, was keinem Codewort zugeordnet werden kann.