Difference between revisions of "Aufgaben:Exercise 3.1: Analysis of a Convolutional Encoder"

From LNTwww
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{quiz-Header|Buchseite=Kanalcodierung/Grundlagen der Faltungscodierung}}
+
{{quiz-Header|Buchseite=Channel_Coding/Basics_of_Convolutional_Coding}}
  
[[File:P_ID2588__KC_A_3_1_neu.png|right|frame|Vorgegebener Faltungscodierer]]
+
[[File:P_ID2588__KC_A_3_1_neu.png|right|frame|Predefined convolutional encoder]]
Wir betrachten den skizzierten Faltungscodierer und gehen von folgender Informationssequenz aus:
+
We consider the outlined convolutional encoder and assume the following information sequence:
 
:$$\underline{\it u} =  \big( 0,\hspace{0.05cm} 1,\hspace{0.05cm} 1,\hspace{0.05cm} 1,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm}\text{...}  \big )\hspace{0.05cm}.$$
 
:$$\underline{\it u} =  \big( 0,\hspace{0.05cm} 1,\hspace{0.05cm} 1,\hspace{0.05cm} 1,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm}\text{...}  \big )\hspace{0.05cm}.$$
  
Diese Sequenz wird auf drei Stränge aufgeteilt:
+
This sequence is divided into three strands:
 
:$$\underline{\it u}^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm}  \big( 0,\hspace{0.05cm} 1,\hspace{0.05cm} 1,\hspace{0.05cm} \text{...}  \big )\hspace{0.05cm},$$
 
:$$\underline{\it u}^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm}  \big( 0,\hspace{0.05cm} 1,\hspace{0.05cm} 1,\hspace{0.05cm} \text{...}  \big )\hspace{0.05cm},$$
 
:$$\underline{\it u}^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm}  \big( 1,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm}\text{...}  \big )\hspace{0.05cm},$$
 
:$$\underline{\it u}^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm}  \big( 1,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm}\text{...}  \big )\hspace{0.05cm},$$
 
:$$\underline{\it u}^{(3)} \hspace{-0.15cm} \ =  \hspace{-0.15cm}  \big( 1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm}\text{...}  \big )\hspace{0.05cm}.$$
 
:$$\underline{\it u}^{(3)} \hspace{-0.15cm} \ =  \hspace{-0.15cm}  \big( 1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm}\text{...}  \big )\hspace{0.05cm}.$$
  
Die zum Zeitpunkt  $i$  am Coder anliegenden Bits werden mit  $u_i^{\rm (1)}$,  $u_i^{\rm (2)}$  und  $u_i^{\rm (3)}$  bezeichnet. Beispielsweise gilt  $u_1^{\rm (1)} = 0$,  $u_2^{\rm (2)} = 1$  sowie  $u_3^{\rm (3)} = 1$.
+
The bits present at the coder at time  $i$  are denoted by  $u_i^{\rm (1)}$,  $u_i^{\rm (2)}$  and  $u_i^{\rm (3)}$ . For example  $u_1^{\rm (1)} = 0$,  $u_2^{\rm (2)} = 1$,  $u_3^{\rm (3)} = 1$.
  
In dieser Aufgabe sollen ermittelt werden:
+
The purpose of this exercise is to determine
* die Anzahl  $k$  der pro Codierschritt verarbeiteten Informationsbits,
+
* the number  $k$  of information bits processed per coding step,
* die Anzahl  $n$  der pro Codierschritt ausgegebenen Codebits,
 
* die Gedächtnisordnung (oder kurz:  das Gedächtnis)  $m$,
 
* die Gesamteinflusslänge (oder kurz:  Einflusslänge)  $\nu$.
 
  
 +
* the number  $n$  of code bits output per coding step,
  
Außerdem sollen Sie für die angegebene Informationssequenz  $\underline {u}$  die Codesymbole  $x_i^{(1)}$,  $x_i^{(2)}$,  $x_i^{(3)}$  und  $x_i^{(4)}$  für die Taktzeitpunkte  $i = 1$  und  $i = 3$  bestimmen. Dabei ist vorauszusetzen, dass alle Speicherelemente zu Beginn mit Nullen belegt waren.
+
* the memory order  (or, for short,  the memory)  $m$,
  
 +
