Aufgabe 3.1: Analyse eines Faltungscodierers

Aus LNTwww
Version vom 6. November 2022, 17:21 Uhr von Guenter (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation, Suche

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:

  • 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 vier 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.