Difference between revisions of "Aufgaben:Exercise 4.08: Repetition to the Convolutional Codes"

From LNTwww
 
(25 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{quiz-Header|Buchseite=Kanalcodierung/Grundlegendes zu den Turbocodes}}
+
{{quiz-Header|Buchseite=Channel_Coding/The_Basics_of_Turbo_Codes}}
  
[[File:P_ID3033__KC_A_4_8_v2.png|right|frame|Zustandsübergangsdiagramm eines nichtrekursiven Codes]]
+
[[File:P_ID3033__KC_A_4_8_v2.png|right|frame|State transition diagram of a non-recursive code]]
  
Die Turbocodes basieren auf den Faltungscodes, die im Kapitel [[Kanalcodierung/Grundlagen_der_Faltungscodierung| Grundlagen der Faltungscodierung]] auführlich behandelt werden.
+
The turbo codes are based on convolutional codes,  which are discussed in detail in the chapter  [[Channel_Coding/Basics_of_Convolutional_Coding| "Basics of Convolutional Coding"]].
  
Ausgehend von dem nebenstehenden Zustandsübergangsdiagramm sollen wesentliche Eigenschaften und Kenngrößen des betrachteten Rate–1/2–Faltungscodes ermittelt werden, wobei wir ausdrücklich auf folgende Theorieseiten verweisen:
+
Starting from the adjacent state transition diagram,  essential properties and characteristics of the considered rate  $1/2$  convolutional code shall be determined,  and we explicitly refer to the following theory sections:
  
