Difference between revisions of "Aufgaben:Exercise 3.6: State Transition Diagram"

From LNTwww
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_ID2648__KC_A_3_6.png|right|frame|Einfache Realisierung eines Rate–$1/2$–Faltungscodierers]]
+
[[File:P_ID2648__KC_A_3_6.png|right|frame|Simple realization of a rate $1/2$ convolutional encoder]]
Eine Beschreibungsmöglichkeit für Faltungscodierer bietet das so genannte <i>Zustandsübergangsdiagramm</i>. Beinhaltet der Coder&nbsp; $m$&nbsp; Speicherregister &nbsp; &#8658; &nbsp; Einflusslänge&nbsp; $\nu = m + 1$, so gibt es nach der aktuellen Speicherbelegung verschiedene Zustände&nbsp; $S_{\mu}$ mit $0 &#8804; \mu &#8804; 2^m -1$, wobei für den Index gilt:
+
A description possibility for convolutional coders is provided by the so-called <i>state transition diagram</i>. If the coder&nbsp; $m$&nbsp; contains memory registers &nbsp; &#8658; &nbsp; influence length&nbsp; $\nu = m + 1$, then there are different states&nbsp; $S_{\mu}$ with $0 &#8804; \mu &#8804; 2^m -1$, where holds for the index:
 
:$$\mu = \sum_{l = 1}^{m} \hspace{0.1cm}2^{l-1} \cdot u_{i-l}
 
:$$\mu = \sum_{l = 1}^{m} \hspace{0.1cm}2^{l-1} \cdot u_{i-l}
 
\hspace{0.05cm}.$$
 
\hspace{0.05cm}.$$
  