* the total influence length  (or for short:  influence length)  $\nu$.
  
  
 +
For the given information sequence   $\underline {u}$   you shall determine the code symbols  $x_i^{(1)}$,  $x_i^{(2)}$,  $x_i^{(3)}$  and  $x_i^{(4)}$  for the clock instants  $i = 1$  and  $i = 3$.   It must be assumed that all memory elements were filled with zeros at the beginning.
  
  
Line 28: Line 28:
  
  
 +
Hints:
 +
* This exercise refers to the chapter  [[Channel_Coding/Basics_of_Convolutional_Coding| "Basics of Convolutional Coding"]].
  
''Hinweise:''
+
* For completeness,  the code bits to the clock step  $i = 2$  are also given here:
* Die Aufgabe bezieht sich auf das Kapitel  [[Kanalcodierung/Grundlagen_der_Faltungscodierung| Grundlagen der Faltungscodierung]].
+
:$$x_2^{(1)} = 1 \hspace{0.05cm},\hspace{0.4cm}x_2^{(2)} = 0 \hspace{0.05cm},\hspace{0.4cm}
* Der Vollständigkeit halber werden hier auch die Codebits zum Taktschritt  $i = 2$  angegeben:
 
:$$x_2^{(1)} = 1 \hspace{0.05cm},\hspace{0.4cm}x_2^{(2)} = 0 \hspace{0.05cm},\hspace{0.4cm}
 
 
x_2^{(3)} = 0 ,\hspace{0.4cm}x_2^{(4)} = 0 \hspace{0.05cm}.$$
 
x_2^{(3)} = 0 ,\hspace{0.4cm}x_2^{(4)} = 0 \hspace{0.05cm}.$$
* Diese letzte Angabe wird zur Lösung der Aufgabe allerdings nicht benötigt.
+
* However,  this last specification is not needed to solve the exercise.
 
   
 
   
  
  
  
===Fragebogen===
+
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{Wie lauten die Codeparameter&nbsp; $k$&nbsp; und&nbsp; $n$?
+
{What are the code parameters&nbsp; $k$&nbsp; and&nbsp; $n$?
 
|type="{}"}
 
|type="{}"}
 
$k \ = \ ${ 3 3% }
 
$k \ = \ ${ 3 3% }
 
$n \ = \ ${ 4 3% }
 
$n \ = \ ${ 4 3% }
  
{Wie groß sind die Gedächtnisordnung&nbsp; $m$&nbsp; und die Gesamteinflusslänge&nbsp; $\nu$?
+
{What are the memory order&nbsp; $m$&nbsp; and the total influence length&nbsp; $\nu$?
 
|type="{}"}
 
|type="{}"}
 
$m \ = \ ${ 2 3% }
 
$m \ = \ ${ 2 3% }
 
$\nu \ = \ ${ 3 3% }
 
$\nu \ = \ ${ 3 3% }
  
{Wie lauten die vier Codebits im ersten Codierschritt&nbsp; $(i = 1)$?
+
{What are the code bits in the first coding step&nbsp; $(i = 1)$?
 
|type="{}"}
 
|type="{}"}
 
$x_1^{(1)} \ = \ ${ 0 3% }
 
$x_1^{(1)} \ = \ ${ 0 3% }
Line 58: Line 58:
 
$x_1^{(4)} \ = \ ${ 0 3% }
 
$x_1^{(4)} \ = \ ${ 0 3% }
  
{Wie lauten die Codebits im dritten Codierschritt&nbsp; $(i = 3)$?
+
{What are the codebits in the third coding step&nbsp; $(i = 3)$?
 
|type="{}"}
 
|type="{}"}
 
$x_3^{(1)} \ = \ ${ 1 3% }
 
