Difference between revisions of "Aufgaben:Exercise 3.7: Comparison of Two Convolutional Encoders"

From LNTwww
 
(22 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{quiz-Header|Buchseite=Kanalcodierung/Codebeschreibung mit Zustands– und Trellisdiagramm}}
+
{{quiz-Header|Buchseite=Channel_Coding/Code_Description_with_State_and_Trellis_Diagram}}
  
[[File:P_ID2672__KC_A_3_7.png|right|frame|Zwei $(n = 2, \ k = 1, \ m = 2)$–Faltungscodierer]]
+
[[File:EN_KC_A_3_7_neu_v2.png|right|frame|Two convolutional encoders with parameters  $n = 2, \ k = 1, \ m = 2$]]
Die Grafik zeigt zwei Rate–1/2–Faltungscodierer, jeweils mit dem Gedächtnis $m = 2$:
+
The graph shows two rate  $1/2$  convolutional encoders,  each with memory  $m = 2$:
* Der <span style="color: rgb(51, 0, 255);"><b>Coder A</b></span> weist die Übertragungsfunktionsmatrix $\mathbf{G}(D) = (1 + D^2, \ 1 + D + D^2)$ auf.
+
* The encoder &nbsp;$\rm A$&nbsp; has the transfer function matrix $\mathbf{G}(D) = (1 + D^2, \ 1 + D + D^2)$.
* Beim <span style="color: rgb(204, 0, 0);"><b>Coder B</b></span> sind die beiden Filter vertauscht, und es gilt : $\mathbf{G}(D) = (1 + D + D^2, \ 1 + D^2)$.
 
  
 +
* In encoder &nbsp;$\rm B$&nbsp; the two filters&nbsp; $($top and bottom$)$&nbsp; are interchanged,&nbsp; and it holds:
 +
:$$\mathbf{G}(D) = (1 + D + D^2, \ 1 + D^2).$$
  
Der untere Coder wurde im Theorieteil schon ausführlich behandelt. In der vorliegenden Aufgabe sollen Sie zunächst das Zustandsübergangsdiagramm für Coder A ermitteln und anschließend die Unterschiede und die Gemeinsamkeiten zwischen den beiden Diagrammen herausarbeiten.
 
  
''Hinweis''
+
The lower encoder &nbsp;$\rm B$&nbsp; has already been treated in detail in the theory part.  
* Die Aufgabe bezieht sich auf die ersten Seiten des Kapitels [[Kanalcodierung/Codebeschreibung_mit_Zustands%E2%80%93_und_Trellisdiagramm| Codebeschreibung mit Zustands&ndash; und Trellisdiagramm]].
 
  
 +
In the present exercise,&nbsp;
 +
*you are first to determine the state transition diagram for encoder &nbsp;$\rm A$,&nbsp;
  
 +
*and then work out the differences and the similarities between the two state diagrams.
  
===Fragebogen===
+
 
 +
 
 +
 
 +
 
 +
<u>Hints:</u>
 +
*This exercise belongs to the chapter&nbsp; [[Channel_Coding/Code_Description_with_State_and_Trellis_Diagram| "Code description with state and trellis diagram"]].
 +
 
 +
*Reference is made in particular to the sections
 +
