Aufgaben:Aufgabe 3.1: Analyse eines Faltungscodierers: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
Zeile 61: Zeile 61:
 
===Musterlösung===
 
===Musterlösung===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''   
+
'''(1)'''  Zu jedem Takt werden $\underline {k = 3}$ neue Informationsbits verarbeitet und $\underline {n = 4}$ Codebits ausgegeben.
'''(2)'''   
+
 
'''(3)'''   
+
 
'''(4)'''   
+
'''(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:
'''(5)'''   
+
:$$\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},$$
 +
:$$\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}$.
 +
 
 +
 
 +
'''(3)'''  [[Datei:P_ID2623__KC_A_3_1_neu.png|right|frame|Vorgegebener Faltungscoder]] 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},$$
 +
:$$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, \ ...)$. Die Gruppierung wurde hier nur aus Gründen der Übersichtlichkeit vorgenommen.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  
  
 
[[Category:Aufgaben zu  Kanalcodierung|^3.1 Grundlagen der Faltungscodierung^]]
 
[[Category:Aufgaben zu  Kanalcodierung|^3.1 Grundlagen der Faltungscodierung^]]

Version vom 22. November 2017, 09:34 Uhr

Vorgegebener Faltungscodierer

Wir betrachten den nebenstehenden Faltungscodierer und gehen von folgender Informationssequenz:

$$\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}... \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} ... \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} ... \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} ... \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)}$, $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}.$$
  1. Diese letzte Angabe wird zur Lösung der Aufgabe allerdings nicht benötigt.
  • Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0.” ein.


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


(3) 
Vorgegebener Faltungscoder
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},$$
$$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, \ ...)$. Die Gruppierung wurde hier nur aus Gründen der Übersichtlichkeit vorgenommen.