$x_3^{(1)} \ = \ ${ 1 3% }
Line 66: Line 66:
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Zu jedem Takt werden $\underline {k = 3}$ neue Informationsbits verarbeitet und $\underline {n = 4}$ Codebits ausgegeben.
+
'''(1)'''&nbsp; At each clock,&nbsp; $\underline {k = 3}$&nbsp; new information bits are processed and&nbsp; $\underline {n = 4}$&nbsp; code bits are output.
  
  
'''(2)'''&nbsp; Wir bezeichnen hier die Einflusslängen der Informationssequenzen&nbsp; $\underline{u}^{(j)}$&nbsp; mit&nbsp; $\nu_j$, wobei&nbsp; $1 &#8804; j &#8804; k = 3$&nbsp; zu setzen ist. Dann gilt:
+
'''(2)'''&nbsp; We denote here the influence lengths of the information sequences&nbsp; $\underline{u}^{(j)}$&nbsp; by&nbsp; $\nu_j$,&nbsp; where&nbsp; $1 &#8804; j &#8804; k = 3$&nbsp; is to be set.&nbsp; Then holds:
:$$\nu_1  \hspace{-0.15cm} \ = \ \hspace{-0.15cm} 0 \hspace{0.15cm}{\rm (f\ddot{u}r \hspace{0.15cm}die \hspace{0.15cm}erste \hspace{0.15cm}Sequenz \hspace{0.15cm}ist \hspace{0.15cm}kein \hspace{0.15cm}Schieberegister \hspace{0.15cm}n\ddot{o}tig)}\hspace{0.05cm},\hspace{0.2cm}
+
:$$\nu_1  \hspace{-0.15cm} \ = \ \hspace{-0.15cm} 0 \hspace{0.15cm}{\rm (for \hspace{0.15cm}the \hspace{0.15cm}first \hspace{0.15cm}sequence\hspace{0.15cm}no \hspace{0.15cm}shift \hspace{0.15cm}register \hspace{0.15cm}is \hspace{0.15cm}necessary)}\hspace{0.05cm},\hspace{0.2cm}
 
\nu_2  \hspace{-0.15cm} \ = \ \hspace{-0.15cm} 1\hspace{0.05cm},\hspace{0.2cm}\nu_3 = 2\hspace{0.05cm}.$$
 
\nu_2  \hspace{-0.15cm} \ = \ \hspace{-0.15cm} 1\hspace{0.05cm},\hspace{0.2cm}\nu_3 = 2\hspace{0.05cm}.$$
  
*Die Gedächtnisordnung $m$ (oder kurz: das Gedächtnis) des Coders ist durch das längste Schieberegister gegeben &nbsp;&#8658;&nbsp; $\underline {m = 2}$.  
+
*The memory order&nbsp; $m$&nbsp; $($or memory for short$)$&nbsp; of the encoder is given by the longest shift register &nbsp; &#8658; &nbsp; $\underline {m = 2}$.
*Die Gesamteinflusslänge (oder kurz: Einflusslänge) entspricht der Anzahl der Speicherelemente der gesamten Codiererschaltung &nbsp; &#8658; &nbsp; $\underline {\nu = 3}$.
+
 +
*The total influence length&nbsp; $($or influence length for short$)$&nbsp; is equal to the number of memory elements of the entire encoder circuit &nbsp; &#8658; &nbsp; $\underline {\nu = 3}$.
  
  
[[File:P_ID2623__KC_A_3_1_neu.png|right|frame|Vorgegebener Faltungscodierer]]  
+
[[File:P_ID2623__KC_A_3_1_neu.png|right|frame|Predefined convolutional encoder]]  
'''(3)'''&nbsp; Allgemein gilt für die $n = 4$ Codebits zum Schritt $i$:
+
'''(3)'''&nbsp; In general,&nbsp; for the&nbsp; $n = 4$&nbsp; code bits of step&nbsp; $i$:
 
:$$x_i^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{i}^{(1)}  \hspace{0.05cm},$$
 
:$$x_i^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{i}^{(1)}  \hspace{0.05cm},$$
 
:$$x_i^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{i}^{(1)} + u_{i}^{(2)} + u_{i-1}^{(2)} + u_{i-1}^{(3)} \hspace{0.05cm},$$
 