Diese Art der Coderbeschreibung soll auf den oben skizzierten Faltungscodierer der Rate&nbsp; $R = 1/2$&nbsp; angewendet werden.
+
This type of code description is to be applied to the convolutional coder of rate&nbsp; $R = 1/2$&nbsp; outlined above.
  
  
Line 15: Line 15:
  
  
''Hinweise:''
+
Hints:
* Die Aufgabe gehört zum Kapitel&nbsp; [[Channel_Coding/Codebeschreibung_mit_Zustands%E2%80%93_und_Trellisdiagramm| Codebeschreibung mit Zustands&ndash; und Trellisdiagramm]].
+
*This exercise belongs to the chapter&nbsp; [[Channel_Coding/Code_Description_with_State_and_Trellis_Diagram| "Code Description with State and Trellis Diagram"]].
*Bezug genommen wird insbesondere auf den Abschnitt&nbsp; [[Channel_Coding/Codebeschreibung_mit_Zustands–_und_Trellisdiagramm#Zustandsdefinition_f.C3.BCr_ein_Speicherregister|Zustandsdefinition für ein Speicherregister]].
+
*Reference is made in particular to the section&nbsp; [[Channel_Coding/Code_Description_with_State_and_Trellis_Diagram#State_definition_for_a_memory_register|"State definition for a memory register"]].
  
  
  
===Fragebogen===
+
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{Wieviele Zustände weist dieser Faltungscodierer auf?
+
{How many states does this convolutional encoder have?
 
|type="{}"}
 
|type="{}"}
${\rm Anzahl \ der \ Zustände} \ = \ ${ 2 }
+
${\rm Number \ of \ states} \ = \ ${ 2 }
  
{Kommt man von jedem Zustand zu allen anderen Zuständen?
+
{Do you get from any state to all other states?
 
|type="()"}
 
|type="()"}
+ Ja.
+
+ Yes.
- Nein.
+
- No.
  
{Welche Aussagen gelten für den Übergang von&nbsp; $s_i = S_1$&nbsp; nach&nbsp; $s_{i+1} = S_0$?
+
{What statements hold for the transition from&nbsp; $s_i = S_1$&nbsp; to&nbsp; $s_{i+1} = S_0$?
 
|type="[]"}
 
|type="[]"}
+ Das aktuelle Informationsbit muss&nbsp; $u_i = 0$&nbsp; sein.
+
+ The current information bit must&nbsp; $u_i = 0$&nbsp;.
- Das aktuelle Informationsbit muss&nbsp; $u_i = 1$&nbsp; sein.
+
- The current information bit must be&nbsp; $u_i = 1$&nbsp;.
+ Die zugehörige Codesequenz lautet&nbsp; $\underline{x}_i = (01)$.
+
+ The associated code sequence is&nbsp; $\underline{x}_i = (01)$.
- Die zugehörige Codesequenz lautet&nbsp; $\underline{x}_i = (10)$.
+
- The associated code sequence is&nbsp; $\underline{x}_i = (10)$.
  
{Welche Aussagen gelten für den Übergang von&nbsp; $s_i = S_1$&nbsp; nach&nbsp; $s_{i+1} = S_1$?
+
{What statements hold for the transition from&nbsp; $s_i = S_1$&nbsp; to&nbsp; $s_{i+1} = S_1$?
 
|type="[]"}
 
|type="[]"}
- Das aktuelle Informationsbit muss&nbsp; $u_i = 0$&nbsp; sein.
+
- The current information bit must&nbsp; $u_i = 0$&nbsp;.
+ Das aktuelle Informationsbit muss&nbsp; $u_i = 1$&nbsp; sein.
+
+ The current information bit must be&nbsp; $u_i = 1$&nbsp;.
- Die zugehörige Codesequenz lautet&nbsp; $\underline{x}_i = (01)$.
+
- The associated code sequence is&nbsp; $\underline{x}_i = (01)$.
+ Die zugehörige Codesequenz lautet&nbsp; $\underline{x}_i = (10)$.
+
+ The associated code sequence is&nbsp; $\underline{x}_i = (10)$.
  
{Welche Informationssequenzen sind möglich?
+
{Which information sequences are possible?
 
|type="[]"}
 
|type="[]"}
 
+ $\underline{u} = (1, \, 1, \, 0, \, 0, \, 1 \, 1, \, \text{...}\hspace{0.05cm})$,
 
+ $\underline{u} = (1, \, 1, \, 0, \, 0, \, 1 \, 1, \, \text{...}\hspace{0.05cm})$,
 
+ $\underline{u} = (1, \, 0, \, 1, \, 0, \, 1, \, 0, \, \text{...}\hspace{0.05cm})$.
 
+ $\underline{u} = (1, \, 0, \, 1, \, 0, \, 1, \, 0, \, \text{...}\hspace{0.05cm})$.
  
{Welche Codesequenzen sind möglich?
+
{Which code sequences are possible?
 
|type="[]"}
 
|type="[]"}
 
+ $\underline{x} = (11, \, 10, \, 01, \, 00, \, 11, \, 10, \, \text{...}\hspace{0.05cm})$,
 
+ $\underline{x} = (11, \, 10, \, 01, \, 00, \, 11, \, 10, \, \text{...}\hspace{0.05cm})$,
Line 57: Line 57:
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
[[File:P_ID2649__KC_A_3_6a_neu.png|right|frame|Ersatzschaltbild des betrachteten Codierers]]  
+
[[File:P_ID2649__KC_A_3_6a_neu.png|right|frame|Equivalent circuit diagram of the encoder under consideration]]  
'''(1)'''&nbsp; Wie aus dem nebenstehenden Ersatzschaltbild hervorgeht, beinhaltet der Codierer nur ein Speicherelement &nbsp; <br>&#8658; &nbsp; Gedächtnis $m = 1$. Damit gibt es $2^m \ \underline{= 2}$ Zustände, nämlich
+
'''(1)'''&nbsp; As can be seen from the accompanying equivalent circuit diagram, the encoder contains only one memory element &nbsp; <br>&#8658; &nbsp; Memory $m = 1$. Thus there are $2^m \ \underline{= 2}$ states, viz.
* den Zustand $S_0 \ \Rightarrow \ u_{i&ndash;1} = 0$,
+
* the state $S_0 \ \Rightarrow \ u_{i&ndash;1} = 0$,
* den Zustand $S_1 \ \Rightarrow \ u_{i&ndash;1} = 1$.
+
* the state $S_1 \ \Rightarrow \ u_{i&ndash;1} = 1$.
  
  
 +
'''(2)'''&nbsp; From each state $2^k = 2$ arrows go to different states.
 +
*Since there are only two states, the answer <u>YES</u> is correct.
  
'''(2)'''&nbsp; Von jedem Zustand gehen $2^k = 2$ Pfeile zu verschiedenenen Zuständen ab.
 
*Da es nur zwei Zustände gibt, ist die Antwort <u>JA</u> richtig.
 
  
 
+
'''(3)'''&nbsp; Correct are the <u>solutions 1 and 3</u>:
 
+
*The information bit $u_i$ present at time $i$ is, with respect to the following time $(j = i + 1)$, the previous bit $(u_{j&ndash;1})$.  
'''(3)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 1 und 3</u>:
+
*Thus $s_{i+1} = u_i$ holds. Only with $u_i = 0$ does one get from $s_i = S_1$ to $s_{i+1} = S_0$ &nbsp; &#8658; &nbsp; <u>Proposed solution 1</u>.
*Das zum Zeitpunkt $i$ anliegende Informationsbit $u_i$ ist hinsichtlich des darauf folgenden Zeitpunkts $(j = i + 1)$ das vorherige Bit $(u_{j&ndash;1})$.  
+
*From $s_i = S_1$ &#8658; $u_{i&ndash;1} = 1$ follows further &nbsp; &#8658; &nbsp; <u>Proposed solution 3</u>:
*Damit gilt $s_{i+1} = u_i$. Nur mit $u_i = 0$ kommt man von $s_i = S_1$ nach $s_{i+1} = S_0$ &nbsp; &#8658; &nbsp; <u>Lösungsvorschlag 1</u>.
 
*Aus $s_i = S_1$ &#8658; $u_{i&ndash;1} = 1$ folgt weiter &nbsp; &#8658; &nbsp; <u>Lösungsvorschlag 3</u>:
 
 
:$${x}_i^{(1)} = u_i = 0\hspace{0.05cm},\hspace{0.2cm}{x}_i^{(2)} = u_i + u_{i-1}= 0+1 = 1   
 
:$${x}_i^{(1)} = u_i = 0\hspace{0.05cm},\hspace{0.2cm}{x}_i^{(2)} = u_i + u_{i-1}= 0+1 = 1   
 
\hspace{0.3cm}\Rightarrow \hspace{0.3cm}\underline{x}_i = (0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm})
 
\hspace{0.3cm}\Rightarrow \hspace{0.3cm}\underline{x}_i = (0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm})
 
\hspace{0.05cm}. $$
 
\hspace{0.05cm}. $$
*Den Lösungsvorschlag 4 hätte man von Anfang an ausschließen können. Die Grafik auf dem Angabenblatt zeigt eindeutig, dass der Coder systematisch ist: $x_i^{(1)} = u_i$. Die Kombination $u_i = 0$ und $\underline{x}_i = (1, 0)$ würde dem widersprechen.
+
*The proposed solution 4 could have been ruled out from the beginning. The graph on the specification sheet clearly shows that the coder is systematic: $x_i^{(1)} = u_i$. The combination $u_i = 0$ and $\underline{x}_i = (1, 0)$ would contradict this.
 
 
  
  
[[File:P_ID2650__KC_A_3_6d.png|right|frame|Zustands– und Trellisdiagramm für den betrachteten Codierer]]
 
'''(4)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 2 und 4</u>:
 
*Auf ähnlichem Lösungsweg wie in der Teilaufgabe '''(3)''' gelangt man zum Ergebnis, dass hier das  aktuelle Informationsbit $u_i = 1$ sein muss.
 
*Die zugehörige Codesequenz lautet $\underline{x}_i = (10)$.
 
*Damit ergeben sich das folgende Zustandsübergangsdiagramm (links) und das daraus ableitbare Trellisdiagramm:
 
*Rote Pfeile kennzeichnen das Informationsbit $u_i = 0$, während bei blauen Pfeilen $u_i = 1$ anzusetzen ist.
 
  
 +
[[File:P_ID2650__KC_A_3_6d.png|right|frame|State and trellis diagram for the encoder under consideration.]]
 +
'''(4)'''&nbsp; Correct are the <u>solutions 2 and 4</u>:
 +
*Using a similar solution path as in subtask '''(3)''', one arrives at the result that here the current information bit must be $u_i = 1$.
 +
*The corresponding code sequence is $\underline{x}_i = (10)$.
 +
*This results in the following state transition diagram (left) and the trellis diagram that can be derived from it:
 +
*Red arrows indicate the information bit $u_i = 0$, while blue arrows indicate $u_i = 1$.
  
  
'''(5)'''&nbsp; <u>Beide Lösungsvorschläge</u> sind richtig. Für die Informationssequenzen gibt es (außer binär) keine weiteren Beschränkungen.
+
'''(5)'''&nbsp; <u>Both proposed solutions</u> are correct. There are no other constraints (except binary) for the information sequences.
  
  
'''(6)'''&nbsp; Richtig ist der <u>Lösungsvorschlag 1</u>. Ausgehend vom Zustand $S_0$ kommt man
+
'''(6)'''&nbsp; Correct is the <u>proposed solution 1</u>. Starting from the state $S_0$ one arrives at.
* mit $u_1 = 1$ zum Zustand $S_1$, Ausgabe "$11$",
+
* with $u_1 = 1$ to the state $S_1$, output "$11$",
* mit $u_2 = 1$ zum Zustand $S_1$, Ausgabe "$10$",
+
* with $u_2 = 1$ to the state $S_1$, output "$10$",
* mit $u_3 = 0$ zum Zustand $S_0$, Ausgabe "$01$",
+
* with $u_3 = 0$ to state $S_0$, output "$01$",
* mit $u_4 = 0$ zum Zustand $S_0$, Ausgabe "$00$",
+
* with $u_4 = 0$ to state $S_0$, output "$00$",
* mit $u_5 = 1$ zum Zustand $S_1$, Ausgabe "$11$",
+
* with $u_5 = 1$ to state $S_1$, output "$11$",
* mit $u_6 = 1$ zum Zustand $S_1$, Ausgabe "$10$".
+
* with $u_6 = 1$ to the state $S_1$, output "$10$".
  
  
Dagegen ist die zweite Codesequenz nicht möglich:
+
In contrast, the second code sequence is not possible:
* Die Ausgabe "$11$" bedeutet, dass man bei $S_0$ gestartet ist und mit $u_1 = 1$ zum Zustand $S_1$ kommt.
+
* The output "$11$" means that one started at $S_0$ and comes with $u_1 = 1$ to the state $S_1$.
* Im Zustand $S_1$ sind dann aber nur die Ausgaben "$01$" und "$10$" möglich, nicht jedoch "$00$".
+
* But in the state $S_1$ then only the outputs "$01$" and "$10$" are possible, but not "$00$".
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  

Revision as of 14:28, 3 October 2022

Simple realization of a rate $1/2$ convolutional encoder

A description possibility for convolutional coders is provided by the so-called state transition diagram. If the coder  $m$  contains memory registers   ⇒   influence length  $\nu = m + 1$, then there are different states  $S_{\mu}$ with $0 ≤ \mu ≤ 2^m -1$, where holds for the index:

$$\mu = \sum_{l = 1}^{m} \hspace{0.1cm}2^{l-1} \cdot u_{i-l} \hspace{0.05cm}.$$

This type of code description is to be applied to the convolutional coder of rate  $R = 1/2$  outlined above.





Hints:


Questions

1

How many states does this convolutional encoder have?

${\rm Number \ of \ states} \ = \ $

2

Do you get from any state to all other states?

Yes.
No.

3

What statements hold for the transition from  $s_i = S_1$  to  $s_{i+1} = S_0$?

The current information bit must  $u_i = 0$ .
The current information bit must be  $u_i = 1$ .
The associated code sequence is  $\underline{x}_i = (01)$.
The associated code sequence is  $\underline{x}_i = (10)$.

4

What statements hold for the transition from  $s_i = S_1$  to  $s_{i+1} = S_1$?

The current information bit must  $u_i = 0$ .
The current information bit must be  $u_i = 1$ .
The associated code sequence is  $\underline{x}_i = (01)$.
The associated code sequence is  $\underline{x}_i = (10)$.

5

Which information sequences are possible?

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

6

Which code sequences are possible?

$\underline{x} = (11, \, 10, \, 01, \, 00, \, 11, \, 10, \, \text{...}\hspace{0.05cm})$,
$\underline{x} = (11, \, 00, \, 10, \, 01, \, 11, \, 00, \, \text{...}\hspace{0.05cm})$.


Solution

Equivalent circuit diagram of the encoder under consideration

(1)  As can be seen from the accompanying equivalent circuit diagram, the encoder contains only one memory element  
⇒   Memory $m = 1$. Thus there are $2^m \ \underline{= 2}$ states, viz.

  • the state $S_0 \ \Rightarrow \ u_{i–1} = 0$,
  • the state $S_1 \ \Rightarrow \ u_{i–1} = 1$.


(2)  From each state $2^k = 2$ arrows go to different states.

  • Since there are only two states, the answer YES is correct.


(3)  Correct are the solutions 1 and 3:

  • The information bit $u_i$ present at time $i$ is, with respect to the following time $(j = i + 1)$, the previous bit $(u_{j–1})$.
  • Thus $s_{i+1} = u_i$ holds. Only with $u_i = 0$ does one get from $s_i = S_1$ to $s_{i+1} = S_0$   ⇒   Proposed solution 1.
  • From $s_i = S_1$ ⇒ $u_{i–1} = 1$ follows further   ⇒   Proposed solution 3:
$${x}_i^{(1)} = u_i = 0\hspace{0.05cm},\hspace{0.2cm}{x}_i^{(2)} = u_i + u_{i-1}= 0+1 = 1 \hspace{0.3cm}\Rightarrow \hspace{0.3cm}\underline{x}_i = (0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm}) \hspace{0.05cm}. $$
  • The proposed solution 4 could have been ruled out from the beginning. The graph on the specification sheet clearly shows that the coder is systematic: $x_i^{(1)} = u_i$. The combination $u_i = 0$ and $\underline{x}_i = (1, 0)$ would contradict this.


State and trellis diagram for the encoder under consideration.

(4)  Correct are the solutions 2 and 4:

  • Using a similar solution path as in subtask (3), one arrives at the result that here the current information bit must be $u_i = 1$.
  • The corresponding code sequence is $\underline{x}_i = (10)$.
  • This results in the following state transition diagram (left) and the trellis diagram that can be derived from it:
  • Red arrows indicate the information bit $u_i = 0$, while blue arrows indicate $u_i = 1$.


(5)  Both proposed solutions are correct. There are no other constraints (except binary) for the information sequences.


(6)  Correct is the proposed solution 1. Starting from the state $S_0$ one arrives at.

  • with $u_1 = 1$ to the state $S_1$, output "$11$",
  • with $u_2 = 1$ to the state $S_1$, output "$10$",
  • with $u_3 = 0$ to state $S_0$, output "$01$",
  • with $u_4 = 0$ to state $S_0$, output "$00$",
  • with $u_5 = 1$ to state $S_1$, output "$11$",
  • with $u_6 = 1$ to the state $S_1$, output "$10$".


In contrast, the second code sequence is not possible:

  • The output "$11$" means that one started at $S_0$ and comes with $u_1 = 1$ to the state $S_1$.
  • But in the state $S_1$ then only the outputs "$01$" and "$10$" are possible, but not "$00$".