[[Kanalcodierung/Algebraische_und_polynomische_Beschreibung#Systematische_Faltungscodes|Systematische Faltungscodes (1)]]
+
#[[Channel_Coding/Algebraic_and_Polynomial_Description#Systematic_convolutional_codes|"Systematic convolutional codes"]]
 +
#[[Channel_Coding/Code_Description_with_State_and_Trellis_Diagram#Representation_in_the_state_transition_diagram|"Representation in the state transition diagram"]]
 +
#[[Channel_Coding/Code_Description_with_State_and_Trellis_Diagram#Definition_of_the_free_distance|"Definition of the free distance"]]
 +
#[[Channel_Coding/Algebraic_and_Polynomial_Description#GF.282.29_description_forms_of_a_digital_filter|"GF(2) description forms of a digital filter"]]
 +
#[[Channel_Coding/Algebraic_and_Polynomial_Description#Application_of_the_D.E2.80.93transform_to_rate_.7F.27.22.60UNIQ-MathJax158-QINU.60.22.27.7F_convolution_encoders| "Application of $D$–transform to rate  $1/n$  convolutional codes."]]
  
[[Kanalcodierung/Codebeschreibung_mit_Zustands%E2%80%93_und_Trellisdiagramm#Darstellung_im_Zustands.C3.BCbergangsdiagramm|Darstellung im Zustandsübergangsdiagramm (1)]]
 
  
[[Kanalcodierung/Codebeschreibung_mit_Zustands%E2%80%93_und_Trellisdiagramm#Definition_der_freien_Distanz|Definition der freien Distanz (1)]]
+
In the state transition diagram,  two arrows go from each state.  The label is  "$u_i \hspace{0.05cm}|\hspace{0.05cm} x_i^{(1)}x_i^{(2)}$".  For a systematic code,  this holds:
 +
* The first encoded bit is identical to the information bit:   $\ x_i^{(1)} = u_i ∈ \{0, \, 1\}.$
  
[[Kanalcodierung/Algebraische_und_polynomische_Beschreibung#GF.282.29.E2.80.93Beschreibungsformen_eines_Digitalen_Filters|GF(2)–Beschreibungsformen eines Digitalen Filters (2)]]
+
* The second encoded bit is the parity-check bit:   $\ x_i^{(2)} = p_i ∈ \{0, \, 1\}$.
  
[[Kanalcodierung/Algebraische_und_polynomische_Beschreibung#Anwendung_der_D.E2.80.93Transformation_auf_Rate.E2.80.931.2Fn.E2.80.93Faltungscoder| Anwendung der $D$–Transformation auf Rate–1/n–Faltungscodes (2)]]
 
  
Im Zustandsübergangsdiagramm wird grundsätzlich vom Zustand $S_0$ ausgegangen. Von jedem Zustand gehen zwei Pfeile ab. Die Beschriftung lautet „$u_i | x_i^{(1)}x_i^{(2)}$”. Bei einem systematischen Code gilt dabei:
 
* Das erste Codebit ist identisch mit dem Informationsbit: $\ x_i^{(1)} = u_i ∈ \{0, \, 1\}$
 
* Das zweite Codebit ist das Prüfbit (Paritybit): $\ x_i^{(2)} = p_i ∈ \{0, \, 1\}$.
 
  
  
''Hinweise:''
 
* Die Aufgabe bezieht sich auf das Kapitel [[Kanalcodierung/Grundlegendes_zu_den_Turbocodes| Grundlegendes zu den Turbocodes]].
 
* Ähnliche Aufgaben finden Sie in den Kapiteln 3.1 bis 3.3. In den Fragen zu dieser Aufgabe werden folgende semi–infinite Vektoren verwendet:
 
* Informationssequenz $\ \underline{u} = (u_1, \, u_2, \, ...)$,
 
* Paritysequenz $\ \underline{p} = (p_1, \, p_2, \, ...)$,
 
* Impulsantwort $\ \underline{g} = (g_1, \, g_2, \, ...)$; diese ist gleich der Paritysequenz $\underline{p}$ für $\underline{u} = (1, \, 0, \, 0, \, ...)$.
 
* Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0.” ein.
 
  
  
  
===Fragebogen===
+
Hints:
 +
* The exercise refers to the chapter  [[Channel_Coding/The_Basics_of_Turbo_Codes| "Basics of Turbo Codes"]].
 +
 +
* The following semi–infinite vectors are used in the questions for this exercise:
 +
:* information sequence  $\ \underline{u} = (u_1, \, u_2, \text{ ...})$,
 +
:* parity-check sequence  $\ \underline{p} = (p_1, \, p_2, \text{ ...})$,
 +
:* impulse response  $\ \underline{g} = (g_1, \, g_2, \text{ ...})$;  this is equal to the parity-check sequence   $\underline{p}$   for   $\underline{u} = (1, \, 0, \, 0, \text{ ...})$.
 +
 
 +
 
 +
 
 +
 
 +
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{Wie lautet die Impulsantwort $\underline{g}$?
+
{What is the impulse response&nbsp; $\underline{g}&nbsp;$?
|type="[]"}
+
|type="()"}
- Es gilt $\underline{g} = (1, \, 1, \,1, \, 0, \, 1, \, 1, \, 0, \, 1, \, 1, \, ...)$.
+
- $\underline{g} = (1, \, 1, \,1, \, 0, \, 1, \, 1, \, 0, \, 1, \, 1, \text{ ...})$.
+ Es gilt $\underline{g} = (1, \, 0, \, 1, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0, \, ...)$.
+
+ $\underline{g} = (1, \, 0, \, 1, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0, \text{ ...})$.
  
{Es sei nun $\underline{u} = (1, \, 0, \, 0, \, 1, \, 0, \, 0, \, u_7)$ mit $u_7 &#8712; \{0, \, 1\}$. Welche Aussagen treffen für die Paritysequenz $\underline{p}$ zu?
+
{Now let&nbsp; $\underline{u} = (1, \, 0, \, 0, \, 1, \, 0, \, 0, \, u_7)$&nbsp; be with&nbsp; $u_7 &#8712; \{0, \, 1\}$.&nbsp; Which statements are true for the parity-check sequence &nbsp; $\underline{p}$&nbsp;?
 
|type="[]"}
 
|type="[]"}
+ Die ersten sechs Bit der Paritysequenz sind &bdquo;$1, \, 0, \, 1, \, 1, \, 0, \, 1$&rdquo;.
+
+ The first six bits of the parity-check sequence are&nbsp; "$1, \, 0, \, 1, \, 1, \, 0, \, 1$".
+ Mit $u_7 = 0$ gilt $p_i = 0$ für $i > 6$.
+
+ With&nbsp; $u_7 = 0$&nbsp; holds&nbsp; $p_i = 0$&nbsp; for $i > 6$.
- Mit $u_7 = 1$ gilt $p_i = 0$ für $i > 8$.
+
- With&nbsp; $u_7 = 1$&nbsp; holds&nbsp; $p_i = 0$&nbsp; for $i > 8$.
  
{Wie lautet die $D$&ndash;Übertragungsfunktionsmatrix $\mathbf{G}(D)$?
+
{What is the&nbsp; $D$&ndash;transfer function matrix&nbsp; $\mathbf{G}(D)$?
|type="[]"}
+
|type="()"}
- Es gilt $\mathbf{G}(D) = [1, \ 1 + D]$.
+
- It holds&nbsp; $\mathbf{G}(D) = \big [1, \ 1 + D \big ]$.
+ Es gilt $\mathbf{G}(D) = [1, \ 1 + D^2]$.
+
+ It holds&nbsp; $\mathbf{G}(D) = \big [1, \ 1 + D^2 \big ]$.
- Es gilt $\mathbf{G}(D) = [1 + D^2]$.
+
- It holds&nbsp; $\mathbf{G}(D) = \big [1 + D^2 \big ]$.
  
{Betrachten Sie nun die begrenzte Eingangsfolge $\underline{u} = (1, \, 0, \, 1, \, 0, \, 0, \, 1)$. Welche Aussagen gelten für die dann ebenfalls begrenzte Parityfolge $\underline{p}$?
+
{Now consider the limited input sequence &nbsp; $\underline{u} = (1, \, 0, \, 1, \, 0, \, 0, \, 1)$.&nbsp; Which statements hold for the then also limited parity-check sequence &nbsp; $\underline{p}$?
 
|type="[]"}
 
|type="[]"}
- Die ersten acht Bit der Parityfolge sind &bdquo;$1, \, 0, \, 1, \, 1, \, 1, \, 0, \, 1, \, 0$&rdquo;.
+
- The first eight bits of the parity-check sequence are &nbsp; "$1, \, 0, \, 1, \, 1, \, 1, \, 0, \, 1, \, 0$".
+ Die ersten acht Bit der Parityfolge sind &bdquo;$1, \, 0, \, 0, \, 0, \, 1, \, 1, \, 0, \, 1$&rdquo;.
+
+ The first eight bits of the parity-check sequence are &nbsp; "$1, \, 0, \, 0, \, 0, \, 1, \, 1, \, 0, \, 1$".
+ Es gilt $p_i = 0$ für $i &#8805; 9$.
+
+ It holds &nbsp; $p_i = 0$ &nbsp; for &nbsp;$i &#8805; 9$.
  
{Wie groß ist die freie Distanz des betrachteten Faltungsodes?
+
{What is the free distance&nbsp; $d_{\rm F}$&nbsp; of the considered convolutional code?
 
|type="{}"}
 
|type="{}"}
 
$d_{\rm F} \ = \ ${ 3 3% }
 
$d_{\rm F} \ = \ ${ 3 3% }
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Die Impulsantwort $\underline{g}$ ist gleich der Ausgangsfolge $\underline{p}$ für die Eingangsfolge $\underline{u} = (1, \, 0, \, 0, \, 0, \, ...)$. Ausgehend vom Zustand $S_0$ ergeben sich im Zustandsübergangsdiagramm folgende Übergänge:
+
'''(1)'''&nbsp; Correct is the&nbsp; <u>proposed solution 2</u>:
:$$S_0 &#8594; S_1 &#8594; S_2 &#8594; S_0 &#8594; S_0 &#8594; S_0 &#8594; \hspace{0.6cm} \Rightarrow \hspace{0.5cm} {\rm Impulsantwort} \text{:} \hspace{0.2cm} \underline{g} = (1, \, 0, \, 1, \, 0, \, 0) \, .$$
+
*The impulse response&nbsp; $\underline{g}$&nbsp; is equal to the output sequence &nbsp; $\underline{p}$ &nbsp; for the input sequence&nbsp; $\underline{u} = (1, \, 0, \, 0, \, 0, \text{ ...})$.
 +
 +
*Based on the state&nbsp; $S_0$,&nbsp; the state transition diagram results in the following transitions:
 +
:$$S_0 &#8594; S_1 &#8594; S_2 &#8594; S_0 &#8594; S_0 &#8594; S_0 &#8594; \text{ ...} \hspace{0.6cm} \Rightarrow \hspace{0.5cm} {\rm impulse\:response} \text{:} \hspace{0.2cm} \underline{g} = (1, \, 0, \, 1, \, 0, \, 0) \, .$$
 +
*For a non-recursive filter with memory&nbsp; $m$ &nbsp; &rArr; &nbsp;  $g_i &equiv; 0$&nbsp; holds for&nbsp; $i > m$.&nbsp; In our example,&nbsp; $m = 2$.
 +
 +
*In contrast,&nbsp; the proposed solution 1 applies to the recursive filter&nbsp; $\rm (RSC)$&nbsp; corresponding to&nbsp; [[Aufgaben:Exercise_4.09:_Recursive_Systematic_Convolutional_Codes| $\text{Exercise 4.9}$]].
  
Richtig ist der <u>Lösungsvorschlag 2</u>. Für ein nichtrekursives Filter mit Gedächtnis $m$ gilt $g_i &equiv; 0$ für $i > m$. In unserem Beispiel ist $m = 2$. Der Lösungsvorschlag 1 gilt dagegen für das rekursive Filter (RSC) entsprechend der [[Aufgaben:4.09_Wiederholung_zu_den_RSC-Codes| Aufgabe A4.9]].
 
  
  
'''(2)'''&nbsp; Es sei $\underline{u} = (1, \, 0, \, 0, \, 1, \, 0, \, 0, \, u_7)$ und $\underline{g} = (1, \, 0, \, 1, \, 0, \, 0, \, 0, \, ...)$. Dann gilt für die Paritysequenz aufgrund der Linearität:
+
'''(2)'''&nbsp; Let be &nbsp; $\underline{u} = (1, \, 0, \, 0, \, 1, \, 0, \, 0, \, u_7)$ &nbsp; and &nbsp; $\underline{g} = (1, \, 0, \, 1, \, 0, \, 0, \, 0, \, ...)$.&nbsp;
 +
*Then the following holds for the parity-check sequence due to linearity:
 
:$$\underline{p} \hspace{-0.15cm} \ = \ \hspace{-0.15cm}  
 
:$$\underline{p} \hspace{-0.15cm} \ = \ \hspace{-0.15cm}  
 
(\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 0, \hspace{0.05cm} 0,\hspace{0.05cm} u_7\hspace{0.05cm} )  
 
(\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 0, \hspace{0.05cm} 0,\hspace{0.05cm} u_7\hspace{0.05cm} )  
 
* (\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 0
 
* (\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 0
,\hspace{0.05cm} 0,\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm}  ...)= $$
+
,\hspace{0.05cm} 0,\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm}  \text{ ...})= $$
:$$\ = \ \hspace{-0.15cm} (\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm}0, \hspace{0.05cm}  ... \hspace{0.05cm})\oplus$$
+
:$$\ = \ \hspace{-0.15cm} (\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm}0, \hspace{0.05cm}  \text{ ...} \hspace{0.05cm})\hspace{0.05cm}\oplus (\hspace{0.05cm}0,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm}0,\hspace{0.05cm}\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm}0, \hspace{0.05cm} \text{ ...}\hspace{0.05cm})\hspace{0.05cm}\oplus (\hspace{0.05cm}0,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm}0,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm} u_7,\hspace{0.05cm} 0,\hspace{0.05cm}u_7, \hspace{0.05cm}  \text{ ...} \hspace{0.05cm}) $$
:$$\ \oplus \ \hspace{-0.15cm} (\hspace{0.05cm}0,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm}0,\hspace{0.05cm}\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm}0, \hspace{0.05cm} ... \hspace{0.05cm})\oplus$$
+
:$$\Rightarrow \hspace{0.3cm}\underline{p} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} (\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} u_7,\hspace{0.05cm} 0,\hspace{0.05cm}u_7, \hspace{0.05cm} \text{ ...} \hspace{0.05cm})
:$$\ \oplus \ \hspace{-0.15cm}  (\hspace{0.05cm}0,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm}0,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm} u_7,\hspace{0.05cm} 0,\hspace{0.05cm}u_7, \hspace{0.05cm}  ... \hspace{0.05cm})= $$
 