:$$x_i^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{i}^{(1)} + u_{i}^{(2)} + u_{i-1}^{(2)} + u_{i-1}^{(3)} \hspace{0.05cm},$$
Line 86: Line 87:
 
:$$x_i^{(4)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{i}^{(1)} + u_{i}^{(2)} + u_{i}^{(3)}+ u_{i-2}^{(3)}\hspace{0.05cm}.$$
 
:$$x_i^{(4)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{i}^{(1)} + u_{i}^{(2)} + u_{i}^{(3)}+ u_{i-2}^{(3)}\hspace{0.05cm}.$$
  
*Im ersten Codierschritt sind alle Speicherelemente mit Nullen belegt.  
+
*In the first coding step,&nbsp; all memory elements are assigned zeros.  
*Deshalb kann man für $i = 1$ auf alle Bits mit den Indizes $i \, &ndash;1$ bzw. $i \, &ndash;2$ verzichten.  
+
 
*Entsprechend der Angabe soll weiter gelten: $u_1^{(1)} = 0$, $u_1^{(2)} = 1$, $u_1^{(3)} = 1$.  
+
*Therefore for&nbsp; $i = 1$&nbsp; all bits with the indices &nbsp; $i \, &ndash;1$ &nbsp; or &nbsp; $i \, &ndash;2$ &nbsp; can be omitted.
*Damit erhält man durch Modulo&ndash;2&ndash;Addition:
+
 +
*In accordance with the specification,&nbsp; let further hold: &nbsp; $u_1^{(1)} = 0$,&nbsp; $u_1^{(2)} = 1$,&nbsp; $u_1^{(3)} = 1$.
 +
 +
*This is obtained by modulo-2 addition:
 
:$$x_1^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1}^{(1)} \hspace{0.15cm}\underline {=0}  \hspace{0.05cm},$$
 
:$$x_1^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1}^{(1)} \hspace{0.15cm}\underline {=0}  \hspace{0.05cm},$$
 
:$$x_1^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1}^{(1)} + u_{1}^{(2)} = 0+1 \hspace{0.15cm}\underline {=1} \hspace{0.05cm},$$
 
:$$x_1^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1}^{(1)} + u_{1}^{(2)} = 0+1 \hspace{0.15cm}\underline {=1} \hspace{0.05cm},$$
Line 96: Line 100:
  
  
'''(4)'''&nbsp; Im Codierschritt $i = 3$ lauten die Informationsbits:
+
'''(4)'''&nbsp; In the coding step&nbsp; $i = 3$&nbsp; the information bits are:
 
:$$u_i^{(1)} \hspace{-0.2cm} \ = \ \hspace{-0.2cm}1\hspace{0.05cm},\hspace{0.2cm}u_{i-1}^{(1)} = 1\hspace{0.05cm},\hspace{0.2cm}u_{i-2}^{(1)} = 0\hspace{0.05cm},$$
 
:$$u_i^{(1)} \hspace{-0.2cm} \ = \ \hspace{-0.2cm}1\hspace{0.05cm},\hspace{0.2cm}u_{i-1}^{(1)} = 1\hspace{0.05cm},\hspace{0.2cm}u_{i-2}^{(1)} = 0\hspace{0.05cm},$$
 
:$$u_i^{(2)} \hspace{-0.2cm} \ = \ \hspace{-0.2cm}0\hspace{0.05cm},\hspace{0.2cm}u_{i-1}^{(2)} = 1\hspace{0.05cm},\hspace{0.2cm}u_{i-2}^{(2)} = 1\hspace{0.05cm},$$
 
:$$u_i^{(2)} \hspace{-0.2cm} \ = \ \hspace{-0.2cm}0\hspace{0.05cm},\hspace{0.2cm}u_{i-1}^{(2)} = 1\hspace{0.05cm},\hspace{0.2cm}u_{i-2}^{(2)} = 1\hspace{0.05cm},$$
 
:$$u_i^{(3)} \hspace{-0.2cm} \ = \ \hspace{-0.2cm}1\hspace{0.05cm},\hspace{0.2cm}u_{i-1}^{(3)} = 0\hspace{0.05cm},\hspace{0.2cm}u_{i-2}^{(3)} = 1\hspace{0.05cm},$$
 