:*&nbsp; [[Channel_Coding/Code_Description_with_State_and_Trellis_Diagram#State_definition_for_a_memory_register|"State definition for a memory register"]]&nbsp; and.
 +
:*&nbsp; [[Channel_Coding/Code_Description_with_State_and_Trellis_Diagram#Representation_in_the_state_transition_diagram|"Representation in the state transition diagram"]].
 +
 
 +
 
 +
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{Es gelte $\underline{u} = (0, \, 1, \, 1, \, 1, \, 0, \, 1, \, 0, \, 0, \, ...)$. Welche Sequenzen erzeugt Coder A?
+
{&nbsp; $\underline{u} = (0, \, 1, \, 1, \, 1, \, 0, \, 1, \, 0, \, 0, \, \text{...}\hspace{0.05cm})$&nbsp; holds.&nbsp; Which sequences does encoder &nbsp;$\rm A$ generate?
 
|type="[]"}
 
|type="[]"}
+ $\underline{x}^{(1)} = (0, \, 1, \, 1, \, 0, \, 1, \, 0, \, 0, \, 1, \, ...)$,
+
+ $\underline{x}^{(1)} = (0, \, 1, \, 1, \, 0, \, 1, \, 0, \, 0, \, 1, \, \text{...}\hspace{0.05cm})$,
- $\underline{x}^{(1)} = (0, \, 1, \, 0, \, 1, \, 0, \, 0, \, 1, \, 1, \, ...)$,
+
- $\underline{x}^{(1)} = (0, \, 1, \, 0, \, 1, \, 0, \, 0, \, 1, \, 1, \, \text{...}\hspace{0.05cm})$,
- $\underline{x}^{(2)} = (0, \, 1, \, 1, \, 0, \, 1, \, 0, \, 0, \, 1, \, ...)$,
+
- $\underline{x}^{(2)} = (0, \, 1, \, 1, \, 0, \, 1, \, 0, \, 0, \, 1, \, \text{...}\hspace{0.05cm})$,
+ $\underline{x}^{(2)} = (0, \, 1, \, 0, \, 1, \, 0, \, 0, \, 1, \, 1, \, ...)$.
+
+ $\underline{x}^{(2)} = (0, \, 1, \, 0, \, 1, \, 0, \, 0, \, 1, \, 1, \, \text{...}\hspace{0.05cm})$.
  
{Welche der genannten Zustandsübergänge gibt es bei Coder A?
+
{Which of the above state transitions exist in encoder &nbsp;$\rm A$?
 
|type="[]"}
 
|type="[]"}
 
+ $s_i = S_0, \ u_i = 0 \ &#8658; \ s_{i+1} = S_0; \hspace{1cm} s_i = S_0, \ u_i = 1 \ &#8658; \ s_{i+1} = S_1$.
 
+ $s_i = S_0, \ u_i = 0 \ &#8658; \ s_{i+1} = S_0; \hspace{1cm} s_i = S_0, \ u_i = 1 \ &#8658; \ s_{i+1} = S_1$.
Line 30: Line 44:
 
+ $s_i = S_3, \ u_i = 0 \ &#8658; \ s_{i+1} = S_2; \hspace{1cm} s_i = S_3, \ u_i = 1 \ &#8658; \ s_{i+1} = S_3$.
 
+ $s_i = S_3, \ u_i = 0 \ &#8658; \ s_{i+1} = S_2; \hspace{1cm} s_i = S_3, \ u_i = 1 \ &#8658; \ s_{i+1} = S_3$.
  
{Wie unterscheiden sich die beiden Zustandsübergangsdiagramme?
+
{How do the two state transition diagrams differ?
 
|type="[]"}
 
|type="[]"}
- Es sind andere Zustandsübergänge möglich.
+
- Other state transitions are possible.
- Bei allen acht Übergängen stehen andere Codesequenzen.
+
- All eight transitions have different code sequences.
+ Unterschiede gibt es nur für die Codesequenzen $(01)$ und $(10)$.
+
+ Differences exist only for the code sequences&nbsp; "$(01)$"&nbsp; and&nbsp; "$(10)$".
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; [[File:P_ID2673__KC_A_3_7a_neu.png|right|frame|Berechnung der Codesequenz]] Die Berechnung basiert auf den Gleichungen
+
[[File:P_ID2673__KC_A_3_7a_neu.png|right|frame|Calculation of the code sequence]]  
* $x_i^{(1)} = u_i + u_{i&ndash;2}$,
+
'''(1)'''&nbsp; The calculation is based on the equations
* $x_i^{(2)} = u_i + u_{i&ndash;1} + u_{i&ndash;2}$.
+
:$$x_i^{(1)} = u_i + u_{i&ndash;2},$$
 
+
:$$x_i^{(2)} = u_i + u_{i&ndash;1} + u_{i&ndash;2}.$$
 
+
*Initially,&nbsp; the two memories&nbsp; $(u_{i&ndash;1}$&nbsp; and&nbsp; $u_{i&ndash;2})$&nbsp; are preallocated with zeros &nbsp; &#8658; &nbsp; $s_1 = S_0$.
Zu Beginn sind die beiden Speicher ($u_{i&ndash;1} und $u_{i&ndash;2}$) mit Nullen vorbelegt &nbsp;&#8658;&nbsp; $s_1 ) S_0$. Mit $u_1 = 0$ ergibt sich $\underline{x}_1 = (00)$ und $s_2 = S_0$. Mit $u_2 = 1$ erhält man die Ausgabe $\underline{x}_2 = (11)$ und den neuen Zustand $s_3 = S_3$.
+
 +
*With&nbsp; $u_1 = 0$,&nbsp; we get&nbsp; $\underline{x}_1 = (00)$&nbsp; and&nbsp; $s_2 = S_0$.  
  
Aus nebenstehendem Berechnungsschema erkennt man die Richtigkeit der <u>Lösungsvorschläge 1 und 4</u>.
+
*With&nbsp; $u_2 = 1$,&nbsp; one obtains the output&nbsp; $\underline{x}_2 = (11)$&nbsp; and the new state&nbsp; $s_3 = S_3$.
  
  
'''(2)'''&nbsp; Durch Auswertung der Tabelle von Teilaufgabe (1) erkennt man, dass <u>alle Aussagen</u> richtig sind. Die Ergebnisse sind in der folgenden Grafik dargestellt.
+
From the adjacent calculation scheme one recognizes the correctness of the&nbsp; <u>proposed solutions 1 and 4</u>.
  
[[File:P_ID2674__KC_A_3_7b.png|center|frame|Zustandsübergangsdiagramm für Coder A]]
 
  
 +
[[File:P_ID2674__KC_A_3_7b.png|right|frame|State transition diagram of encoder &nbsp;$\rm A$]]
 +
'''(2)'''&nbsp; <u>All proposed solutions</u>&nbsp; are correct:
 +
*This can be seen by evaluating the table at subtask&nbsp; '''(1)'''.
 +
 +
*The results are shown in the adjacent graph.
 +
<br clear=all>
 +
[[File:P_ID2675__KC_A_3_7c.png|right|frame|State transition diagram of encoder &nbsp;$\rm B$]]
 +
'''(3)'''&nbsp; Correct is only&nbsp; <u>statement 3</u>:
 +
*The state transition diagram of encoder &nbsp;$\rm B$&nbsp; is sketched on the right.&nbsp; For derivation and interpretation,&nbsp; see section [[Channel_Coding/Code_Description_with_State_and_Trellis_Diagram#Representation_in_the_state_transition_diagram|"Representation in the state transition diagram"]].
  
'''(3)'''&nbsp; Nachfolgend sehen Sie das Zustandsübergangsdiagramm von Coder B, das bereits im Theorieteil auf [[Seite 2]] hergeleitet und interpretiert wurde.
+
*If we swap the two output bits&nbsp; $x_i^{(1)}$&nbsp; and&nbsp; $x_i^{(2)}$,&nbsp; we get from the convolutional encoder &nbsp;$\rm A$&nbsp; to the convolutional encoder&nbsp; $\rm B$&nbsp; $($and vice versa$)$.
  
[[File:P_ID2675__KC_A_3_7c.png|Zustandsübergangsdiagramm für Coder B]]
 
  
Richtig ist nur die <u>Aussage 3</u>. Vertauscht man die beiden Ausgabebits $x_i^{(1)}$ und $x_i^{(2)}$, so kommt man vom Faltungscodierer A zum Faltungscodierer B (und umgekehrt).
 
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  
  
  
[[Category:Aufgaben zu  Kanalcodierung|^3.3 Codebeschreibung mit Zustands– und Trellisdiagramm^]]
+
[[Category:Channel Coding: Exercises|^3.3 State and Trellis Diagram^]]

Latest revision as of 18:09, 16 November 2022

Two convolutional encoders with parameters  $n = 2, \ k = 1, \ m = 2$

The graph shows two rate  $1/2$  convolutional encoders,  each with memory  $m = 2$:

  • The encoder  $\rm A$  has the transfer function matrix $\mathbf{G}(D) = (1 + D^2, \ 1 + D + D^2)$.
  • In encoder  $\rm B$  the two filters  $($top and bottom$)$  are interchanged,  and it holds:
$$\mathbf{G}(D) = (1 + D + D^2, \ 1 + D^2).$$


The lower encoder  $\rm B$  has already been treated in detail in the theory part.

In the present exercise, 

  • you are first to determine the state transition diagram for encoder  $\rm A$, 
  • and then work out the differences and the similarities between the two state diagrams.



Hints:

  • Reference is made in particular to the sections


Questions

1

  $\underline{u} = (0, \, 1, \, 1, \, 1, \, 0, \, 1, \, 0, \, 0, \, \text{...}\hspace{0.05cm})$  holds.  Which sequences does encoder  $\rm A$ generate?

$\underline{x}^{(1)} = (0, \, 1, \, 1, \, 0, \, 1, \, 0, \, 0, \, 1, \, \text{...}\hspace{0.05cm})$,
$\underline{x}^{(1)} = (0, \, 1, \, 0, \, 1, \, 0, \, 0, \, 1, \, 1, \, \text{...}\hspace{0.05cm})$,
$\underline{x}^{(2)} = (0, \, 1, \, 1, \, 0, \, 1, \, 0, \, 0, \, 1, \, \text{...}\hspace{0.05cm})$,
$\underline{x}^{(2)} = (0, \, 1, \, 0, \, 1, \, 0, \, 0, \, 1, \, 1, \, \text{...}\hspace{0.05cm})$.

2

Which of the above state transitions exist in encoder  $\rm A$?

$s_i = S_0, \ u_i = 0 \ ⇒ \ s_{i+1} = S_0; \hspace{1cm} s_i = S_0, \ u_i = 1 \ ⇒ \ s_{i+1} = S_1$.
$s_i = S_1, \ u_i = 0 \ ⇒ \ s_{i+1} = S_2; \hspace{1cm} s_i = S_1, \ u_i = 1 \ ⇒ \ s_{i+1} = S_3$.
$s_i = S_2, \ u_i = 0 \ ⇒ \ s_{i+1} = S_0; \hspace{1cm} s_i = S_2, \ u_i = 1 \ ⇒ \ s_{i+1} = S_1$.
$s_i = S_3, \ u_i = 0 \ ⇒ \ s_{i+1} = S_2; \hspace{1cm} s_i = S_3, \ u_i = 1 \ ⇒ \ s_{i+1} = S_3$.

3

How do the two state transition diagrams differ?

Other state transitions are possible.
All eight transitions have different code sequences.
Differences exist only for the code sequences  "$(01)$"  and  "$(10)$".


Solution

Calculation of the code sequence

(1)  The calculation is based on the equations

$$x_i^{(1)} = u_i + u_{i–2},$$
$$x_i^{(2)} = u_i + u_{i–1} + u_{i–2}.$$
  • Initially,  the two memories  $(u_{i–1}$  and  $u_{i–2})$  are preallocated with zeros   ⇒   $s_1 = S_0$.
  • With  $u_1 = 0$,  we get  $\underline{x}_1 = (00)$  and  $s_2 = S_0$.
  • With  $u_2 = 1$,  one obtains the output  $\underline{x}_2 = (11)$  and the new state  $s_3 = S_3$.


From the adjacent calculation scheme one recognizes the correctness of the  proposed solutions 1 and 4.


State transition diagram of encoder  $\rm A$

(2)  All proposed solutions  are correct:

  • This can be seen by evaluating the table at subtask  (1).
  • The results are shown in the adjacent graph.


State transition diagram of encoder  $\rm B$

(3)  Correct is only  statement 3:

  • If we swap the two output bits  $x_i^{(1)}$  and  $x_i^{(2)}$,  we get from the convolutional encoder  $\rm A$  to the convolutional encoder  $\rm B$  $($and vice versa$)$.