:$$\ = \ \hspace{-0.15cm} (\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} u_7,\hspace{0.05cm} 0,\hspace{0.05cm}u_7, \hspace{0.05cm} ... \hspace{0.05cm})
 
 
  \hspace{0.05cm}.$$
 
  \hspace{0.05cm}.$$
  
Richtig sind demnach die <u>Lösungsvorschläge 1 und 2</u> im Gegensatz zur Antwort 3: Für $u_7 = 1$ gilt $p_7 = 1, \ p_8 = 0, \ p_9 = 1$ und $p_i &equiv; 0$ für $i > 9$.
+
*Correct are therefore the&nbsp; <u>proposed solutions 1 and 2</u>&nbsp; in contrast to the answer 3:
 +
 +
*For&nbsp; $u_7 = 1$&nbsp; holds &nbsp; $p_7 = 1, \ p_8 = 0, \ p_9 = 1$ &nbsp; and&nbsp; $p_i &equiv; 0$&nbsp; for&nbsp; $i > 9$.
 +
 
  
  
'''(3)'''&nbsp; Aus dem Zustandsübergangsdiagramm erkennt man die Codeparameter $k = 1$ und $n = 2$. Das heißt: Die Übertragungsfunktionsmatrix $\mathbf{G}(D)$ besteht aus zwei Elementen &nbsp;&#8658;&nbsp; der Vorschlag 3 ist falsch.
+
'''(3)'''&nbsp; Correct is the&nbsp; <u>proposed solution 2</u>:
* Die erste Komponente von $\mathbf{G}(D)$ ist tatsächlich 1, da ein systematischer Code vorliegt: $\ \underline{x}^{(1)} &equiv; \underline{z}$.
+
*From the state transition diagram one can see the code parameters&nbsp; $k = 1$&nbsp; and&nbsp; $n = 2$.
* Die zweite Komponente von $\mathbf{G}(D)$ ist gleich der $D$&ndash;Transformierten der Impulsantwort $\underline{g}$, wobei die Dummy&ndash;Variable $D$ eine Verzögerung um ein Bit angibt:
+
:$$\underline{g}= (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} ...\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad
+
*This means:&nbsp; The transfer function matrix&nbsp; $\mathbf{G}(D)$&nbsp; consists of two elements &nbsp; &#8658; &nbsp; the proposition 3 is wrong.
G^{(2)}(D) =  1+  D^2\hspace{0.05cm}. $$
 
  
Richtig ist demnach der <u>Lösungsvorschlag 2</u>.
+
* The first component of&nbsp; $\mathbf{G}(D)$&nbsp; is actually&nbsp; $1$,&nbsp; since there is a systematic code:&nbsp; $\ \underline{x}^{(1)} &equiv; \underline{z}$.
  