:$$u_i^{(3)} \hspace{-0.2cm} \ = \ \hspace{-0.2cm}1\hspace{0.05cm},\hspace{0.2cm}u_{i-1}^{(3)} = 0\hspace{0.05cm},\hspace{0.2cm}u_{i-2}^{(3)} = 1\hspace{0.05cm},$$
  
woraus sich folgende Codebits ergeben:
+
:which results in the following code bits:
 
:$$x_3^{(1)} \hspace{0.15cm}\underline {=1} \hspace{0.05cm},\hspace{0.4cm}x_3^{(2)} = 1+0+1+0\hspace{0.15cm}\underline {=0}\hspace{0.05cm},\hspace{0.4cm}x_3^{(3)}= 0+1+1+1 \hspace{0.15cm}\underline {=1} \hspace{0.05cm},\hspace{0.4cm}x_3^{(4)} = 1+0+1+1\hspace{0.15cm}\underline {=1}\hspace{0.05cm}.$$
 
:$$x_3^{(1)} \hspace{0.15cm}\underline {=1} \hspace{0.05cm},\hspace{0.4cm}x_3^{(2)} = 1+0+1+0\hspace{0.15cm}\underline {=0}\hspace{0.05cm},\hspace{0.4cm}x_3^{(3)}= 0+1+1+1 \hspace{0.15cm}\underline {=1} \hspace{0.05cm},\hspace{0.4cm}x_3^{(4)} = 1+0+1+1\hspace{0.15cm}\underline {=1}\hspace{0.05cm}.$$
  
Die Codebits im Codierschritt $i = 2$ wurden bereits auf der Angabenseite genannt. Hier folgt noch die Herleitung:
+
&rArr; &nbsp; The code bits in the coding step&nbsp; $i = 2$&nbsp; have already been mentioned on the information page.&nbsp; Here still follows the derivation:
 
:$$x_2^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{2}^{(1)} = 1 \hspace{0.05cm},$$
 
:$$x_2^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{2}^{(1)} = 1 \hspace{0.05cm},$$
 
:$$x_2^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{2}^{(1)} + u_{2}^{(2)} + u_{1}^{(2)} + u_{1}^{(3)} = 1+1+1+1 = 0 \hspace{0.05cm},$$
 
:$$x_2^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{2}^{(1)} + u_{2}^{(2)} + u_{1}^{(2)} + u_{1}^{(3)} = 1+1+1+1 = 0 \hspace{0.05cm},$$
Line 110: Line 114:
 
:$$x_2^{(4)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{2}^{(1)} + u_{2}^{(2)} + u_{2}^{(3)}+ u_{0}^{(3)}= 1+1+0+(0) = 0\hspace{0.05cm}.$$
 
:$$x_2^{(4)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{2}^{(1)} + u_{2}^{(2)} + u_{2}^{(3)}+ u_{0}^{(3)}= 1+1+0+(0) = 0\hspace{0.05cm}.$$
  
Somit beginnt die Codesequenz $\underline {x}$ (nach dem Multiplexing) mit $(0100, 1000, 1011, \ \text{...})$. Die Gruppierung wurde hier nur aus Gründen der Übersichtlichkeit vorgenommen.
+
*Thus,&nbsp; the code sequence&nbsp; $\underline {x}$&nbsp; $($after multiplexing$)$&nbsp; starts with&nbsp; $(0100, 1000, 1011, \ \text{...})$.  
 +
 
 +
*The grouping was done here only for clarity.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  
  
[[Category:Aufgaben zu  Kanalcodierung|^3.1 Grundlagen der Faltungscodierung^]]
+
[[Category:Channel Coding: Exercises|^3.1 Basics of Convolutional Coding^]]

Latest revision as of 17:08, 6 November 2022

Predefined convolutional encoder

We consider the outlined convolutional encoder and assume the following information sequence:

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

This sequence is divided into three strands:

$$\underline{\it u}^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} \big( 0,\hspace{0.05cm} 1,\hspace{0.05cm} 1,\hspace{0.05cm} \text{...} \big )\hspace{0.05cm},$$
$$\underline{\it u}^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} \big( 1,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm}\text{...} \big )\hspace{0.05cm},$$
$$\underline{\it u}^{(3)} \hspace{-0.15cm} \ = \hspace{-0.15cm} \big( 1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm}\text{...} \big )\hspace{0.05cm}.$$

