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

From LNTwww
m (Text replacement - "”" to """)
 
(4 intermediate revisions by 2 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_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 encoders is provided by the so-called&nbsp; "state transition diagram".  
 +
*If the encoder contains&nbsp; $m$&nbsp; memory registers &nbsp; &#8658; &nbsp; influence length&nbsp; $\nu = m + 1$,&nbsp; then there are different states&nbsp; $S_{\mu}$&nbsp; with&nbsp; $0 &#8804; \mu &#8804; 2^m -1$,&nbsp; 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.
  
  
  
  
 +
<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 section&nbsp; [[Channel_Coding/Code_Description_with_State_and_Trellis_Diagram#State_definition_for_a_memory_register|"State definition for a memory register"]].
  
  
  
''Hinweise:''
+
===Questions===
* Die Aufgabe gehört zum Kapitel&nbsp; [[Channel_Coding/Codebeschreibung_mit_Zustands%E2%80%93_und_Trellisdiagramm| Codebeschreibung mit Zustands&ndash; und Trellisdiagramm]].
 
*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]].
 
 
 
 
 
 
 
===Fragebogen===
 
 
<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 be&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 be&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 55:
 
</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,&nbsp; the encoder contains only one memory element &nbsp; <br>&#8658; &nbsp; memory&nbsp; $m = 1$.&nbsp; Thus there are&nbsp; $2^m \ \underline{= 2}$&nbsp; states,&nbsp; 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; Von jedem Zustand gehen $2^k = 2$ Pfeile zu verschiedenenen Zuständen ab.  
+
'''(2)'''&nbsp; From each state go&nbsp; $2^k = 2$&nbsp; arrows to different states.  
*Da es nur zwei Zustände gibt, ist die Antwort <u>JA</u> richtig.
+
*Since there are only two states,&nbsp; the answer <u>YES</u> is correct.
  
  
 +
'''(3)'''&nbsp; Correct are the&nbsp; <u>solutions 1 and 3</u>:
 +
*The information bit&nbsp; $u_i$&nbsp; present at time&nbsp; $i$&nbsp; is with respect to the following time $(j = i + 1)$&nbsp; the previous bit&nbsp; $(u_{j&ndash;1})$.
 +
 +
*Thus&nbsp; $s_{i+1} = u_i$&nbsp; holds.&nbsp; Only with&nbsp; $u_i = 0$&nbsp; does one get&nbsp; from&nbsp; $s_i = S_1$&nbsp; to&nbsp; $s_{i+1} = S_0$ &nbsp; &#8658; &nbsp; <u>Proposed solution 1</u>.
  
'''(3)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 1 und 3</u>:
+
*From&nbsp; $s_i = S_1$ &nbsp; &#8658; &nbsp; $u_{i&ndash;1} = 1$&nbsp; follows further &nbsp; &#8658; &nbsp; <u>Proposed solution 3</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})$.
 
*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.&nbsp; The graph on the specification sheet clearly shows that the coder is systematic:&nbsp; $x_i^{(1)} = u_i$.&nbsp;
 +
 
 +
*The combination&nbsp; $u_i = 0$&nbsp; and&nbsp; $\underline{x}_i = (1, 0)$&nbsp; would contradict this.
 +
 
 +
 
  
 +
[[File:P_ID2650__KC_A_3_6d.png|right|frame|State and trellis diagram for the encoder under consideration]]
 +
'''(4)'''&nbsp; Correct are the&nbsp; <u>solutions 2 and 4</u>:
 +
*Using a similar solution path as in subtask&nbsp; '''(3)''',&nbsp; one arrives at the result that the current information bit must be&nbsp; $u_i = 1$.
  
 +
*The corresponding code sequence is&nbsp; $\underline{x}_i = (10)$.
 +
 +
*This results in the following state transition diagram&nbsp; $($left$)$&nbsp; and the trellis diagram that can be derived from it:
  
[[File:P_ID2650__KC_A_3_6d.png|right|frame|Zustands– und Trellisdiagramm für den betrachteten Codierer]]
+
*Red arrows indicate the information bit&nbsp; $u_i = 0$,&nbsp; while blue arrows indicate&nbsp; $u_i = 1$.
'''(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.
 
  
  
 +
'''(5)'''&nbsp; <u>Both proposed solutions</u>&nbsp; are correct.&nbsp; There are no other constraints&nbsp; $($except binary$)$&nbsp; for the information sequences.
  
'''(5)'''&nbsp; <u>Beide Lösungsvorschläge</u> sind richtig. Für die Informationssequenzen gibt es (außer binär) keine weiteren Beschränkungen.
 
  
 +
'''(6)'''&nbsp; Correct is the&nbsp; <u>proposed solution 1</u>.&nbsp; Starting from the state&nbsp; $S_0$&nbsp; one comes
 +
* with&nbsp; $u_1 = 1$&nbsp; to the state&nbsp; $S_1$,&nbsp; output&nbsp; "$11$",
 +
* with&nbsp; $u_2 = 1$&nbsp; to the state&nbsp; $S_1$,&nbsp; output&nbsp; "$10$",
 +
* with&nbsp; $u_3 = 0$&nbsp; to state&nbsp; $S_0$,&nbsp; output&nbsp; "$01$",
 +
* with&nbsp; $u_4 = 0$&nbsp; to state&nbsp; $S_0$,&nbsp; output&nbsp; "$00$",
 +
* with&nbsp; $u_5 = 1$&nbsp; to state $S_1$,&nbsp; output&nbsp; "$11$",
 +
* with&nbsp; $u_6 = 1$&nbsp; to the state $S_1$,&nbsp; output&nbsp; "$10$".
  
'''(6)'''&nbsp; Richtig ist der <u>Lösungsvorschlag 1</u>. Ausgehend vom Zustand $S_0$ kommt man
 
* mit $u_1 = 1$ zum Zustand $S_1$, Ausgabe "$11$",
 
* mit $u_2 = 1$ zum Zustand $S_1$, Ausgabe "$10$",
 
* mit $u_3 = 0$ zum Zustand $S_0$, Ausgabe "$01$",
 
* mit $u_4 = 0$ zum Zustand $S_0$, Ausgabe "$00$",
 
* mit $u_5 = 1$ zum Zustand $S_1$, Ausgabe "$11$",
 
* mit $u_6 = 1$ zum Zustand $S_1$, Ausgabe "$10$".
 
  
 +
In contrast,&nbsp; the second code sequence is not possible:
 +
* The output&nbsp; "$11$"&nbsp; means that one started at&nbsp; $S_0$&nbsp; and comes with&nbsp; $u_1 = 1$&nbsp; to the state&nbsp; $S_1$.
  
Dagegen ist die zweite Codesequenz nicht möglich:
+
* But in the state&nbsp; $S_1$&nbsp; then only the outputs&nbsp; "$01$"&nbsp; and&nbsp; "$10$"&nbsp; are possible, but not&nbsp; "$00$".
* Die Ausgabe "$11$" bedeutet, dass man bei $S_0$ gestartet ist und mit $u_1 = 1$ zum Zustand $S_1$ kommt.
 
* Im Zustand $S_1$ sind dann aber nur die Ausgaben "$01$" und "$10$" möglich, nicht jedoch "$00$".
 
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  
  
  
[[Category:Channel Coding: Exercises|^3.3 Zustands– und Trellisdiagramm^]]
+
[[Category:Channel Coding: Exercises|^3.3 State and Trellis Diagram^]]

Latest revision as of 15:42, 12 November 2022

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

A description possibility for convolutional encoders is provided by the so-called  "state transition diagram".

  • If the encoder contains  $m$  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 be  $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 be  $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 go  $2^k = 2$  arrows 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 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 comes

  • 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$".