Über die Fragestellung hinausgehend betrachten wir hier auch noch die vorliegende Filterstruktur:
+
* The second component of&nbsp; $\mathbf{G}(D)$&nbsp; is equal to the&nbsp; $D$&ndash;transform of the impulse response&nbsp; $\underline{g}$,&nbsp; where the dummy variable&nbsp; $D$ indicates&nbsp; a delay of one bit:
 +
:$$\underline{g}= (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} \text{ ...}\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad
 +
G^{(2)}(D) =  1+  D^2\hspace{0.05cm}. $$
  
[[File:P_ID3038__KC_A_4_8c_v1.png|center|frame|Drei Beispiele für Rate–1/2–Faltungscodierer]]
+
[[File:EN_KC_A_4_8c_v1.png|right|frame|Three examples of rate 1/2 convolutional encoders]]
  
In der Grafik ist der hier betrachtete Coder als <b>Coder A</b> links dargestellt. Der Coder A
+
Going beyond the question,&nbsp; we also consider here the filter structure at hand.&nbsp; In the diagram,&nbsp; the encoder considered here is shown as coder&nbsp; $\rm A$&nbsp; on the left.  
* ist ebenso wie der Coder B systematisch,
+
* This is systematic like the encoder&nbsp; $\rm B$.&nbsp;  But,&nbsp; unlike encoder&nbsp; $\rm B$,&nbsp; it is based on a non-recursive filter.
* basiert im Gegensatz zu Coder B aber auf einem nichtrekursiven Filter.
 
  
 +