The bits present at the coder at time  $i$  are denoted by  $u_i^{\rm (1)}$,  $u_i^{\rm (2)}$  and  $u_i^{\rm (3)}$ . For example  $u_1^{\rm (1)} = 0$,  $u_2^{\rm (2)} = 1$,  $u_3^{\rm (3)} = 1$.

The purpose of this exercise is to determine

  • the number  $k$  of information bits processed per coding step,
  • the number  $n$  of code bits output per coding step,
  • the memory order  (or, for short,  the memory)  $m$,
  • the total influence length  (or for short:  influence length)  $\nu$.


For the given information sequence   $\underline {u}$   you shall determine the code symbols  $x_i^{(1)}$,  $x_i^{(2)}$,  $x_i^{(3)}$  and  $x_i^{(4)}$  for the clock instants  $i = 1$  and  $i = 3$.  It must be assumed that all memory elements were filled with zeros at the beginning.



Hints:

  • For completeness,  the code bits to the clock step  $i = 2$  are also given here:
$$x_2^{(1)} = 1 \hspace{0.05cm},\hspace{0.4cm}x_2^{(2)} = 0 \hspace{0.05cm},\hspace{0.4cm} x_2^{(3)} = 0 ,\hspace{0.4cm}x_2^{(4)} = 0 \hspace{0.05cm}.$$
  • However,  this last specification is not needed to solve the exercise.



Questions

1

What are the code parameters  $k$  and  $n$?

$k \ = \ $

$n \ = \ $

2

What are the memory order  $m$  and the total influence length  $\nu$?

$m \ = \ $

$\nu \ = \ $

3

What are the code bits in the first coding step  $(i = 1)$?

$x_1^{(1)} \ = \ $

$x_1^{(2)} \ = \ $

$x_1^{(3)} \ = \ $

$x_1^{(4)} \ = \ $

4

What are the codebits in the third coding step  $(i = 3)$?

$x_3^{(1)} \ = \ $

$x_3^{(2)} \ = \ $

$x_3^{(3)} \ = \ $

$x_3^{(4)} \ = \ $


Solution

(1)  At each clock,  $\underline {k = 3}$  new information bits are processed and  $\underline {n = 4}$  code bits are output.


(2)  We denote here the influence lengths of the information sequences  $\underline{u}^{(j)}$  by  $\nu_j$,  where  $1 ≤ j ≤ k = 3$  is to be set.  Then holds:

$$\nu_1 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} 0 \hspace{0.15cm}{\rm (for \hspace{0.15cm}the \hspace{0.15cm}first \hspace{0.15cm}sequence\hspace{0.15cm}no \hspace{0.15cm}shift \hspace{0.15cm}register \hspace{0.15cm}is \hspace{0.15cm}necessary)}\hspace{0.05cm},\hspace{0.2cm} \nu_2 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} 1\hspace{0.05cm},\hspace{0.2cm}\nu_3 = 2\hspace{0.05cm}.$$
  • The memory order  $m$  $($or memory for short$)$  of the encoder is given by the longest shift register   ⇒   $\underline {m = 2}$.
  • The total influence length  $($or influence length for short$)$  is equal to the number of memory elements of the entire encoder circuit   ⇒   $\underline {\nu = 3}$.


Predefined convolutional encoder

(3)  In general,  for the  $n = 4$  code bits of step  $i$:

