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

From LNTwww
Line 41: Line 41:
 
===Fragebogen===
 
===Fragebogen===
 
<quiz display=simple>
 
<quiz display=simple>
{Wie lauten die Codeparameter $k$ und $n$?
+
{Wie lauten die Codeparameter&nbsp; $k$&nbsp; und&nbsp; $n$?
 
|type="{}"}
 
|type="{}"}
 
$k \ = \ ${ 3 3% }
 
$k \ = \ ${ 3 3% }
 
$n \ = \ ${ 4 3% }
 
$n \ = \ ${ 4 3% }
  
{Wie groß sind die Gedächtnisordnung $m$ und die Gesamteinflusslänge $\nu$?
+
{Wie groß sind die Gedächtnisordnung&nbsp; $m$&nbsp; und die Gesamteinflusslänge&nbsp; $\nu$?
 
|type="{}"}
 
|type="{}"}
 
$m \ = \ ${ 2 3% }
 
$m \ = \ ${ 2 3% }
 
$\nu \ = \ ${ 3 3% }
 
$\nu \ = \ ${ 3 3% }
  
{Wie lauten die vier Codebits im ersten Codierschritt ($i = 1$)?
+
{Wie lauten die vier Codebits im ersten Codierschritt&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 ($i = 3$)?
+
{Wie lauten die Codebits im dritten Codierschritt&nbsp; $(i = 3)$?
 
|type="{}"}
 
|type="{}"}
 
$x_3^{(1)} \ = \ ${ 1 3% }
 
$x_3^{(1)} \ = \ ${ 1 3% }

Revision as of 15:20, 3 June 2019

Vorgegebener Faltungscodierer

Wir betrachten den skizzierten Faltungscodierer und gehen von folgender Informationssequenz aus:

$$\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:

$$\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}.$$

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

In dieser Aufgabe sollen ermittelt werden:

  • die Anzahl  $k$  der pro Codierschritt verarbeiteten Informationsbits,
  • 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$.


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.





Hinweise:

  • Die Aufgabe bezieht sich auf das Kapitel  Grundlagen der Faltungscodierung.
  • 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}.$$
  • Diese letzte Angabe wird zur Lösung der Aufgabe allerdings nicht benötigt.



Fragebogen

1

Wie lauten die Codeparameter  $k$  und  $n$?

$k \ = \ $

$n \ = \ $

2

Wie groß sind die Gedächtnisordnung  $m$  und die Gesamteinflusslänge  $\nu$?

$m \ = \ $

$\nu \ = \ $

3

Wie lauten die vier Codebits im ersten Codierschritt  $(i = 1)$?

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

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

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

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

4

Wie lauten die Codebits im dritten Codierschritt  $(i = 3)$?

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

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

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

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


Musterlösung

(1)  Zu jedem Takt werden $\underline {k = 3}$ neue Informationsbits verarbeitet und $\underline {n = 4}$ Codebits ausgegeben.


(2)  Wir bezeichnen hier die Einflusslängen der Informationssequenzen $\underline{u}^{(j)}$ mit $\nu_j$, wobei $1 ≤ j ≤ k = 3$ zu setzen ist. Dann gilt:

$$\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_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  ⇒  $\underline {m = 2}$.
  • Die Gesamteinflusslänge (oder kurz: Einflusslänge) entspricht der Anzahl der Speicherelemente der gesamten Codiererschaltung   ⇒   $\underline {\nu = 3}$.


Vorgegebener Faltungscodierer

(3)  Allgemein gilt für die $n = 4$ Codebits zum Schritt $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}.$$

Im ersten Codierschritt sind alle Speicherelemente mit Nullen belegt. Deshalb kann man für $i = 1$ auf alle Bits mit den Indizes $i \, –1$ bzw. $i \, –2$ verzichten. Entsprechend der Angabe soll weiter gelten: $u_1^{(1)} = 0$, $u_1^{(2)} = 1$, $u_1^{(3)} = 1$. Damit erhält man durch 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)  Im Codierschritt $i = 3$ lauten die Informationsbits:

$$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},$$

woraus sich folgende Codebits ergeben:

$$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:

$$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}.$$

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.