*The encoder&nbsp; $\rm C$&nbsp; has also a non-recursive structure,&nbsp; but it is not systematic.&nbsp; The equivalent systematic representation of encoder&nbsp; $\rm C$&nbsp; is encoder&nbsp; $\rm B$.
  
Der Coder C hat ebenfalls eine nichtrekursive Struktur, ist aber nicht systematisch. Die äquivalente systematische Repräsentation von Coder C ist der Coder B.
 
  
  
'''(4)'''&nbsp; Die Aufgabe könnte in gleicher Weise gelöst werden wie die Teilaufgabe (2). Wir wählen hier aber zur Abwechslung den Weg über die $D$&ndash;Transformation:
+
'''(4)'''&nbsp; Correct are the&nbsp; <u>proposed solutions 2 and 3</u>:
 +
*The exercise could be solved in the same way as subtask&nbsp; '''(2)'''.&nbsp; However,&nbsp; we choose here for a change the way about the $D$&ndash;transform:
 
:$$\underline{u}= (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad
 
:$$\underline{u}= (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad
 
U(D) =  1+  D^2 + D^5$$
 
U(D) =  1+  D^2 + D^5$$
 
:$$\Rightarrow \hspace{0.3cm} P(D) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}
 
:$$\Rightarrow \hspace{0.3cm} P(D) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}
U(D) \cdot G(D) = (1+  D^2 + D^5) \cdot (1+  D^2 ) =$$
+
U(D) \cdot G(D) = (1+  D^2 + D^5) \cdot (1+  D^2 ) =1+  D^2 + D^5 + D^2 + D^4 + D^7 = 1+  D^4 + D^5 +  D^7$$
:$$\ = \ \hspace{-0.15cm}1+  D^2 + D^5 + D^2 + D^4 + D^7 = 1+  D^4 + D^5 +  D^7$$
 
 
:$$\Rightarrow \hspace{0.3cm} \underline{p}= (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm})\hspace{0.05cm}.$$
 