$$x_i^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{i}^{(1)} \hspace{0.05cm},$$
$$x_i^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{i}^{(1)} + u_{i}^{(2)} + u_{i-1}^{(2)} + u_{i-1}^{(3)} \hspace{0.05cm},$$
$$x_i^{(3)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{i}^{(2)} + u_{i}^{(3)}+ u_{i-1}^{(2)} + u_{i-2}^{(3)} \hspace{0.05cm},$$
$$x_i^{(4)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{i}^{(1)} + u_{i}^{(2)} + u_{i}^{(3)}+ u_{i-2}^{(3)}\hspace{0.05cm}.$$
  • In the first coding step,  all memory elements are assigned zeros.
  • Therefore for  $i = 1$  all bits with the indices   $i \, –1$   or   $i \, –2$   can be omitted.
  • In accordance with the specification,  let further hold:   $u_1^{(1)} = 0$,  $u_1^{(2)} = 1$,  $u_1^{(3)} = 1$.
  • This is obtained by modulo-2 addition:
$$x_1^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1}^{(1)} \hspace{0.15cm}\underline {=0} \hspace{0.05cm},$$
$$x_1^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1}^{(1)} + u_{1}^{(2)} = 0+1 \hspace{0.15cm}\underline {=1} \hspace{0.05cm},$$
$$x_1^{(3)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1}^{(2)} + u_{1}^{(3)}= 1 + 1 \hspace{0.15cm}\underline {=0}\hspace{0.05cm},$$
$$x_1^{(4)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1}^{(1)} + u_{1}^{(2)} + u_{1}^{(3)}= 0+1+1\hspace{0.15cm}\underline {=0}\hspace{0.05cm}.$$


(4)  In the coding step  $i = 3$  the information bits are:

$$u_i^{(1)} \hspace{-0.2cm} \ = \ \hspace{-0.2cm}1\hspace{0.05cm},\hspace{0.2cm}u_{i-1}^{(1)} = 1\hspace{0.05cm},\hspace{0.2cm}u_{i-2}^{(1)} = 0\hspace{0.05cm},$$
$$u_i^{(2)} \hspace{-0.2cm} \ = \ \hspace{-0.2cm}0\hspace{0.05cm},\hspace{0.2cm}u_{i-1}^{(2)} = 1\hspace{0.05cm},\hspace{0.2cm}u_{i-2}^{(2)} = 1\hspace{0.05cm},$$
$$u_i^{(3)} \hspace{-0.2cm} \ = \ \hspace{-0.2cm}1\hspace{0.05cm},\hspace{0.2cm}u_{i-1}^{(3)} = 0\hspace{0.05cm},\hspace{0.2cm}u_{i-2}^{(3)} = 1\hspace{0.05cm},$$
which results in the following code bits:
$$x_3^{(1)} \hspace{0.15cm}\underline {=1} \hspace{0.05cm},\hspace{0.4cm}x_3^{(2)} = 1+0+1+0\hspace{0.15cm}\underline {=0}\hspace{0.05cm},\hspace{0.4cm}x_3^{(3)}= 0+1+1+1 \hspace{0.15cm}\underline {=1} \hspace{0.05cm},\hspace{0.4cm}x_3^{(4)} = 1+0+1+1\hspace{0.15cm}\underline {=1}\hspace{0.05cm}.$$

⇒   The code bits in the coding step  $i = 2$  have already been mentioned on the information page.  Here still follows the derivation:

$$x_2^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{2}^{(1)} = 1 \hspace{0.05cm},$$
$$x_2^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{2}^{(1)} + u_{2}^{(2)} + u_{1}^{(2)} + u_{1}^{(3)} = 1+1+1+1 = 0 \hspace{0.05cm},$$
$$x_2^{(3)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{2}^{(2)} + u_{2}^{(3)}+ u_{1}^{(2)} + u_{0}^{(3)} = 1+0+1+(0) = 0\hspace{0.05cm},$$
$$x_2^{(4)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{2}^{(1)} + u_{2}^{(2)} + u_{2}^{(3)}+ u_{0}^{(3)}= 1+1+0+(0) = 0\hspace{0.05cm}.$$
  • Thus,  the code sequence  $\underline {x}$  $($after multiplexing$)$  starts with  $(0100, 1000, 1011, \ \text{...})$.
  • The grouping was done here only for clarity.