:$$\Rightarrow \hspace{0.3cm} \underline{p}= (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm})\hspace{0.05cm}.$$
  
Richtig sind die <u>Lösungsvorschläge 2 und 3</u>.
 
  
  
'''(5)'''&nbsp; Die freie Distanz $d_{\rm F}$ eines Faltungscoders ist gleich der Anzahl der Bits, durch die sich zwei beliebigen Sequenzen dieses Codes mindestens unterscheiden. Gehen wir wie allgemein üblich als Bezugsgröße von der Nullsequenz $\underline{0} \ \Rightarrow \ S_0 &#8594; S_0 &#8594; S_0 &#8594; S_0 &#8594; \ ... $ aus, so ergibt sich $d_{\rm F}$ gleichzeitig als das minimale Hamming&ndash;Gewicht (Anzahl der Einsen) einer zulässigen Codesequenz $\underline{x} &ne; \underline{0}$.
+
'''(5)'''&nbsp; The free distance&nbsp; $d_{\rm F}$&nbsp; of a convolutional encoder is equal to the minimum number of bits by which any two sequences of this code differ.  
 +
*If we take as a reference the zero sequence&nbsp; $\underline{0}\ \Rightarrow \ S_0 &#8594; S_0 &#8594; S_0 &#8594; S_0 &#8594; \ \text{ ...} \ $,&nbsp; &nbsp; as is commonly done then&nbsp; $d_{\rm F}$&nbsp; is simultaneously obtained as the minimum Hamming weight&nbsp; $($number of&nbsp; "ones"$)$&nbsp; of an admissible encoded sequence&nbsp; $\underline{x} &ne; \underline{0}$.
  
Aus dem Zustandsübergangsdiagramm erkennt man, dass die frei Distanz zum Beispiel durch den Pfad
+
*From the state transition diagram,&nbsp; we can see that the free distance e.g. is given by the path
:$$ S_0 &#8594; S_0 &#8594; S_1 &#8594; S_2 &#8594; S_0 &#8594; S_0 &#8594; \ ...$$
+
:$$ S_0 &#8594; S_0 &#8594; S_1 &#8594; S_2 &#8594; S_0 &#8594; S_0 &#8594; \text{ ...}$$
  
gekennzeichnet ist, also durch die Codesequenz
+
:thus identified by the encoded sequence&nbsp; $00 \hspace{0.1cm} 11 \hspace{0.1cm} 00 \hspace{0.1cm} 01 \hspace{0.1cm} 00 \text{ ...} \ .$
:$$00 \hspace{0.4cm} 11 \hspace{0.4cm} 00 \hspace{0.4cm} 01 \hspace{0.4cm} 00 \ ... \ .$$
 
  
Dementsprechend gilt für die freie Distanz dieses nichtrekursiven Codes: $\hspace{0.2cm} d_{\rm F} \ \underline{= 3}$.
+
*Accordingly,&nbsp; for the free distance of this non-recursive code &nbsp; &rArr; &nbsp;  $\hspace{0.2cm} d_{\rm F} \ \underline{= 3}$.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  
  
  
[[Category:Aufgaben zu  Kanalcodierung|^4.3 Grundlegendes zu den Turbocodes^]]
+
[[Category:Channel Coding: Exercises|^4.3 About the Turbo Codes^]]

Latest revision as of 16:59, 19 December 2022

State transition diagram of a non-recursive code

The turbo codes are based on convolutional codes,  which are discussed in detail in the chapter  "Basics of Convolutional Coding".

Starting from the adjacent state transition diagram,  essential properties and characteristics of the considered rate  $1/2$  convolutional code shall be determined,  and we explicitly refer to the following theory sections:

  1. "Systematic convolutional codes"
  2. "Representation in the state transition diagram"
  3. "Definition of the free distance"
  4. "GF(2) description forms of a digital filter"
  5. "Application of $D$–transform to rate  $1/n$  convolutional codes."


In the state transition diagram,  two arrows go from each state.  The label is  "$u_i \hspace{0.05cm}|\hspace{0.05cm} x_i^{(1)}x_i^{(2)}$".  For a systematic code,  this holds:

  • The first encoded bit is identical to the information bit:   $\ x_i^{(1)} = u_i ∈ \{0, \, 1\}.$
  • The second encoded bit is the parity-check bit:   $\ x_i^{(2)} = p_i ∈ \{0, \, 1\}$.




Hints:

  • The following semi–infinite vectors are used in the questions for this exercise:
  • information sequence  $\ \underline{u} = (u_1, \, u_2, \text{ ...})$,
  • parity-check sequence  $\ \underline{p} = (p_1, \, p_2, \text{ ...})$,
  • impulse response  $\ \underline{g} = (g_1, \, g_2, \text{ ...})$;  this is equal to the parity-check sequence   $\underline{p}$   for   $\underline{u} = (1, \, 0, \, 0, \text{ ...})$.



Questions

1

What is the impulse response  $\underline{g} $?

$\underline{g} = (1, \, 1, \,1, \, 0, \, 1, \, 1, \, 0, \, 1, \, 1, \text{ ...})$.
$\underline{g} = (1, \, 0, \, 1, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0, \text{ ...})$.

2

Now let  $\underline{u} = (1, \, 0, \, 0, \, 1, \, 0, \, 0, \, u_7)$  be with  $u_7 ∈ \{0, \, 1\}$.  Which statements are true for the parity-check sequence   $\underline{p}$ ?

The first six bits of the parity-check sequence are  "$1, \, 0, \, 1, \, 1, \, 0, \, 1$".
With  $u_7 = 0$  holds  $p_i = 0$  for $i > 6$.
With  $u_7 = 1$  holds  $p_i = 0$  for $i > 8$.

3

What is the  $D$–transfer function matrix  $\mathbf{G}(D)$?

It holds  $\mathbf{G}(D) = \big [1, \ 1 + D \big ]$.
It holds  $\mathbf{G}(D) = \big [1, \ 1 + D^2 \big ]$.
It holds  $\mathbf{G}(D) = \big [1 + D^2 \big ]$.

4

Now consider the limited input sequence   $\underline{u} = (1, \, 0, \, 1, \, 0, \, 0, \, 1)$.  Which statements hold for the then also limited parity-check sequence   $\underline{p}$?

The first eight bits of the parity-check sequence are   "$1, \, 0, \, 1, \, 1, \, 1, \, 0, \, 1, \, 0$".
The first eight bits of the parity-check sequence are   "$1, \, 0, \, 0, \, 0, \, 1, \, 1, \, 0, \, 1$".
It holds   $p_i = 0$   for  $i ≥ 9$.

5

What is the free distance  $d_{\rm F}$  of the considered convolutional code?

$d_{\rm F} \ = \ $


Solution

(1)  Correct is the  proposed solution 2:

  • The impulse response  $\underline{g}$  is equal to the output sequence   $\underline{p}$   for the input sequence  $\underline{u} = (1, \, 0, \, 0, \, 0, \text{ ...})$.
  • Based on the state  $S_0$,  the state transition diagram results in the following transitions:
$$S_0 → S_1 → S_2 → S_0 → S_0 → S_0 → \text{ ...} \hspace{0.6cm} \Rightarrow \hspace{0.5cm} {\rm impulse\:response} \text{:} \hspace{0.2cm} \underline{g} = (1, \, 0, \, 1, \, 0, \, 0) \, .$$
  • For a non-recursive filter with memory  $m$   ⇒   $g_i ≡ 0$  holds for  $i > m$.  In our example,  $m = 2$.
  • In contrast,  the proposed solution 1 applies to the recursive filter  $\rm (RSC)$  corresponding to  $\text{Exercise 4.9}$.


(2)  Let be   $\underline{u} = (1, \, 0, \, 0, \, 1, \, 0, \, 0, \, u_7)$   and   $\underline{g} = (1, \, 0, \, 1, \, 0, \, 0, \, 0, \, ...)$. 

  • Then the following holds for the parity-check sequence due to linearity:
$$\underline{p} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} (\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 0, \hspace{0.05cm} 0,\hspace{0.05cm} u_7\hspace{0.05cm} ) * (\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 0 ,\hspace{0.05cm} 0,\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} \text{ ...})= $$
$$\ = \ \hspace{-0.15cm} (\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm}0, \hspace{0.05cm} \text{ ...} \hspace{0.05cm})\hspace{0.05cm}\oplus (\hspace{0.05cm}0,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm}0,\hspace{0.05cm}\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm}0, \hspace{0.05cm} \text{ ...}\hspace{0.05cm})\hspace{0.05cm}\oplus (\hspace{0.05cm}0,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm}0,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm} u_7,\hspace{0.05cm} 0,\hspace{0.05cm}u_7, \hspace{0.05cm} \text{ ...} \hspace{0.05cm}) $$
$$\Rightarrow \hspace{0.3cm}\underline{p} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} (\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}0,\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} u_7,\hspace{0.05cm} 0,\hspace{0.05cm}u_7, \hspace{0.05cm} \text{ ...} \hspace{0.05cm}) \hspace{0.05cm}.$$
  • Correct are therefore the  proposed solutions 1 and 2  in contrast to the answer 3:
  • For  $u_7 = 1$  holds   $p_7 = 1, \ p_8 = 0, \ p_9 = 1$   and  $p_i ≡ 0$  for  $i > 9$.


(3)  Correct is the  proposed solution 2:

  • From the state transition diagram one can see the code parameters  $k = 1$  and  $n = 2$.
  • This means:  The transfer function matrix  $\mathbf{G}(D)$  consists of two elements   ⇒   the proposition 3 is wrong.
  • The first component of  $\mathbf{G}(D)$  is actually  $1$,  since there is a systematic code:  $\ \underline{x}^{(1)} ≡ \underline{z}$.
  • The second component of  $\mathbf{G}(D)$  is equal to the  $D$–transform of the impulse response  $\underline{g}$,  where the dummy variable  $D$ indicates  a delay of one bit:
$$\underline{g}= (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} \text{ ...}\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad G^{(2)}(D) = 1+ D^2\hspace{0.05cm}. $$
Three examples of rate 1/2 convolutional encoders

Going beyond the question,  we also consider here the filter structure at hand.  In the diagram,  the encoder considered here is shown as coder  $\rm A$  on the left.

  • This is systematic like the encoder  $\rm B$.  But,  unlike encoder  $\rm B$,  it is based on a non-recursive filter.
  • The encoder  $\rm C$  has also a non-recursive structure,  but it is not systematic.  The equivalent systematic representation of encoder  $\rm C$  is encoder  $\rm B$.


(4)  Correct are the  proposed solutions 2 and 3:

  • The exercise could be solved in the same way as subtask  (2).  However,  we choose here for a change the way about the $D$–transform:
$$\underline{u}= (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad U(D) = 1+ D^2 + D^5$$
$$\Rightarrow \hspace{0.3cm} P(D) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} U(D) \cdot G(D) = (1+ D^2 + D^5) \cdot (1+ D^2 ) =1+ D^2 + D^5 + D^2 + D^4 + D^7 = 1+ D^4 + D^5 + D^7$$
$$\Rightarrow \hspace{0.3cm} \underline{p}= (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm})\hspace{0.05cm}.$$


(5)  The free distance  $d_{\rm F}$  of a convolutional encoder is equal to the minimum number of bits by which any two sequences of this code differ.

  • If we take as a reference the zero sequence  $\underline{0}\ \Rightarrow \ S_0 → S_0 → S_0 → S_0 → \ \text{ ...} \ $,    as is commonly done then  $d_{\rm F}$  is simultaneously obtained as the minimum Hamming weight  $($number of  "ones"$)$  of an admissible encoded sequence  $\underline{x} ≠ \underline{0}$.
  • From the state transition diagram,  we can see that the free distance e.g. is given by the path
$$ S_0 → S_0 → S_1 → S_2 → S_0 → S_0 → \text{ ...}$$
thus identified by the encoded sequence  $00 \hspace{0.1cm} 11 \hspace{0.1cm} 00 \hspace{0.1cm} 01 \hspace{0.1cm} 00 \text{ ...} \ .$
  • Accordingly,  for the free distance of this non-recursive code   ⇒   $\hspace{0.2cm} d_{\rm F} \ \underline{= 3}$.