Kanalcodierung/Algebraische und polynomische Beschreibung: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 8: Zeile 8:
 
== Aufteilung der Generatormatrix in Teilmatrizen ==
 
== Aufteilung der Generatormatrix in Teilmatrizen ==
 
<br>
 
<br>
Entsprechend den Ausführungen im früheren Abschnitt [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Lineare_Codes_und_zyklische_Codes| Lineare Codes und zyklische Codes]] lässt sich das Codewort $\underline{x}$ eines linearen Blockcodes aus dem Informationswort $\underline{u}$ und der Generatormatrix $\mathbf{G}$ in einfacher Weise ermitteln: &nbsp; $\underline{x} = \underline{u} \cdot { \boldsymbol{\rm G}}$. Dabei gilt:
+
Entsprechend den Ausführungen im früheren Abschnitt&nbsp; [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Lineare_Codes_und_zyklische_Codes| Lineare Codes und zyklische Codes]]&nbsp; lässt sich das Codewort&nbsp; $\underline{x}$&nbsp; eines linearen Blockcodes aus dem Informationswort&nbsp; $\underline{u}$&nbsp; und der Generatormatrix&nbsp; $\mathbf{G}$&nbsp; in einfacher Weise ermitteln: &nbsp; $\underline{x} = \underline{u} \cdot { \boldsymbol{\rm G}}$. Dabei gilt:
*Die Vektoren $\underline{u}$ und $\underline{x}$ haben die Länge $k$ (Bitanzahl eines Informationswortes) bzw. $n$ (Bitanzahl eines Codewortes) und $\mathbf{G}$ besitzt die Dimension $k &times; n$ ($k$ Zeilen und $n$ Spalten).<br>
+
*Die Vektoren&nbsp; $\underline{u}$&nbsp; und&nbsp; $\underline{x}$&nbsp; haben die Länge&nbsp; $k$&nbsp; (Bitanzahl eines Informationswortes) bzw.&nbsp; $n$&nbsp; (Bitanzahl eines Codewortes) und&nbsp; $\mathbf{G}$&nbsp; besitzt die Dimension&nbsp; $k &times; n$&nbsp; $(k$&nbsp; Zeilen und&nbsp; $n$&nbsp; Spalten$)$.<br>
  
*Bei Faltungscodierung bezeichnen dagegen $\underline{u}$ und $\underline{x}$ Sequenzen mit $k\hspace{0.05cm}' &#8594; &#8734;$ und $n\hspace{0.05cm}' &#8594; &#8734;$. Deshalb wird auch die Generatormatrix $\mathbf{G}$ in beiden Richtungen unendlich weit ausgedehnt sein.<br><br>
+
*Bei Faltungscodierung bezeichnen dagegen&nbsp; $\underline{u}$&nbsp; und&nbsp; $\underline{x}$&nbsp; Sequenzen mit&nbsp; $k\hspace{0.05cm}' &#8594; &#8734;$&nbsp; und&nbsp; $n\hspace{0.05cm}' &#8594; &#8734;$. Deshalb wird auch die Generatormatrix&nbsp; $\mathbf{G}$&nbsp; in beiden Richtungen unendlich weit ausgedehnt sein.<br><br>
  
Als Vorbereitung für die Einführung der Generatormatrix $\mathbf{G}$ auf der nächsten Seite definieren wir $m + 1$ Teilmatrizen, jeweils mit $k$ Zeilen und $n$ Spalten, die wir mit $\mathbf{G}_l$ bezeichnen, wobei $0 &#8804; l &#8804; m$ gilt.<br>
+
Als Vorbereitung für die Einführung der Generatormatrix&nbsp; $\mathbf{G}$&nbsp; auf der nächsten Seite definieren wir&nbsp; $m + 1$&nbsp; Teilmatrizen, jeweils mit&nbsp; $k$&nbsp; Zeilen und&nbsp; $n$&nbsp; Spalten, die wir mit&nbsp; $\mathbf{G}_l$&nbsp; bezeichnen, wobei&nbsp; $0 &#8804; l &#8804; m$&nbsp; gilt.<br>
  
 
{{BlaueBox|TEXT=   
 
{{BlaueBox|TEXT=   
$\text{Definition:}$&nbsp;  Die '''Teilmatrix''' $\mathbf{G}_l$ beschreibt folgenden Sachverhalt: Ist das Matrixelement $\mathbf{G}_l(\kappa, j) = 1$, so sagt dies aus, dass das Codebit $x_i^{(j)}$ durch das Informationsbit $u_{i-l}^{(\kappa)}$ beeinflusst wird. Andernfalls ist dieses Matrixelement gleich $0$.}}<br>
+
$\text{Definition:}$&nbsp;  Die &nbsp;'''Teilmatrix'''&nbsp; $\mathbf{G}_l$&nbsp; beschreibt folgenden Sachverhalt: &nbsp; Ist das Matrixelement&nbsp; $\mathbf{G}_l(\kappa, j) = 1$, so sagt dies aus, dass das Codebit&nbsp; $x_i^{(j)}$&nbsp; durch das Informationsbit&nbsp; $u_{i-l}^{(\kappa)}$&nbsp; beeinflusst wird. Andernfalls ist dieses Matrixelement gleich&nbsp; $0$.}}<br>
  
 
Diese Definition wird nun an einem Beispiel verdeutlicht.
 
Diese Definition wird nun an einem Beispiel verdeutlicht.
  
[[Datei:P ID2600 KC T 3 1 S4 v1.png|right|frame|Faltungscoder mit $k = 2, \ n = 3, \ m = 1$]]  
+
[[Datei:P ID2600 KC T 3 1 S4 v1.png|right|frame|Faltungscoder mit&nbsp; $k = 2, \ n = 3, \ m = 1$]]  
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
 
$\text{Beispiel 1:}$&nbsp;   
 
$\text{Beispiel 1:}$&nbsp;   
Wir betrachten wiederum den Faltungscodierer gemäß nebenstehender Grafik mit den folgenden Codebits:
+
Wir betrachten wiederum den Faltungscodierer gemäß der Grafik mit folgenden Codebits:
  
 
::<math>x_i^{(1)} = u_{i}^{(1)} + u_{i-1}^{(1)}+ u_{i-1}^{(2)} \hspace{0.05cm},</math>
 
::<math>x_i^{(1)} = u_{i}^{(1)} + u_{i-1}^{(1)}+ u_{i-1}^{(2)} \hspace{0.05cm},</math>
Zeile 29: Zeile 29:
 
::<math>x_i^{(3)} = u_{i}^{(1)} + u_{i}^{(2)}+ u_{i-1}^{(1)} \hspace{0.05cm}.</math>
 
::<math>x_i^{(3)} = u_{i}^{(1)} + u_{i}^{(2)}+ u_{i-1}^{(1)} \hspace{0.05cm}.</math>
  
Wegen der Gedächtnisordnung $m = 1$ wird dieser Codierer durch die beiden Teilmatrizen $\mathbf{G}_0$ und $\mathbf{G}_1$ vollständig charakterisiert:
+
Wegen der Gedächtnisordnung&nbsp; $m = 1$&nbsp; wird dieser Codierer durch die beiden Teilmatrizen&nbsp; $\mathbf{G}_0$&nbsp; und&nbsp; $\mathbf{G}_1$&nbsp; vollständig charakterisiert:
  
 
::<math>{ \boldsymbol{\rm G} }_0 =  
 
::<math>{ \boldsymbol{\rm G} }_0 =  
Zeile 42: Zeile 42:
  
 
Diese Matrizen sind wie folgt zu interpretieren:
 
Diese Matrizen sind wie folgt zu interpretieren:
*Erste Zeile von $\mathbf{G}_0$, rote Pfeile:&nbsp; $\hspace{1.1cm}u_i^{(1)}$ beeinflusst sowohl $x_i^{(1)}$ als auch $x_i^{(3)}$, nicht jedoch $x_i^{(2)}$.<br>
+
*Erste Zeile von&nbsp; $\mathbf{G}_0$, rote Pfeile:&nbsp; $\hspace{1.1cm}u_i^{(1)}$&nbsp; beeinflusst sowohl&nbsp; $x_i^{(1)}$&nbsp; als auch&nbsp; $x_i^{(3)}$, nicht jedoch&nbsp; $x_i^{(2)}$.<br>
  
*Zweite Zeile von $\mathbf{G}_0$, blaue Pfeile:&nbsp; $\hspace{0.6cm}u_i^{(2)}$ beeinflusst $x_i^{(2)}$ und $x_i^{(3)}$, aber nicht $x_i^{(1)}$.<br>
+
*Zweite Zeile von&nbsp; $\mathbf{G}_0$, blaue Pfeile:&nbsp; $\hspace{0.6cm}u_i^{(2)}$&nbsp; beeinflusst&nbsp; $x_i^{(2)}$&nbsp; und&nbsp; $x_i^{(3)}$, aber nicht&nbsp; $x_i^{(1)}$.<br>
  
*Erste Zeile von $\mathbf{G}_1$, grüne Pfeile:&nbsp; $\hspace{0.9cm}u_{i-1}^{(1)}$ beeinflusst alle drei Coderausgänge.<br>
+
*Erste Zeile von&nbsp; $\mathbf{G}_1$, grüne Pfeile:&nbsp; $\hspace{0.9cm}u_{i-1}^{(1)}$&nbsp; beeinflusst alle drei Coderausgänge.<br>
  
*Zweite Zeile von $\mathbf{G}_1$, brauner Pfeil:&nbsp; $\hspace{0.45cm}u_{i-1}^{(2)}$ beeinflusst nur $x_i^{(1)}$.}}<br>
+
*Zweite Zeile von&nbsp; $\mathbf{G}_1$, brauner Pfeil:&nbsp; $\hspace{0.45cm}u_{i-1}^{(2)}$&nbsp; beeinflusst nur&nbsp; $x_i^{(1)}$.}}<br>
  
 
== Generatormatrix eines Faltungscodierers mit Gedächtnis ''m'' ==
 
== Generatormatrix eines Faltungscodierers mit Gedächtnis ''m'' ==
 
<br>
 
<br>
Mit den Teilmatrizen $\mathbf{G}_0, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \mathbf{G}_m$ lassen sich die $n$ Codebits zum Zeitpunkt $i$ wie folgt ausdrücken:
+
Mit den Teilmatrizen&nbsp; $\mathbf{G}_0, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \mathbf{G}_m$&nbsp; lassen sich die&nbsp; $n$&nbsp; Codebits zum Zeitpunkt&nbsp; $i$&nbsp; wie folgt ausdrücken:
  
 
::<math>\underline{x}_i = \sum_{l = 0}^{m} \hspace{0.15cm}\underline{u}_{i-l} \cdot { \boldsymbol{\rm G}}_l =
 
::<math>\underline{x}_i = \sum_{l = 0}^{m} \hspace{0.15cm}\underline{u}_{i-l} \cdot { \boldsymbol{\rm G}}_l =
Zeile 63: Zeile 63:
 
  \underline{\it x}_i = \left ( x_i^{(1)}, x_i^{(2)}, \hspace{0.05cm}\text{...} \hspace{0.1cm}, x_i^{(n)}\right )\hspace{0.05cm}.</math>
 
  \underline{\it x}_i = \left ( x_i^{(1)}, x_i^{(2)}, \hspace{0.05cm}\text{...} \hspace{0.1cm}, x_i^{(n)}\right )\hspace{0.05cm}.</math>
  
Betrachtet man die bei $i = 1$ beginnenden und sich zeitlich bis ins Unendliche erstreckenden Sequenzen
+
Betrachtet man die bei&nbsp; $i = 1$&nbsp; beginnenden und sich zeitlich bis ins Unendliche erstreckenden Sequenzen
  
 
::<math>\underline{\it u} = \big( \underline{\it u}_1\hspace{0.05cm}, \underline{\it u}_2\hspace{0.05cm}, \hspace{0.05cm}\text{...} \hspace{0.1cm}, \underline{\it u}_i\hspace{0.05cm}, \hspace{0.05cm}\text{...}  \hspace{0.1cm} \big)\hspace{0.05cm},\hspace{0.5cm}  
 
::<math>\underline{\it u} = \big( \underline{\it u}_1\hspace{0.05cm}, \underline{\it u}_2\hspace{0.05cm}, \hspace{0.05cm}\text{...} \hspace{0.1cm}, \underline{\it u}_i\hspace{0.05cm}, \hspace{0.05cm}\text{...}  \hspace{0.1cm} \big)\hspace{0.05cm},\hspace{0.5cm}  
  \underline{\it x} = \big( \underline{\it x}_1\hspace{0.05cm}, \underline{\it x}_2\hspace{0.05cm}, \hspace{0.05cm}\text{...} \hspace{0.1cm}, \underline{\it x}_i\hspace{0.05cm}, \hspace{0.05cm}... \hspace{0.1cm} \big)\hspace{0.05cm},</math>
+
  \underline{\it x} = \big( \underline{\it x}_1\hspace{0.05cm}, \underline{\it x}_2\hspace{0.05cm}, \hspace{0.05cm}\text{...} \hspace{0.1cm}, \underline{\it x}_i\hspace{0.05cm}, \hspace{0.05cm}\text{...} \hspace{0.1cm} \big)\hspace{0.05cm},</math>
  
so kann dieser Zusammenhang durch die Matrixgleichung $\underline{x} = \underline{u} \cdot \mathbf{G}$ ausgedrückt werden. Hierbei ist für die Generatormatrix $\mathbf{G}$ zu setzen:
+
so kann dieser Zusammenhang durch die Matrixgleichung&nbsp; $\underline{x} = \underline{u} \cdot \mathbf{G}$&nbsp; ausgedrückt werden. Hierbei ist für die Generatormatrix&nbsp; $\mathbf{G}$&nbsp; wie folgt zu setzen:
  
 
::<math>{ \boldsymbol{\rm G}}=\begin{pmatrix}
 
::<math>{ \boldsymbol{\rm G}}=\begin{pmatrix}
Zeile 77: Zeile 77:
 
\end{pmatrix}\hspace{0.05cm}.</math>
 
\end{pmatrix}\hspace{0.05cm}.</math>
  
*Aus der Gleichung erkennt man sofort das Gedächtnis $m$ des Faltungscodes. Die Parameter $k$ und $n$ sind direkt nicht ablesbar.
+
*Aus der Gleichung erkennt man sofort das Gedächtnis&nbsp; $m$&nbsp; des Faltungscodes. Die Parameter&nbsp; $k$&nbsp; und&nbsp; $n$&nbsp; sind direkt nicht ablesbar.
* Sie sind aber durch die Zeilen&ndash; und Spaltenanzahl der Teilmatrizen $\mathbf{G}_l$ festgelegt.<br>
+
* Sie sind aber durch die Zeilen&ndash; und Spaltenanzahl der Teilmatrizen&nbsp; $\mathbf{G}_l$&nbsp; festgelegt.<br>
  
  
Zeile 84: Zeile 84:
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
 
$\text{Beispiel 2:}$&nbsp;   
 
$\text{Beispiel 2:}$&nbsp;   
Mit den zwei Matrizen $\mathbf{G}_0$ und $\mathbf{G}_1$ &ndash; siehe [[Kanalcodierung/Algebraische_und_polynomische_Beschreibung#Aufteilung_der_Generatormatrix_in_Teilmatrizen| Beispiel 1]] &ndash; erhält man die rechts skizzierte Matrix $\mathbf{G}$.
+
Mit den zwei Matrizen&nbsp; $\mathbf{G}_0$&nbsp; und&nbsp; $\mathbf{G}_1$&nbsp; &ndash; siehe&nbsp; [[Kanalcodierung/Algebraische_und_polynomische_Beschreibung#Aufteilung_der_Generatormatrix_in_Teilmatrizen| $\text{Beispiel 1}$]]&nbsp; &ndash; erhält man die rechts skizzierte Matrix&nbsp; $\mathbf{G}$.
  
 
Anzumerken ist:
 
Anzumerken ist:
*Die Generatormatrix  $\mathbf{G}$ erstreckt sich nach unten und nach rechts eigentlich bis ins Unendliche. Explizit dargestellt sind aber nur acht Zeilen und zwölf Spalten.
+
*Die Generatormatrix&nbsp; $\mathbf{G}$&nbsp; erstreckt sich nach unten und nach rechts eigentlich bis ins Unendliche. Explizit dargestellt sind aber nur acht Zeilen und zwölf Spalten.
  
*Für die zeitlich begrenzte Informationssequenz $\underline{u} = (0, 1, 1, 0, 0, 0, 1, 1)$ ist der gezeichnete Matrixteil ausreichend. Die Codesequenz lautet dann:  
+
*Für die zeitlich begrenzte Informationssequenz&nbsp; $\underline{u} = (0, 1, 1, 0, 0, 0, 1, 1)$&nbsp; ist der gezeichnete Matrixteil ausreichend. Die Codesequenz lautet dann:  
 
:$$\underline{x} = (0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0).$$
 
:$$\underline{x} = (0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0).$$
  
*Anhand der Beschriftungsfarben lassen sich die $n = 3$ Codewortstränge ablesen.  
+
*Anhand der Beschriftungsfarben lassen sich die&nbsp; $n = 3$&nbsp; Codewortstränge ablesen.  
*Das gleiche Ergebnis haben wir (auf anderem Wege) im [[Kanalcodierung/Grundlagen_der_Faltungscodierung#Faltungscodierer_mit_zwei_Eing.C3.A4ngen| Beispiel 4]] am Ende des letzten Kapitels erhalten:
+
*Das gleiche Ergebnis haben wir (auf anderem Wege) im&nbsp; [[Kanalcodierung/Grundlagen_der_Faltungscodierung#Faltungscodierer_mit_zwei_Eing.C3.A4ngen| $\text{Beispiel 4}$]]&nbsp; am Ende des letzten Kapitels erhalten:
 
:$$\underline{\it x}^{(1)} = (0\hspace{0.05cm}, 0\hspace{0.05cm}, 1\hspace{0.05cm}, 1) \hspace{0.05cm},\hspace{0.5cm}
 
:$$\underline{\it x}^{(1)} = (0\hspace{0.05cm}, 0\hspace{0.05cm}, 1\hspace{0.05cm}, 1) \hspace{0.05cm},\hspace{0.5cm}
 
\underline{\it x}^{(2)} = (1\hspace{0.05cm}, 0\hspace{0.05cm},1\hspace{0.05cm}, 1) \hspace{0.05cm},\hspace{0.5cm}
 
\underline{\it x}^{(2)} = (1\hspace{0.05cm}, 0\hspace{0.05cm},1\hspace{0.05cm}, 1) \hspace{0.05cm},\hspace{0.5cm}
Zeile 100: Zeile 100:
 
== Generatormatrix für Faltungscodierer der Rate 1/''n'' ==
 
== Generatormatrix für Faltungscodierer der Rate 1/''n'' ==
 
<br>
 
<br>
Wir betrachten nun den Sonderfall $k = 1$,  
+
Wir betrachten nun den Sonderfall&nbsp; $k = 1$,  
 
*zum einen aus Gründen einer möglichst einfachen Darstellung,  
 
*zum einen aus Gründen einer möglichst einfachen Darstellung,  
*aber auch, weil Faltungscodierer der Rate $1/n$ für die Praxis eine große Bedeutung besitzen.<br><br>
+
*aber auch, weil Faltungscodierer der Rate&nbsp; $1/n$&nbsp; für die Praxis eine große Bedeutung besitzen.<br><br>
  
[[Datei:P ID2602 KC T 3 2 S3a.png|right|frame|Faltungscoder mit  $k = 1, n = 2,  m = 1$]]
+
[[Datei:P ID2602 KC T 3 2 S3a.png|right|frame|Faltungscoder mit&nbsp; $k = 1, \ n = 2,  \ m = 1$]]
<b>Faltungscodierer mit $k = 1, n = 2, m = 1$</b><br>
+
<b>Faltungscodierer mit&nbsp; $k = 1, \ n = 2, \ m = 1$</b><br>
  
Aus der nebenstehenden Skizze kann abgeleitet werden:
+
Aus nebenstehender Skizze kann abgeleitet werden:
  
 
::<math>{ \boldsymbol{\rm G}}_0=\begin{pmatrix}
 
::<math>{ \boldsymbol{\rm G}}_0=\begin{pmatrix}
Zeile 123: Zeile 123:
 
\end{pmatrix}\hspace{0.05cm}.</math>
 
\end{pmatrix}\hspace{0.05cm}.</math>
  
Für die Eingangssequenz $\underline{u} = (1, 0, 1, 1)$ beginnt die Codesequenz mit $\underline{x} = (1, 1, 0, 1, 1, 1, 1, 0, \ \text{...})$. Dieses Ergebnis ist gleich der Summe der Zeilen 1, 3 und 4 der Generatormatrix.<br><br>
+
Für die Eingangssequenz&nbsp; $\underline{u} = (1, 0, 1, 1)$&nbsp; beginnt die Codesequenz mit&nbsp; $\underline{x} = (1, 1, 0, 1, 1, 1, 1, 0, \ \text{...})$. <br>Dieses Ergebnis ist gleich der Summe der Zeilen 1, 3 und 4 der Generatormatrix.<br><br>
  
[[Datei:P ID2603 KC T 3 2 S3b.png|right|frame|Faltungscoder mit $k = 1, n = 2, m = 2$]]
+
[[Datei:P ID2603 KC T 3 2 S3b.png|right|frame|Faltungscoder mit&nbsp; $k = 1, \ n = 2, \ m = 2$]]
<b>Faltungscodierer mit $k = 1, n = 2, m = 2$</b><br>
+
<b>Faltungscodierer mit&nbsp; $k = 1, \ n = 2, \ m = 2$</b><br>
  
Aufgrund der Gedächtnisordnung $m = 2$ gibt es hier drei Teilmatrizen:
+
Aufgrund der Gedächtnisordnung&nbsp; $m = 2$&nbsp; gibt es hier drei Teilmatrizen:
  
 
::<math>{ \boldsymbol{\rm G}}_0=\begin{pmatrix}
 
::<math>{ \boldsymbol{\rm G}}_0=\begin{pmatrix}
Zeile 150: Zeile 150:
 
\end{pmatrix}\hspace{0.05cm}.</math>
 
\end{pmatrix}\hspace{0.05cm}.</math>
  
Hier führt die Eingangsssequenz $\underline{u} = (1, 0, 1, 1)$ zur Codesequenz $\underline{x} = (1, 1, 1, 0, 0, 0, 0, 1, \ \text{...})$.<br><br>
+
Hier führt die Eingangsssequenz&nbsp; $\underline{u} = (1, 0, 1, 1)$&nbsp; zur Codesequenz&nbsp; $\underline{x} = (1, 1, 1, 0, 0, 0, 0, 1, \ \text{...})$.<br><br>
  
[[Datei:P ID2604 KC T 3 2 S3c.png|right|frame|Faltungscoder mit $k = 1, \ n = 3, m = 3$]]
+
[[Datei:P ID2604 KC T 3 2 S3c.png|right|frame|Faltungscoder mit&nbsp; $k = 1, \ n = 3, \ m = 3$]]
<b>Faltungscodierer mit $k = 1, n = 3, m = 3$</b>
+
<b>Faltungscodierer mit $k = 1, \ n = 3, \ m = 3$</b>
  
Wegen $m = 3$ gibt es nun vier Teilmatrizen der jeweiligen Dimension $1 &times; 3$:
+
Wegen&nbsp; $m = 3$&nbsp; gibt es nun vier Teilmatrizen der jeweiligen Dimension&nbsp; $1 &times; 3$:
  
 
::<math>{ \boldsymbol{\rm G}}_0=\begin{pmatrix}
 
::<math>{ \boldsymbol{\rm G}}_0=\begin{pmatrix}
Zeile 180: Zeile 180:
 
\end{pmatrix}\hspace{0.05cm},</math>
 
\end{pmatrix}\hspace{0.05cm},</math>
  
und man erhält für $\underline{u} = (1, 0, 1, 1)$ die Codesequenz $\underline{x} = (1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, \ \text{...})$.<br>
+
und man erhält für&nbsp; $\underline{u} = (1, 0, 1, 1)$&nbsp; die Codesequenz&nbsp; $\underline{x} = (1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, \ \text{...})$.<br>
  
 
== GF(2)–Beschreibungsformen eines Digitalen Filters ==
 
== GF(2)–Beschreibungsformen eines Digitalen Filters ==
 
<br>
 
<br>
[[Datei:P ID2605 KC T 3 2 S4 v1.png|right|frame|Digitales Filter in ${\rm GF}(2)$ der Ordnung $m$|class=fit]]
+
[[Datei:P ID2605 KC T 3 2 S4 v1.png|right|frame|Digitales Filter in&nbsp; ${\rm GF}(2)$&nbsp; der Ordnung&nbsp; $m$|class=fit]]
Im Kapitel [[Kanalcodierung/Grundlagen_der_Faltungscodierung#Rate.E2.80.931.2F2.E2.80.93Faltungscodierer_.282.29| Grundlagen der Faltungscodierung]] wurde bereits darauf hingewiesen,  
+
Im Kapitel&nbsp; [[Kanalcodierung/Grundlagen_der_Faltungscodierung#Rate.E2.80.931.2F2.E2.80.93Faltungscodierer_.282.29| Grundlagen der Faltungscodierung]]&nbsp; wurde bereits darauf hingewiesen,  
*dass ein Faltungscodierer der Rate $1/n$ durch mehrere Digitale Filter realisiert werden kann,  
+
*dass ein Rate&nbsp; $1/n$&ndash;Faltungscodierer durch mehrere Digitale Filter realisiert werden kann,  
*wobei die Filter parallel mit der gleichen Eingangsfolge $\underline{u}$ arbeiten.  
+
*wobei die Filter parallel mit der gleichen Eingangsfolge&nbsp; $\underline{u}$&nbsp; arbeiten.  
  
  
Bevor wir diese Aussage vertiefen, sollen zuerst die Eigenschaften eines Digitalfilters für das Galoisfeld ${\rm GF(2)}$ genannt werden.
+
Bevor wir diese Aussage vertiefen, sollen zuerst die Eigenschaften eines Digitalfilters für das Galoisfeld&nbsp; ${\rm GF(2)}$&nbsp; genannt werden.
  
  
 
Die Grafik ist wie folgt zu interpretieren:
 
Die Grafik ist wie folgt zu interpretieren:
*Das Filter besitzt die Impulsantwort $\underline{g} = (g_0, g_1, g_2, \ \text{...} \ , g_m)$.
+
*Das Filter besitzt die Impulsantwort&nbsp; $\underline{g} = (g_0, g_1, g_2, \ \text{...} \ , g_m)$.
* Für alle Filterkoeffizienten (mit den Indizes $0 &#8804; l &#8804; m$) gilt: &nbsp; $g_l &#8712; {\rm GF}(2) = \{0, 1\}$.<br>
+
* Für alle Filterkoeffizienten $($mit den Indizes&nbsp; $0 &#8804; l &#8804; m)$&nbsp; gilt: &nbsp; $g_l &#8712; {\rm GF}(2) = \{0, 1\}$.<br>
  
*Die einzelnen Symbole $u_i$ der Eingangsfolge $\underline{u}$ seien ebenfalls binär: &nbsp; $u_i &#8712; \{0, 1\}$.  
+
*Die einzelnen Symbole&nbsp; $u_i$&nbsp; der Eingangsfolge&nbsp; $\underline{u}$&nbsp; seien ebenfalls binär: &nbsp; $u_i &#8712; \{0, 1\}$.  
*Damit gilt für das Ausgangssymbol zu den Zeitpunkten $i &#8805; 1$ mit Addition und Multiplikation in ${\rm GF(2)}$:
+
*Damit gilt für das Ausgangssymbol zu den Zeitpunkten&nbsp; $i &#8805; 1$&nbsp; mit Addition und Multiplikation in&nbsp; ${\rm GF(2)}$:
  
 
::<math>x_i = \sum_{l = 0}^{m} g_l \cdot u_{i-l} \hspace{0.05cm}.</math>
 
::<math>x_i = \sum_{l = 0}^{m} g_l \cdot u_{i-l} \hspace{0.05cm}.</math>
  
*Dies entspricht der (zeitdiskreten) [[Signaldarstellung/Faltungssatz_und_Faltungsoperation#Faltung_im_Zeitbereich| Faltungsoperation]] (englisch: <i>Convolution</i>), gekennzeichnet durch einen Stern. Damit kann für die gesamte Ausgangssequenz geschrieben werden:
+
*Dies entspricht der (zeitdiskreten)&nbsp; [[Signaldarstellung/Faltungssatz_und_Faltungsoperation#Faltung_im_Zeitbereich| Faltungsoperation]]&nbsp; (englisch: &nbsp;<i>Convolution</i>&nbsp;), gekennzeichnet durch einen Stern. Damit kann für die gesamte Ausgangssequenz geschrieben werden:
  
 
::<math>\underline{x} = \underline{u} * \underline{g}\hspace{0.05cm}.</math>
 
::<math>\underline{x} = \underline{u} * \underline{g}\hspace{0.05cm}.</math>
  
*Wesentlicher Unterschied gegenüber dem Kapitel [[Stochastische_Signaltheorie/Digitale_Filter| Digitale Filter]] im Buch &bdquo;Stochastische Signaltheorie&rdquo; ist die Modulo&ndash;2&ndash;Addition $(1 + 1 = 0)$ anstelle der herkömmlichen Addition $(1 + 1 = 2)$.<br><br>
+
*Wesentlicher Unterschied gegenüber dem Kapitel&nbsp; [[Stochastische_Signaltheorie/Digitale_Filter| Digitale Filter]]&nbsp; im Buch &bdquo;Stochastische Signaltheorie&rdquo; ist die Modulo&ndash;2&ndash;Addition&nbsp; $(1 + 1 = 0)$&nbsp; anstelle der herkömmlichen Addition&nbsp; $(1 + 1 = 2)$.<br><br>
  
[[Datei:P ID2606 KC T 3 2 S4b.png|right|frame|Digitales Filter mit Impulsantwort $(1, 0, 1, 1)$]]  
+
[[Datei:P ID2606 KC T 3 2 S4b.png|right|frame|Digitales Filter mit Impulsantwort&nbsp; $(1, 0, 1, 1)$]]  
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
 
$\text{Beispiel 3:}$&nbsp;   
 
$\text{Beispiel 3:}$&nbsp;   
Die Impulsantwort des dargestellten Digitalen Filters dritter Ordnung 3 lautet: &nbsp; $\underline{g} = (1, 0, 1, 1)$.
+
Die Impulsantwort des dargestellten Digitalen Filters dritter Ordnung lautet: &nbsp; $\underline{g} = (1, 0, 1, 1)$.
Die Eingangssequenz dieses Filters sei zeitlich unbegrenzt: &nbsp; $\underline{u} = (1, 1, 0, 0, 0, \ \text{ ...})$.<br>
+
*Die Eingangssequenz dieses Filters sei zeitlich unbegrenzt: &nbsp; $\underline{u} = (1, 1, 0, 0, 0, \ \text{ ...})$.<br>
  
Damit ergibt sich die (unendliche) Ausgangssequenz $\underline{x}$ im binären Galoisfeld &nbsp; &#8658; &nbsp; ${\rm GF(2)}$:
+
*Damit ergibt sich die (unendliche) Ausgangssequenz&nbsp; $\underline{x}$&nbsp; im binären Galoisfeld &nbsp; &#8658; &nbsp; ${\rm GF(2)}$:
  
 
::<math>\underline{x} = (\hspace{0.05cm}1,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm} 0, \hspace{0.05cm} \text{ ...} \hspace{0.05cm}) * (\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 1\hspace{0.05cm})</math>
 
::<math>\underline{x} = (\hspace{0.05cm}1,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm} 0, \hspace{0.05cm} \text{ ...} \hspace{0.05cm}) * (\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 1\hspace{0.05cm})</math>
Zeile 221: Zeile 221:
 
= (\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}1,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 0, \hspace{0.05cm} \text{ ...} \hspace{0.05cm}) \hspace{0.05cm}.</math>
 
= (\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}1,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 0, \hspace{0.05cm} \text{ ...} \hspace{0.05cm}) \hspace{0.05cm}.</math>
  
Bei der herkömmlichen Faltung (für reelle Zahlen) hätte dagegen das Ergebnis gelautet:
+
*Bei der herkömmlichen Faltung (für reelle Zahlen) hätte dagegen das Ergebnis gelautet:
  
 
::<math>\underline{x}= (\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}1,\hspace{0.05cm} 1,\hspace{0.05cm} 2,\hspace{0.05cm} 1,\hspace{0.05cm} 0, \text{ ...} \hspace{0.05cm}) \hspace{0.05cm}.</math>}}<br>
 
::<math>\underline{x}= (\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}1,\hspace{0.05cm} 1,\hspace{0.05cm} 2,\hspace{0.05cm} 1,\hspace{0.05cm} 0, \text{ ...} \hspace{0.05cm}) \hspace{0.05cm}.</math>}}<br>
Zeile 228: Zeile 228:
  
 
{{BlaueBox|TEXT=   
 
{{BlaueBox|TEXT=   
$\text{Definition:}$&nbsp;  Die zum zeitdiskreten Signal $\underline{x} = (x_0, x_1, x_2, \ \text{...})$ gehörige $\boldsymbol{D}$<b>&ndash;Transformierte</b> lautet:
+
$\text{Definition:}$&nbsp;  Die zum zeitdiskreten Signal&nbsp; $\underline{x} = (x_0, x_1, x_2, \ \text{...})$&nbsp; gehörige&nbsp; $D$<b>&ndash;Transformierte</b>&nbsp; lautet:
  
 
::<math>X(D) = x_0 + x_1 \cdot D + x_2 \cdot D^2 + \hspace{0.05cm}\text{...}\hspace{0.05cm}= \sum_{i = 0}^{\infty} x_i \cdot D\hspace{0.05cm}^i \hspace{0.05cm}.</math>
 
::<math>X(D) = x_0 + x_1 \cdot D + x_2 \cdot D^2 + \hspace{0.05cm}\text{...}\hspace{0.05cm}= \sum_{i = 0}^{\infty} x_i \cdot D\hspace{0.05cm}^i \hspace{0.05cm}.</math>
  
Für diese spezielle Transformation in einen Bildbereich verwenden wir auch die Notation, wobei &bdquo;D&rdquo; für ''Delay Operator'' steht:
+
Für diese spezielle Transformation in einen Bildbereich verwenden wir auch folgende Notation, wobei &bdquo;$D$&rdquo; für&nbsp; ''Delay Operator''&nbsp; steht:
  
 
::<math>\underline{x} = (x_0, x_1, x_2,\hspace{0.05cm}...\hspace{0.05cm}) \quad
 
::<math>\underline{x} = (x_0, x_1, x_2,\hspace{0.05cm}...\hspace{0.05cm}) \quad
Zeile 238: Zeile 238:
 
X(D) =  \sum_{i = 0}^{\infty} x_i \cdot D\hspace{0.05cm}^i \hspace{0.05cm}.</math>}}<br>
 
X(D) =  \sum_{i = 0}^{\infty} x_i \cdot D\hspace{0.05cm}^i \hspace{0.05cm}.</math>}}<br>
  
''Hinweis'': &nbsp; In der Literatur wird manchmal $x(D)$ anstelle von $X(D)$ verwendet. Wir schreiben in in unserem Lerntutorial aber alle Bildbereichsfunktionen mit Großbuchstaben, zum Beispiel Fourier&ndash;, Laplace&ndash; und $D$&ndash;Transformation:
+
''Hinweis'': &nbsp; In der Literatur wird manchmal&nbsp; $x(D)$&nbsp; anstelle von&nbsp; $X(D)$&nbsp; verwendet. Wir schreiben in unserem Lerntutorial aber alle Bildbereichsfunktionen mit Großbuchstaben, zum Beispiel die Fourier&ndash;, die Laplace&ndash; und die $D$&ndash;Transformation:
  
 
::<math>x(t) \hspace{0.15cm}
 
::<math>x(t) \hspace{0.15cm}
Zeile 249: Zeile 249:
  
  
Wir wenden nun die $D$&ndash;Transformation auch auf die Informationssequenz $\underline{u}$ und die Impulsantwort $\underline{g}$ an. Aufgrund der zeitlichen Begrenzung von $\underline{g}$ ergibt sich die obere Summationsgrenze bei $G(D)$ zu $i = m$:<br>
+
Wir wenden nun die&nbsp; $D$&ndash;Transformation auch auf die Informationssequenz&nbsp; $\underline{u}$&nbsp; und die Impulsantwort $\underline{g}$&nbsp; an. Aufgrund der zeitlichen Begrenzung von&nbsp; $\underline{g}$&nbsp; ergibt sich die obere Summationsgrenze bei $G(D)$ zu $i = m$:<br>
  
 
::<math>\underline{u} = (u_0, u_1, u_2,\hspace{0.05cm}\text{...}\hspace{0.05cm}) \quad
 
::<math>\underline{u} = (u_0, u_1, u_2,\hspace{0.05cm}\text{...}\hspace{0.05cm}) \quad
Zeile 260: Zeile 260:
  
 
{{BlaueBox|TEXT=   
 
{{BlaueBox|TEXT=   
$\text{Satz:}$&nbsp;  Wie bei allen Spektraltransformationen gilt auch bei der $D$&ndash;Transformation im Bildbereich die <b>Multiplikation</b>, da die (diskreten) Zeitsignale $\underline{u}$ und $\underline{g}$ durch die <b>Faltung</b> verknüpft sind:
+
$\text{Satz:}$&nbsp;  Wie bei allen Spektraltransformationen gilt auch bei der&nbsp; $D$&ndash;Transformation im Bildbereich die&nbsp; <b>Multiplikation</b>, da die (diskreten) Zeitsignale&nbsp; $\underline{u}$&nbsp; und&nbsp; $\underline{g}$&nbsp; durch die&nbsp; <b>Faltung</b>&nbsp; verknüpft sind:
  
 
::<math>\underline{x} = \underline{u} * \underline{g} \quad
 
::<math>\underline{x} = \underline{u} * \underline{g} \quad
Zeile 266: Zeile 266:
 
X(D) = U(D) \cdot G(D) \hspace{0.05cm}.</math>
 
X(D) = U(D) \cdot G(D) \hspace{0.05cm}.</math>
  
Man bezeichnet &ndash; wie in der [[Lineare_zeitinvariante_Systeme/Systembeschreibung_im_Frequenzbereich#.C3.9Cbertragungsfunktion_-_Frequenzgang| Systemtheorie]] allgemein üblich &ndash; auch die $D$&ndash;Transformierte $G(D)$ der Impulsantwort $\underline{g}$ als '''Übertragungsfunktion''' (englisch: <i>Transfer Function</i>). Der (recht einfache) $\rm Beweis$ dieses wichtigen Ergebnisses finden Sie in der Angabe zur [[Aufgaben:3.3Z_Faltung_und_D%E2%80%93Transformation|Aufgabe 3.3Z]]}}<br>
+
Man bezeichnet &ndash; wie in der&nbsp; [[Lineare_zeitinvariante_Systeme/Systembeschreibung_im_Frequenzbereich#.C3.9Cbertragungsfunktion_-_Frequenzgang| Systemtheorie]]&nbsp; allgemein üblich &ndash; auch die&nbsp; $D$&ndash;Transformierte&nbsp; $G(D)$&nbsp; der Impulsantwort&nbsp; $\underline{g}$&nbsp; als&nbsp; '''Übertragungsfunktion'''&nbsp; (englisch: &nbsp; <i>Transfer Function</i>). Der (recht einfache)&nbsp; $\rm Beweis$&nbsp; dieses wichtigen Ergebnisses finden Sie in der Angabe zur&nbsp; [[Aufgaben:3.3Z_Faltung_und_D%E2%80%93Transformation|Aufgabe 3.3Z]].}}<br>
  
[[Datei:P ID2607 KC T 3 2 S4b.png|right|frame|Digitales Filter mit Impulsantwort $(1, 0, 1, 1)$]]  
+
[[Datei:P ID2607 KC T 3 2 S4b.png|right|frame|Digitales Filter mit Impulsantwort&nbsp; $(1, 0, 1, 1)$]]  
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
 
$\text{Beispiel 4:}$&nbsp;  Wir betrachten wieder die zeitdiskreten Signale  
 
$\text{Beispiel 4:}$&nbsp;  Wir betrachten wieder die zeitdiskreten Signale  
Zeile 280: Zeile 280:
 
G(D) =  1+ D^2 + D^3 \hspace{0.05cm}.</math>
 
G(D) =  1+ D^2 + D^3 \hspace{0.05cm}.</math>
  
Wie im $\text{Beispiel 3}$ (auf dieser Seite oben) erhält man auch auf diesem Lösungsweg:
+
Wie im&nbsp; $\text{Beispiel 3}$&nbsp; (auf dieser Seite oben) erhält man auch auf diesem Lösungsweg:
  
 
::<math>X(D) = U(D) \cdot G(D) =  (1+D) \cdot (1+ D^2 + D^3) </math>
 
::<math>X(D) = U(D) \cdot G(D) =  (1+D) \cdot (1+ D^2 + D^3) </math>
Zeile 286: Zeile 286:
 
\Rightarrow \hspace{0.3cm} \underline{x} = (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm}, \text{...} \hspace{0.05cm}) \hspace{0.05cm}.</math>
 
\Rightarrow \hspace{0.3cm} \underline{x} = (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm}, \text{...} \hspace{0.05cm}) \hspace{0.05cm}.</math>
  
Die Multiplikation mit $D$ im Bildbereich entspricht  im Zeitbereich einer Verschiebung um eine Stelle nach rechts, weshalb man $D$ als <i>Verzögerungsoperator</i> (englisch: <i>Delay Operator</i>&nbsp;) bezeichnet:
+
Die Multiplikation mit&nbsp; $D$&nbsp; im Bildbereich entspricht  im Zeitbereich einer Verschiebung um eine Stelle nach rechts, weshalb man&nbsp; $D$&nbsp; als <i>Verzögerungsoperator</i>&nbsp; (englisch: &nbsp;<i>Delay Operator</i>&nbsp;) bezeichnet:
  
 
::<math>W(D) = D \cdot X(D) \quad
 
::<math>W(D) = D \cdot X(D) \quad
Zeile 294: Zeile 294:
 
== Anwendung der D–Transformation auf Rate–1/''n''–Faltungscoder ==
 
== Anwendung der D–Transformation auf Rate–1/''n''–Faltungscoder ==
 
<br>
 
<br>
Wir wenden nun die Ergebnisse der letzten Seite auf einen Faltungscoder an, wobei wir uns zunächst auf den Sonderfall $k = 1$ beschränken.  
+
Wir wenden nun die Ergebnisse der letzten Seite auf einen Faltungscoder an, wobei wir uns zunächst auf den Sonderfall&nbsp; $k = 1$&nbsp; beschränken.  
*Ein solcher $(n, \ k = 1)$&ndash;Faltungscode lässt sich mit $n$ Digitalen  Filtern realisieren, die auf der gleichen Informationssequenz $\underline{u}$ parallel arbeiten.  
+
*Ein solcher&nbsp; $(n, \ k = 1)$&ndash;Faltungscode lässt sich mit&nbsp; $n$&nbsp; Digitalen  Filtern realisieren, die auf der gleichen Informationssequenz&nbsp; $\underline{u}$&nbsp; parallel arbeiten.  
*Die Grafik zeigt die Anordnung für den Codeparameter $n = 2$ &nbsp; &#8658; &nbsp; Coderate $R = 1/2$.<br>
+
*Die Grafik zeigt die Anordnung für den Codeparameter&nbsp; $n = 2$ &nbsp; &#8658; &nbsp; Coderate $R = 1/2$.<br>
  
  
[[Datei:P ID2608 KC T 3 2 S5 v1.png|center|frame|Zwei parallel arbeitende Filter, jeweils mit Ordnung $m$|class=fit]]
+
[[Datei:P ID2608 KC T 3 2 S5 v1.png|center|frame|Zwei parallel arbeitende Filter, jeweils mit Ordnung&nbsp; $m$|class=fit]]
  
Die folgenden Gleichungen gelten für beide Filter gleichermaßen, wobei für das obere Filter $j = 1$ und für das untere Filter $j = 2$ zu setzen ist:
+
Die folgenden Gleichungen gelten für beide Filter gleichermaßen, wobei für das obere Filter&nbsp; $j = 1$&nbsp; und für das untere Filter&nbsp; $j = 2$&nbsp; zu setzen ist:
*Die <b>Impulsantworten</b> der beiden Filter ergeben sich zu
+
*Die&nbsp; <b>Impulsantworten</b>&nbsp; der beiden Filter ergeben sich zu
  
 
::<math>\underline{g}^{(j)} = (g_0^{(j)}, g_1^{(j)}, \hspace{0.05cm}\text{...}\hspace{0.05cm}, g_m^{(j)}\hspace{0.01cm}) \hspace{0.05cm},\hspace{0.2cm}{\rm mit }\hspace{0.15cm} j \in \{1,2\}\hspace{0.05cm}.</math>
 
::<math>\underline{g}^{(j)} = (g_0^{(j)}, g_1^{(j)}, \hspace{0.05cm}\text{...}\hspace{0.05cm}, g_m^{(j)}\hspace{0.01cm}) \hspace{0.05cm},\hspace{0.2cm}{\rm mit }\hspace{0.15cm} j \in \{1,2\}\hspace{0.05cm}.</math>
  
*Die zwei <b>Ausgangssequenzen</b> lauten, wobei berücksichtigt ist, dass beide Filter auf der gleichen Eingangssequenz $\underline{u} = (u_0, u_1, u_2, \hspace{0.05cm} \text{...})$ arbeiten:
+
*Die zwei&nbsp; <b>Ausgangssequenzen</b>&nbsp; lauten, wobei berücksichtigt ist, dass beide Filter auf der gleichen Eingangssequenz&nbsp; $\underline{u} = (u_0, u_1, u_2, \hspace{0.05cm} \text{...})$&nbsp; arbeiten:
  
 
::<math>\underline{x}^{(j)} = (x_0^{(j)}, x_1^{(j)}, x_2^{(j)}, \hspace{0.05cm}\text{...}\hspace{0.05cm}) = \underline{u} \cdot \underline{g}^{(j)} \hspace{0.05cm},\hspace{0.2cm}{\rm mit }\hspace{0.15cm} j \in \{1,2\}\hspace{0.05cm}.</math>
 
::<math>\underline{x}^{(j)} = (x_0^{(j)}, x_1^{(j)}, x_2^{(j)}, \hspace{0.05cm}\text{...}\hspace{0.05cm}) = \underline{u} \cdot \underline{g}^{(j)} \hspace{0.05cm},\hspace{0.2cm}{\rm mit }\hspace{0.15cm} j \in \{1,2\}\hspace{0.05cm}.</math>
  
*Für die $D$<b>&ndash;Transformierten</b> der Ausgangssequenzen gilt:
+
*Für die&nbsp; $D$<b>&ndash;Transformierten</b>&nbsp; der Ausgangssequenzen gilt:
  
 
::<math>X^{(j)}(D) = U(D) \cdot G^{(j)}(D) \hspace{0.05cm},\hspace{0.2cm}{\rm mit }\hspace{0.15cm} j \in \{1,2\}\hspace{0.05cm}.</math>
 
::<math>X^{(j)}(D) = U(D) \cdot G^{(j)}(D) \hspace{0.05cm},\hspace{0.2cm}{\rm mit }\hspace{0.15cm} j \in \{1,2\}\hspace{0.05cm}.</math>
  
Um diesen Sachverhalt kompakter darstellen zu können, definieren wir nun folgende vektorielle Größen eines Faltungscodes der Rate $1/n$:
+
Um diesen Sachverhalt kompakter darstellen zu können, definieren wir nun folgende vektorielle Größen eines Faltungscodes der Rate&nbsp; $1/n$:
  
 
{{BlaueBox|TEXT=   
 
{{BlaueBox|TEXT=   
$\text{Definition:}$&nbsp;  Die $D$<b>&ndash;Übertragungsfunktionen </b> der $n$ parallel angeordneten digitalen Filter werden im Vektor $\underline{G}(D)$ zusammengefasst:
+
$\text{Definition:}$&nbsp;  Die&nbsp; $D$<b>&ndash;Übertragungsfunktionen</b>&nbsp; der&nbsp; $n$&nbsp; parallel angeordneten Digitalen Filter werden im Vektor&nbsp; $\underline{G}(D)$&nbsp; zusammengefasst:
  
 
::<math>\underline{G}(D) = \left ( G^{(1)}(D), G^{(2)}(D), \hspace{0.05cm}\text{...}\hspace{0.1cm}, G^{(n)} (D) \right )\hspace{0.05cm}.</math>
 
::<math>\underline{G}(D) = \left ( G^{(1)}(D), G^{(2)}(D), \hspace{0.05cm}\text{...}\hspace{0.1cm}, G^{(n)} (D) \right )\hspace{0.05cm}.</math>
  
*Der Vektor $\underline{X}(D)$ beinhaltet die $D$<b>&ndash;Transformierten</b> der $n$ Codesequenzen $\underline{x}^{(1)}, \underline{x}^{(2)}, \ \text{...} \ , \underline{x}^{(n)}$:
+
*Der Vektor&nbsp; $\underline{X}(D)$&nbsp; beinhaltet die&nbsp; $D$<b>&ndash;Transformierten</b>&nbsp; der&nbsp; $n$&nbsp; Codesequenzen&nbsp; $\underline{x}^{(1)}, \underline{x}^{(2)}, \ \text{...} \ , \underline{x}^{(n)}$:
  
 
::<math>\underline{X}(D) = \left ( X^{(1)}(D), X^{(2)}(D), \hspace{0.05cm}\text{...}\hspace{0.1cm}, X^{(n)} (D) \right )\hspace{0.05cm}.</math>
 
::<math>\underline{X}(D) = \left ( X^{(1)}(D), X^{(2)}(D), \hspace{0.05cm}\text{...}\hspace{0.1cm}, X^{(n)} (D) \right )\hspace{0.05cm}.</math>
Zeile 329: Zeile 329:
 
::<math>\underline{X}(D) = U(D) \cdot \underline{G}(D)\hspace{0.05cm}.</math>
 
::<math>\underline{X}(D) = U(D) \cdot \underline{G}(D)\hspace{0.05cm}.</math>
  
*Aufgrund des Codeparameters $k = 1$ ist $U(D)$ hier keine vektorielle Größe.}}<br>
+
*Aufgrund des Codeparameters&nbsp; $k = 1$&nbsp; ist&nbsp; $U(D)$&nbsp; hier keine vektorielle Größe.}}<br>
  
[[Datei:P ID2609 KC T 3 2 S5b.png|right|frame|Faltungscoder mit $n = 2, k = 1, m = 2$]]  
+
[[Datei:P ID2609 KC T 3 2 S5b.png|right|frame|Faltungscoder mit&nbsp; $n = 2, \ k = 1,m = 2$]]  
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
 
$\text{Beispiel 5:}$&nbsp;  
 
$\text{Beispiel 5:}$&nbsp;  
Wir betrachten den Faltungscodierer mit den Codeparametern $n = 2, k = 1, m = 2$. Für diesen gilt:
+
Wir betrachten den Faltungscodierer mit den Codeparametern&nbsp; $n = 2, \ k = 1, \ m = 2$. Für diesen gilt:
  
 
::<math>\underline{g}^{(1)} =(\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad
 
::<math>\underline{g}^{(1)} =(\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad
Zeile 342: Zeile 342:
 
::<math>\Rightarrow \hspace{0.3cm} \underline{G}(D) = \big ( 1+ D + D^2 \hspace{0.05cm}, \hspace{0.1cm}1+  D^2 \big )\hspace{0.05cm}.</math>
 
::<math>\Rightarrow \hspace{0.3cm} \underline{G}(D) = \big ( 1+ D + D^2 \hspace{0.05cm}, \hspace{0.1cm}1+  D^2 \big )\hspace{0.05cm}.</math>
  
Die Informationssequenz sei $\underline{u} = (1, 0, 1, 1)$ &nbsp; &rArr; &nbsp; $D$&ndash;Transformierte $U(D) = 1 + D^2 + D^3$. Damit erhält man:
+
Die Informationssequenz sei&nbsp; $\underline{u} = (1, 0, 1, 1)$ &nbsp; &rArr; &nbsp; $D$&ndash;Transformierte&nbsp; $U(D) = 1 + D^2 + D^3$. Damit erhält man:
  
 
::<math>\underline{X}(D) = \left ( X^{(1)}(D),\hspace{0.1cm} X^{(2)}(D)  \right ) = U(D) \cdot \underline{G}(D) \hspace{0.05cm}, \hspace{0.2cm}</math>
 
::<math>\underline{X}(D) = \left ( X^{(1)}(D),\hspace{0.1cm} X^{(2)}(D)  \right ) = U(D) \cdot \underline{G}(D) \hspace{0.05cm}, \hspace{0.2cm}</math>
Zeile 356: Zeile 356:
 
::<math>\Rightarrow  \underline{x}^{(2)} = (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm}0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm}, \hspace{0.05cm} 0\hspace{0.05cm}, \hspace{0.05cm} \text{...} \hspace{0.05cm}  \hspace{0.05cm}) \hspace{0.05cm}.</math>
 
::<math>\Rightarrow  \underline{x}^{(2)} = (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm}0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm}, \hspace{0.05cm} 0\hspace{0.05cm}, \hspace{0.05cm} \text{...} \hspace{0.05cm}  \hspace{0.05cm}) \hspace{0.05cm}.</math>
  
Das gleiche Ergebnis haben wir in der [[Aufgaben:3.1Z_Faltungscodes_der_Rate_1/2|Aufgabe 3.1Z]] auf anderem Wege erhalten. Nach dem Multplexen der beiden Stränge erhält man wieder: &nbsp;  
+
Das gleiche Ergebnis haben wir in der&nbsp; [[Aufgaben:3.1Z_Faltungscodes_der_Rate_1/2|Aufgabe 3.1Z]]&nbsp; auf anderem Wege erhalten. Nach dem Multplexen der beiden Stränge erhält man wieder: &nbsp;  
 
:$$\underline{x} = (11, 10, 00, 01, 01, 11, 00, 00, \hspace{0.05cm} \text{...} \hspace{0.05cm}).$$}}<br>
 
:$$\underline{x} = (11, 10, 00, 01, 01, 11, 00, 00, \hspace{0.05cm} \text{...} \hspace{0.05cm}).$$}}<br>
  
 
== Übertragungsfunktionsmatrix – Transfer Function Matrix ==
 
== Übertragungsfunktionsmatrix – Transfer Function Matrix ==
 
<br>
 
<br>
[[Datei:P ID2616 KC T 3 2 S6b v1.png|right|frame|Allgemeiner $(n, \ k)$&ndash;Faltungscoder |class=fit]]
+
[[Datei:P ID2616 KC T 3 2 S6b v1.png|right|frame|Allgemeiner&nbsp; $(n, \ k)$&ndash;Faltungscoder |class=fit]]
Wir haben gesehen, dass ein Faltungscode der Rate $1/n$ sich am kompaktesten als Vektorgleichung im $D$&ndash;transformierten Bereich beschreiben  lässt: &nbsp; $\underline{X}(D) = U(D) \cdot \underline{G}(D)$.  
+
Wir haben gesehen, dass ein Faltungscode der Rate&nbsp; $1/n$&nbsp; sich am kompaktesten als Vektorgleichung im&nbsp; $D$&ndash;transformierten Bereich beschreiben  lässt: &nbsp; $\underline{X}(D) = U(D) \cdot \underline{G}(D)$.  
  
Nun erweitern wir das Resultat auf Faltungscodierer mit mehr als einem Eingang &nbsp; &#8658; &nbsp; $k  &#8805; 2$ (siehe Grafik).<br>
+
Nun erweitern wir das Resultat auf Faltungscodierer mit mehr als einem Eingang &nbsp; &#8658; &nbsp; $k  &#8805; 2$ &nbsp;(siehe Grafik).<br>
  
Um einen Faltungscode der Rate $k/n$ im $D$&ndash;Bereich abbilden zu können, muss die Dimension obiger Vektorgleichung hinsichtlich Eingang und Übertragungsfunktion erhöht werden:
+
Um einen Faltungscode der Rate&nbsp; $k/n$&nbsp; im $D$&ndash;Bereich abbilden zu können, muss die Dimension obiger Vektorgleichung hinsichtlich Eingang und Übertragungsfunktion erhöht werden:
  
 
::<math>\underline{X}(D) = \underline{U}(D) \cdot { \boldsymbol{\rm G}}(D)\hspace{0.05cm}.</math>
 
::<math>\underline{X}(D) = \underline{U}(D) \cdot { \boldsymbol{\rm G}}(D)\hspace{0.05cm}.</math>
 
<br clear=all>
 
<br clear=all>
 
Dazu sind folgende Maßnahmen erforderlich:
 
Dazu sind folgende Maßnahmen erforderlich:
*Aus der skalaren Funktion $U(D)$ wird der Vektor $\underline{U}(D) = (U^{(1)}(D), \ U^{(2)}(D), \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ U^{(k)}(D))$.<br>
+
*Aus der skalaren Funktion&nbsp; $U(D)$&nbsp; wird der Vektor&nbsp; $\underline{U}(D) = (U^{(1)}(D), \ U^{(2)}(D), \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ U^{(k)}(D))$.<br>
  
*Aus dem Vektor $\underline{G}(D)$ wird die $k &times; n$&ndash;'''Übertragungsfunktionsmatrix''' $\mathbf{G}(D)$ (englisch: <i>Transfer Function Matrix</i> oder <i>Polynomial Generator Matrix</i>):
+
*Aus dem Vektor&nbsp; $\underline{G}(D)$&nbsp; wird die&nbsp; $k &times; n$&ndash;'''Übertragungsfunktionsmatrix'''&nbsp; $\mathbf{G}(D)$&nbsp; (englisch: &nbsp; <i>Transfer Function Matrix</i>&nbsp; oder&nbsp; <i>Polynomial Generator Matrix</i>):
  
 
::<math>{\boldsymbol{\rm G}}(D)=\begin{pmatrix}
 
::<math>{\boldsymbol{\rm G}}(D)=\begin{pmatrix}
Zeile 382: Zeile 382:
 
\end{pmatrix}\hspace{0.05cm}.</math>
 
\end{pmatrix}\hspace{0.05cm}.</math>
  
*Jedes der $k \cdot n$ Matrixelemente $G_i^{(j)}(D)$ mit $1 &#8804; i &#8804; k, 1 &#8804; j &#8804; n$ ist ein Polynom über der Dummy&ndash;Variablen $D$ im Galoisfeld ${\rm GF}(2)$, maximal vom Grad $m$, wobei $m$ das Gedächtnis angibt.<br>
+
*Jedes der&nbsp; $k \cdot n$&nbsp; Matrixelemente&nbsp; $G_i^{(j)}(D)$&nbsp; mit&nbsp; $1 &#8804; i &#8804; k,\ \ 1 &#8804; j &#8804; n$&nbsp; ist ein Polynom über der Dummy&ndash;Variablen&nbsp; $D$&nbsp; im Galoisfeld&nbsp; ${\rm GF}(2)$, maximal vom Grad&nbsp; $m$, wobei&nbsp; $m$&nbsp; das Gedächtnis angibt.<br>
  
*Für die obige <i>Übertragungsfunktionsmatrix</i> kann mit den zu Beginn dieses Kapitels definierten [[Kanalcodierung/Algebraische_und_polynomische_Beschreibung#Definition_und_Interpretation_der_Teilmatrizen_G0.2C_..._.2C_Gm| Teilmatrizen]] $\mathbf{G}_0, \ \text{...} \ , \mathbf{G}_m$ auch geschrieben werden (als Index verwenden wir wieder  $l$):
+
*Für die obige&nbsp; <i>Übertragungsfunktionsmatrix</i>&nbsp; kann mit den zu Beginn dieses Kapitels definierten&nbsp; [[Kanalcodierung/Algebraische_und_polynomische_Beschreibung#Definition_und_Interpretation_der_Teilmatrizen_G0.2C_..._.2C_Gm| Teilmatrizen]]&nbsp; $\mathbf{G}_0, \ \text{...} \ , \mathbf{G}_m$&nbsp; auch geschrieben werden $($als Index verwenden wir wieder  &nbsp;$l)$:
  
 
::<math>{\boldsymbol{\rm G}}(D) =  \sum_{l = 0}^{m} {\boldsymbol{\rm G}}_l \cdot D\hspace{0.03cm}^l
 
::<math>{\boldsymbol{\rm G}}(D) =  \sum_{l = 0}^{m} {\boldsymbol{\rm G}}_l \cdot D\hspace{0.03cm}^l
Zeile 390: Zeile 390:
 
  \hspace{0.05cm}.</math>
 
  \hspace{0.05cm}.</math>
  
[[Datei:P ID2617 KC T 3 1 S4 v1.png|right|frame|Faltungscoder mit $k = 2, n = 3, m = 1$]]  
+
[[Datei:P ID2617 KC T 3 1 S4 v1.png|right|frame|Faltungscoder mit&nbsp; $k = 2, \ n = 3, \ m = 1$]]  
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
 
$\text{Beispiel 6:}$&nbsp;  
 
$\text{Beispiel 6:}$&nbsp;  
Wir betrachten den $(n = 3, \ k = 2, \ m = 1)$&ndash;Faltungscoder, dessen Teilmatrizen bereits im [[Kanalcodierung/Algebraische_und_polynomische_Beschreibung#Aufteilung_der_Generatormatrix_in_Teilmatrizen| $\text{Beispiel 1}$]] wie folgt ermittelt wurden:
+
Wir betrachten den&nbsp; $(n = 3, \ k = 2, \ m = 1)$&ndash;Faltungscoder, dessen Teilmatrizen bereits im&nbsp; [[Kanalcodierung/Algebraische_und_polynomische_Beschreibung#Aufteilung_der_Generatormatrix_in_Teilmatrizen| $\text{Beispiel 1}$]]&nbsp; wie folgt ermittelt wurden:
  
 
::<math>{ \boldsymbol{\rm G} }_0 =  
 
::<math>{ \boldsymbol{\rm G} }_0 =  
Zeile 405: Zeile 405:
 
\end{pmatrix}\hspace{0.05cm}.</math>
 
\end{pmatrix}\hspace{0.05cm}.</math>
  
Wegen $m = 1$ existieren keine Teilmatrizen für $l &#8805; 2$. Damit lautet die  Übertragungsfunktionsmatrix:
+
Wegen&nbsp; $m = 1$&nbsp; existieren keine Teilmatrizen für&nbsp; $l &#8805; 2$. Damit lautet die  Übertragungsfunktionsmatrix:
  
 
::<math>{\boldsymbol{\rm G} }(D) = {\boldsymbol{\rm G} }_0 + {\boldsymbol{\rm G} }_1 \cdot D =
 
::<math>{\boldsymbol{\rm G} }(D) = {\boldsymbol{\rm G} }_0 + {\boldsymbol{\rm G} }_1 \cdot D =
Zeile 414: Zeile 414:
 
  \hspace{0.05cm}.</math>
 
  \hspace{0.05cm}.</math>
  
Die (zeitlich begrenzte) Informationssequenz sei $\underline{u} = (0, 1, 1, 0, 0, 0, 1, 1)$, woraus sich die beiden Eingangsfolgen wie folgt ergeben:
+
Die (zeitlich begrenzte) Informationssequenz sei&nbsp; $\underline{u} = (0, 1, 1, 0, 0, 0, 1, 1)$, woraus sich die beiden Eingangsfolgen wie folgt ergeben:
  
 
::<math>\underline{u}^{(1)} = (\hspace{0.05cm}0\hspace{0.05cm},\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad
 
::<math>\underline{u}^{(1)} = (\hspace{0.05cm}0\hspace{0.05cm},\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad
Zeile 421: Zeile 421:
 
{U}^{(2)}(D) =  1 + D^3 \hspace{0.05cm}.</math>
 
{U}^{(2)}(D) =  1 + D^3 \hspace{0.05cm}.</math>
  
Daraus folgt für den Vektor der $D$&ndash;Transformierten am Coderausgang:
+
Daraus folgt für den Vektor der&nbsp; $D$&ndash;Transformierten am Coderausgang:
  
 
::<math>\underline{X}(D) = \big (\hspace{0.05cm} {X}^{(1)}(D)\hspace{0.05cm}, \hspace{0.05cm} {X}^{(2)}(D)\hspace{0.05cm}, \hspace{0.05cm} {X}^{(3)}(D)\hspace{0.05cm}\big ) = \underline{U}(D) \cdot {\boldsymbol{\rm G} }(D)
 
::<math>\underline{X}(D) = \big (\hspace{0.05cm} {X}^{(1)}(D)\hspace{0.05cm}, \hspace{0.05cm} {X}^{(2)}(D)\hspace{0.05cm}, \hspace{0.05cm} {X}^{(3)}(D)\hspace{0.05cm}\big ) = \underline{U}(D) \cdot {\boldsymbol{\rm G} }(D)
Zeile 446: Zeile 446:
  
 
Die gleichen Ergebnisse haben wir auf anderen Wegen bereits in vorherigen Beispielen erhalten:  
 
Die gleichen Ergebnisse haben wir auf anderen Wegen bereits in vorherigen Beispielen erhalten:  
* im  [[Kanalcodierung/Grundlagen_der_Faltungscodierung#Faltungscodierer_mit_zwei_Eing.C3.A4ngen|$\text{Beispiel 4}$]] des Kapitels &bdquo;Grundlagen der Faltungscodierung&rdquo;,<br>
+
* im&nbsp; [[Kanalcodierung/Grundlagen_der_Faltungscodierung#Faltungscodierer_mit_zwei_Eing.C3.A4ngen|$\text{Beispiel 4}$]]&nbsp; des Kapitels &bdquo;Grundlagen der Faltungscodierung&rdquo;,<br>
  
*im  [[Kanalcodierung/Algebraische_und_polynomische_Beschreibung#Generatormatrix_eines_Faltungscodierers_mit_Ged.C3.A4chtnis_m| $\text{Beispiel 2}$]] des aktuellen Kapitels.}}<br>
+
*im&nbsp; [[Kanalcodierung/Algebraische_und_polynomische_Beschreibung#Generatormatrix_eines_Faltungscodierers_mit_Ged.C3.A4chtnis_m| $\text{Beispiel 2}$]]&nbsp; des aktuellen Kapitels.}}<br>
  
 
== Systematische Faltungscodes ==
 
== Systematische Faltungscodes ==
 
<br>
 
<br>
Die Polynomrepräsentation anhand der Übertragungsfunktionsmtrix $\mathbf{G}(D)$ ermöglicht Einblicke in die Struktur eines Faltungscodes.  
+
Die Polynomrepräsentation anhand der Übertragungsfunktionsmtrix&nbsp; $\mathbf{G}(D)$&nbsp; ermöglicht Einblicke in die Struktur eines Faltungscodes.  
  
*Beispielsweise erkennt man anhand dieser $k &times; n$&ndash;Matrix, ob es sich um einen [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Systematische_Codes_.282.29| systematischen Code]] handelt.  
+
*Beispielsweise erkennt man anhand dieser&nbsp; $k &times; n$&ndash;Matrix, ob es sich um einen&nbsp; [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Systematische_Codes| systematischen Code]]&nbsp; handelt.  
*Darunter versteht man einen Code, bei dem die Codesequenzen $\underline{x}^{(1)}, \ \text{...} \ , \ \underline{x}^{(k)}$ mit den Informationssequenzen $\underline{u}^{(1)}, \ \text{...} \ , \ \underline{u}^{(k)}$ identisch sind.  
+
*Darunter versteht man einen Code, bei dem die Codesequenzen&nbsp; $\underline{x}^{(1)}, \ \text{...} \ , \ \underline{x}^{(k)}$&nbsp; mit den Informationssequenzen&nbsp; $\underline{u}^{(1)}, \ \text{...} \ , \ \underline{u}^{(k)}$&nbsp; identisch sind.  
  
*Die Grafik zeigt beispielhaft einen systematischen $(n = 4, k = 3)$&ndash;Faltungscode.<br>
+
*Die Grafik zeigt beispielhaft einen systematischen&nbsp; $(n = 4, \ k = 3)$&ndash;Faltungscode.<br>
  
  
[[Datei:P ID2611 KC T 3 2 S7 v2.png|center|frame|Systematischer Faltungscode mit $k = 3, n = 4$|class=fit]]
+
[[Datei:P ID2611 KC T 3 2 S7 v2.png|center|frame|Systematischer Faltungscode mit&nbsp; $k = 3, \ n = 4$|class=fit]]
  
Ein systematischer $(n, k)$&ndash;Faltungscode liegt immer dann vor, wenn die Übertragungsfunktionsmatrix (mit $k$ Zeilen und $n$ Spalten) folgendes Aussehen hat:
+
Ein systematischer&nbsp; $(n, k)$&ndash;Faltungscode liegt immer dann vor, wenn die Übertragungsfunktionsmatrix (mit&nbsp; $k$&nbsp; Zeilen und&nbsp; $n$&nbsp; Spalten) folgendes Aussehen hat:
  
::<math>{\boldsymbol{\rm G}}(D) = {\boldsymbol{\rm G}}_{\rm sys}(D) = \big [ \hspace{0.05cm} {\boldsymbol{\rm I}}_k\hspace{0.05cm} ; \hspace{0.1cm} {\boldsymbol{\rm P}}(D) \hspace{0.05cm}\big ]  
+
::<math>{\boldsymbol{\rm G}}(D) = {\boldsymbol{\rm G}}_{\rm sys}(D) = \left [ \hspace{0.05cm} {\boldsymbol{\rm I}}_k\hspace{0.05cm} ; \hspace{0.1cm} {\boldsymbol{\rm P}}(D) \hspace{0.05cm}\right ]  
 
  \hspace{0.05cm}.</math>
 
  \hspace{0.05cm}.</math>
  
 
Hierbei ist folgende Nomenklatur verwendet:
 
Hierbei ist folgende Nomenklatur verwendet:
*$\mathbf{I}_k$ bezeichnet eine diagonale Einheitsmatrix der Dimension $k &times; k$.<br>
+
*$\mathbf{I}_k$&nbsp; bezeichnet eine diagonale Einheitsmatrix der Dimension&nbsp; $k &times; k$.<br>
  
*$\mathbf{P}(D)$ ist eine $k &times; (n \, &ndash;k)$&ndash;Matrix, wobei jedes Matrixelement ein Polynom in $D$ beschreibt.<br><br>
+
*$\mathbf{P}(D)$&nbsp; ist eine&nbsp; $k &times; (n -k)$&ndash;Matrix, wobei jedes Matrixelement ein Polynom in&nbsp; $D$&nbsp; beschreibt.<br><br>
  
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
$\text{Beispiel 7:}$&nbsp; Ein systematischer Faltungscode mit $n = 3, \ k = 2, \ m = 2$ könnte beispielsweise die folgende Übertragungsfunktionsmatrix aufweisen:
+
$\text{Beispiel 7:}$&nbsp; Ein systematischer Faltungscode mit&nbsp; $n = 3, \ k = 2, \ m = 2$&nbsp; könnte beispielsweise die folgende Übertragungsfunktionsmatrix aufweisen:
  
 
::<math>{\boldsymbol{\rm G} }_{\rm sys}(D) = \begin{pmatrix}
 
::<math>{\boldsymbol{\rm G} }_{\rm sys}(D) = \begin{pmatrix}
Zeile 480: Zeile 480:
 
\end{pmatrix}\hspace{0.05cm}.</math>
 
\end{pmatrix}\hspace{0.05cm}.</math>
  
Andere systematische Faltungscodes mit gleichem $n$ und gleichem $k$ unterscheiden sich demgegenüber nur durch die beiden Matrixelemente in der letzten Spalte.}}<br>
+
Andere systematische Faltungscodes mit gleichem&nbsp; $n$&nbsp; und gleichem&nbsp; $k$&nbsp; unterscheiden sich demgegenüber nur durch die beiden Matrixelemente in der letzten Spalte.}}<br>
  
  
 
== Äquivalenter systematischer Faltungscode ==
 
== Äquivalenter systematischer Faltungscode ==
 
<br>
 
<br>
Zu jedem $(n, k)$&ndash;Faltungscode mit Matrix $\mathbf{G}(D)$ gibt es einen ''äquivalenten systematischen Code'', dessen $D$&ndash;Matrix wir mit $\mathbf{G}_{\rm sys}(D)$ benennen.<br>
+
Zu jedem&nbsp; $(n, \ k)$&ndash;Faltungscode mit Matrix&nbsp; $\mathbf{G}(D)$&nbsp; gibt es einen&nbsp; ''äquivalenten systematischen Code'', dessen&nbsp; $D$&ndash;Matrix wir mit&nbsp; $\mathbf{G}_{\rm sys}(D)$ benennen.<br>
  
[[Datei:P ID2622 KC T 3 2 S7 v1.png|center|frame|Unterteilung von $\mathbf{G}(D)$ in $\mathbf{T}(D)$ und $\mathbf{Q}(D)$|class=fit]]
+
[[Datei:P ID2622 KC T 3 2 S7 v1.png|center|frame|Unterteilung von&nbsp; $\mathbf{G}(D)$&nbsp; in&nbsp; $\mathbf{T}(D)$&nbsp; und&nbsp; $\mathbf{Q}(D)$|class=fit]]
  
Um von der Übertragungsfunktionsmatrix $\mathbf{G}(D)$ zur Matrix $\mathbf{G}_{\rm sys}(D)$ des äquivalenten systematischen Faltungscodes zu kommen, geht man gemäß der Grafik wie folgt vor:
+
Um von der Übertragungsfunktionsmatrix&nbsp; $\mathbf{G}(D)$&nbsp; zur Matrix&nbsp; $\mathbf{G}_{\rm sys}(D)$&nbsp; des äquivalenten systematischen Faltungscodes zu kommen, geht man gemäß  Grafik wie folgt vor:
*Man unterteilt die $k &times; n$&ndash;Matrix $\mathbf{G}(D)$ in eine quadratische Matrix $\mathbf{T}(D)$ mit $k$ Zeilen und $k$ Spalten und bezeichnet den Rest mit $\mathbf{Q}(D)$.
+
*Man unterteilt die&nbsp; $k &times; n$&ndash;Matrix&nbsp; $\mathbf{G}(D)$&nbsp; in eine quadratische Matrix&nbsp; $\mathbf{T}(D)$&nbsp; mit&nbsp; $k$&nbsp; Zeilen und&nbsp; $k$&nbsp; Spalten und bezeichnet den Rest mit&nbsp; $\mathbf{Q}(D)$.
  
*Anschließend berechnet man die zu $\mathbf{T}(D)$ inverse Matrix $\mathbf{T}^{&ndash;1}(D)$ und daraus die Matrix für den äquivanten systematischen Code:
+
*Anschließend berechnet man die zu&nbsp; $\mathbf{T}(D)$&nbsp; inverse Matrix&nbsp; $\mathbf{T}^{-1}(D)$&nbsp; und daraus die Matrix für den äquivanten systematischen Code:
  
 
::<math>{\boldsymbol{\rm G}}_{\rm sys}(D)= {\boldsymbol{\rm T}}^{-1}(D) \cdot {\boldsymbol{\rm G}}(D) \hspace{0.05cm}.</math>
 
::<math>{\boldsymbol{\rm G}}_{\rm sys}(D)= {\boldsymbol{\rm T}}^{-1}(D) \cdot {\boldsymbol{\rm G}}(D) \hspace{0.05cm}.</math>
  
*Da $\mathbf{T}^{&ndash;1}(D) \cdot \mathbf{T}(D)$ die $k &times; k$&ndash;Einheitsmatrix $\mathbf{I}_k$ ergibt, kann die Übertragungsfunktionsmatrix des äquivalenten systematischen Codes in der gewünschten Form geschrieben werden:
+
*Da&nbsp; $\mathbf{T}^{-1}(D) \cdot \mathbf{T}(D)$&nbsp; die&nbsp; $k &times; k$&ndash;Einheitsmatrix&nbsp; $\mathbf{I}_k$&nbsp; ergibt, kann die Übertragungsfunktionsmatrix des äquivalenten systematischen Codes in der gewünschten Form geschrieben werden:
  
 
::<math>{\boldsymbol{\rm G}}_{\rm sys}(D) = \big [ \hspace{0.05cm} {\boldsymbol{\rm I}}_k\hspace{0.05cm} ; \hspace{0.1cm} {\boldsymbol{\rm P}}(D) \hspace{0.05cm}\big ]  
 
::<math>{\boldsymbol{\rm G}}_{\rm sys}(D) = \big [ \hspace{0.05cm} {\boldsymbol{\rm I}}_k\hspace{0.05cm} ; \hspace{0.1cm} {\boldsymbol{\rm P}}(D) \hspace{0.05cm}\big ]  
Zeile 502: Zeile 502:
 
\hspace{0.05cm}</math>
 
\hspace{0.05cm}</math>
  
[[Datei:P ID2613 KC T 3 2 S1 neu.png|right|frame|Faltungscodierer der Rate $2/3$]]  
+
[[Datei:P ID2613 KC T 3 2 S1 neu.png|right|frame|Faltungscodierer der Rate&nbsp; $2/3$]]  
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
 
$\text{Beispiel 8:}$&nbsp;  
 
$\text{Beispiel 8:}$&nbsp;  
Der auf den letzten Seiten schon häufiger betrachtete Coder der Rate $2/3$ ist nicht systematisch, weil zum Beispiel $\underline{x}^{(1)} &ne; \underline{u}^{(1)}, \ \underline{x}^{(2)} &ne; \underline{u}^{(2)}$ gilt (siehe nebenstehende Coderschaltung).<br>
+
Der auf den letzten Seiten schon häufiger betrachtete Coder der Rate&nbsp; $2/3$&nbsp; ist nicht systematisch, weil zum Beispiel&nbsp; $\underline{x}^{(1)} &ne; \underline{u}^{(1)}, \ \underline{x}^{(2)} &ne; \underline{u}^{(2)}$&nbsp; gilt (siehe nebenstehende Coderschaltung).<br>
  
 
Man erkennt dies aber auch anhand der Übertragungsfunktionsmatrix:
 
Man erkennt dies aber auch anhand der Übertragungsfunktionsmatrix:
Zeile 521: Zeile 521:
 
\end{pmatrix}\hspace{0.05cm}.</math>
 
\end{pmatrix}\hspace{0.05cm}.</math>
  
Die Determinante von $\mathbf{T}(D)$ ergibt sich zu $(1 + D) \cdot 1 + D \cdot D = 1 + D + D^2$ und ist ungleich $0$.  
+
Die Determinante von&nbsp; $\mathbf{T}(D)$&nbsp; ergibt sich zu&nbsp; $(1 + D) \cdot 1 + D \cdot D = 1 + D + D^2$&nbsp; und ist ungleich Null.  
  
Somit kann für die Inverse von $\mathbf{T}(D)$ geschrieben werden (Vertauschung der Diagonalelemente!):
+
Somit kann für die Inverse von&nbsp; $\mathbf{T}(D)$&nbsp; geschrieben werden (Vertauschung der Diagonalelemente!):
  
 
::<math>{\boldsymbol{\rm T} }^{-1}(D) = \frac{1}{1+D+D^2} \cdot \begin{pmatrix}
 
::<math>{\boldsymbol{\rm T} }^{-1}(D) = \frac{1}{1+D+D^2} \cdot \begin{pmatrix}
Zeile 530: Zeile 530:
 
\end{pmatrix}\hspace{0.05cm}.</math>
 
\end{pmatrix}\hspace{0.05cm}.</math>
  
Das Produkt $\mathbf{T}(D) \cdot \mathbf{T}^{&ndash;1}(D)$ ergibt die Einheitsmatrix $\mathbf{I}_2$, und für die dritte Spalte von $\mathbf{G}_{\rm sys}(D)$ gilt:
+
Das Produkt&nbsp; $\mathbf{T}(D) \cdot \mathbf{T}^{&ndash;1}(D)$&nbsp; ergibt die Einheitsmatrix&nbsp; $\mathbf{I}_2$, und für die dritte Spalte von&nbsp; $\mathbf{G}_{\rm sys}(D)$&nbsp; gilt:
  
 
::<math>{\boldsymbol{\rm P} }(D)= {\boldsymbol{\rm T} }^{-1}(D) \cdot {\boldsymbol{\rm Q} }(D)  
 
::<math>{\boldsymbol{\rm P} }(D)= {\boldsymbol{\rm T} }^{-1}(D) \cdot {\boldsymbol{\rm Q} }(D)  
Zeile 561: Zeile 561:
 
== Filterstruktur bei gebrochen–rationaler Übertragungsfunktion ==
 
== Filterstruktur bei gebrochen–rationaler Übertragungsfunktion ==
 
<br>
 
<br>
Hat eine Übertragungsfunktion die Form $G(D) = A(D)/B(D)$, so bezeichnet man das zugehörige Filter  als <i>rekursiv</i>. Bei einem rekursiven Faltungscodierer mit dem Gedächtnis $m$ kann für die beiden Polynome $A(D)$ und $B(D)$ allgemein geschrieben werden:
+
[[Datei:P ID2619 KC T 3 2 S8 v1.png|right|frame|Rekursives Filter zur Realisierung von&nbsp; $G(D) = A(D)/B(D)$|class=fit]]
 +
Hat eine Übertragungsfunktion die Form&nbsp; $G(D) = A(D)/B(D)$, so bezeichnet man das zugehörige Filter  als <i>rekursiv</i>.  
  
::<math>A(D) =  \sum_{l = 0}^{m} a_l \cdot D^l = a_0 + a_1 \cdot D + a_2 \cdot D^2 +\  \text{...} \ \hspace{0.05cm} + a_m \cdot D^m \hspace{0.05cm},</math>
+
Bei einem rekursiven Faltungscodierer mit dem Gedächtnis&nbsp; $m$&nbsp; kann für die beiden Polynome&nbsp; $A(D)$&nbsp; und&nbsp; $B(D)$&nbsp; allgemein geschrieben werden:
::<math>B(D) =  1 + \sum_{l = 1}^{m} b_l \cdot D^l = 1 + b_1 \cdot D + b_2 \cdot D^2 + \  \text{...} \  \hspace{0.05cm} + b_m \cdot D^m \hspace{0.05cm}.</math>
+
::<math>A(D) =  \sum_{l = 0}^{m} a_l \cdot D\hspace{0.05cm}^l = a_0 + a_1 \cdot D + a_2 \cdot D^2 +\  \text{...} \ \hspace{0.05cm} + a_m \cdot D\hspace{0.05cm}^m \hspace{0.05cm},</math>
 +
::<math>B(D) =  1 + \sum_{l = 1}^{m} b_l \cdot D\hspace{0.05cm}^l = 1 + b_1 \cdot D + b_2 \cdot D^2 + \  \text{...} \  \hspace{0.05cm} + b_m \cdot D\hspace{0.05cm}^m \hspace{0.05cm}.</math>
  
[[Datei:P ID2619 KC T 3 2 S8 v1.png|right|frame|Rekursives Filter zur Realisierung von $G(D) = A(D)/B(D)$|class=fit]]
+
Die Grafik zeigt die entsprechende Filterstruktur in der so genannten&nbsp; <i>Controller Canonical Form</i>:<br>
Die Grafik zeigt die entsprechende Filterstruktur in der so genannten <i>Controller Canonical Form</i>:<br>
+
*Die Koeffizienten&nbsp; $a_0, \ \text{...} \ , \ a_m$&nbsp; beschreiben den Vorwärtszweig.
*Die Koeffizienten $a_0, \text{...} , \ a_m$ beschreiben den Vorwärtszweig.
+
* Die Koeffizienten&nbsp; $b_1, \ \text{...} \ , \ b_m$&nbsp; bilden eine Rückkopplung.  
* Die Koeffizienten $b_1, \ \text{...} \ , \ b_m$ bilden eine Rückkopplung.  
+
*Alle Koeffizienten sind binär, also&nbsp; $1$&nbsp; (durchgehende Verbindung) oder&nbsp; $0$&nbsp; (fehlende Verbindung).
*Alle Koeffizienten sind binär, also $1$ (durchgehende Verbindung) oder $0$ (fehlende Verbindung).
 
 
<br clear=all>
 
<br clear=all>
[[Datei:P_ID2620__KC_T_3_2_S8b_neu.png|right|frame|Filter für $G(D) = (1+D^2)/(1+D +D^2)$|class=fit]]
+
[[Datei:P_ID2620__KC_T_3_2_S8b_neu.png|right|frame|Filter: &nbsp;$G(D) = (1+D^2)/(1+D +D^2)$|class=fit]]
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
$\text{Beispiel 8:}$&nbsp; Die rechts skizzierte Filterstruktur lässt sich wie folgt beschreiben:
+
$\text{Beispiel 9:}$&nbsp; Die rechts skizzierte Filterstruktur lässt sich wie folgt beschreiben:
  
 
::<math>x_i  =  w_i + w_{i-2} \hspace{0.05cm},</math>
 
::<math>x_i  =  w_i + w_{i-2} \hspace{0.05cm},</math>
 
::<math>w_i =  u_i + w_{i-1}+ w_{i-2}  \hspace{0.05cm}.</math>
 
::<math>w_i =  u_i + w_{i-1}+ w_{i-2}  \hspace{0.05cm}.</math>
  
Entsprechend gilt für die $D$&ndash;Transformierten:
+
Entsprechend gilt für die&nbsp; $D$&ndash;Transformierten:
  
 
::<math>X(D) =W(D) + W(D) \cdot D^2 =W(D) \cdot \left ( 1+ D^2 \right ) \hspace{0.05cm},</math>  
 
::<math>X(D) =W(D) + W(D) \cdot D^2 =W(D) \cdot \left ( 1+ D^2 \right ) \hspace{0.05cm},</math>  
 
::<math>W(D) = \hspace{0.08cm} U(D) + W(D) \cdot D+ W(D) \cdot D^2</math>  
 
::<math>W(D) = \hspace{0.08cm} U(D) + W(D) \cdot D+ W(D) \cdot D^2</math>  
:::<math>\Rightarrow \hspace{0.3cm}
+
::<math>\Rightarrow \hspace{0.3cm}
 
U(D) = W(D) \cdot \left ( 1+ D + D^2 \right ) \hspace{0.05cm}.</math>
 
U(D) = W(D) \cdot \left ( 1+ D + D^2 \right ) \hspace{0.05cm}.</math>
  
Zeile 590: Zeile 591:
 
::<math>G(D) = \frac{X(D)}{U(D)} = \frac{1+D^2}{1+D+D^2} \hspace{0.05cm}. </math>
 
::<math>G(D) = \frac{X(D)}{U(D)} = \frac{1+D^2}{1+D+D^2} \hspace{0.05cm}. </math>
  
Im [[Kanalcodierung/Algebraische_und_polynomische_Beschreibung#.C3.84quivalenter_systematischer_Faltungscode| Beispiel 8]] zum äquivalenten systematischen Faltungscode hat sich im unteren Zweig genau dieser Ausdruck ergeben.}}<br>
+
Im&nbsp; [[Kanalcodierung/Algebraische_und_polynomische_Beschreibung#.C3.84quivalenter_systematischer_Faltungscode| $\text{Beispiel 8}$]]&nbsp; zum äquivalenten systematischen Faltungscode hat sich im unteren Zweig genau dieser Ausdruck ergeben.}}<br>
  
 
== Aufgaben zum Kapitel==
 
== Aufgaben zum Kapitel==

Aktuelle Version vom 4. Juni 2019, 15:44 Uhr

Aufteilung der Generatormatrix in Teilmatrizen


Entsprechend den Ausführungen im früheren Abschnitt  Lineare Codes und zyklische Codes  lässt sich das Codewort  $\underline{x}$  eines linearen Blockcodes aus dem Informationswort  $\underline{u}$  und der Generatormatrix  $\mathbf{G}$  in einfacher Weise ermitteln:   $\underline{x} = \underline{u} \cdot { \boldsymbol{\rm G}}$. Dabei gilt:

  • Die Vektoren  $\underline{u}$  und  $\underline{x}$  haben die Länge  $k$  (Bitanzahl eines Informationswortes) bzw.  $n$  (Bitanzahl eines Codewortes) und  $\mathbf{G}$  besitzt die Dimension  $k × n$  $(k$  Zeilen und  $n$  Spalten$)$.
  • Bei Faltungscodierung bezeichnen dagegen  $\underline{u}$  und  $\underline{x}$  Sequenzen mit  $k\hspace{0.05cm}' → ∞$  und  $n\hspace{0.05cm}' → ∞$. Deshalb wird auch die Generatormatrix  $\mathbf{G}$  in beiden Richtungen unendlich weit ausgedehnt sein.

Als Vorbereitung für die Einführung der Generatormatrix  $\mathbf{G}$  auf der nächsten Seite definieren wir  $m + 1$  Teilmatrizen, jeweils mit  $k$  Zeilen und  $n$  Spalten, die wir mit  $\mathbf{G}_l$  bezeichnen, wobei  $0 ≤ l ≤ m$  gilt.

$\text{Definition:}$  Die  Teilmatrix  $\mathbf{G}_l$  beschreibt folgenden Sachverhalt:   Ist das Matrixelement  $\mathbf{G}_l(\kappa, j) = 1$, so sagt dies aus, dass das Codebit  $x_i^{(j)}$  durch das Informationsbit  $u_{i-l}^{(\kappa)}$  beeinflusst wird. Andernfalls ist dieses Matrixelement gleich  $0$.


Diese Definition wird nun an einem Beispiel verdeutlicht.

Faltungscoder mit  $k = 2, \ n = 3, \ m = 1$

$\text{Beispiel 1:}$  Wir betrachten wiederum den Faltungscodierer gemäß der Grafik mit folgenden Codebits:

\[x_i^{(1)} = u_{i}^{(1)} + u_{i-1}^{(1)}+ u_{i-1}^{(2)} \hspace{0.05cm},\]
\[x_i^{(2)} = u_{i}^{(2)} + u_{i-1}^{(1)} \hspace{0.05cm},\]
\[x_i^{(3)} = u_{i}^{(1)} + u_{i}^{(2)}+ u_{i-1}^{(1)} \hspace{0.05cm}.\]

Wegen der Gedächtnisordnung  $m = 1$  wird dieser Codierer durch die beiden Teilmatrizen  $\mathbf{G}_0$  und  $\mathbf{G}_1$  vollständig charakterisiert:

\[{ \boldsymbol{\rm G} }_0 = \begin{pmatrix} 1 & 0 & 1\\ 0 & 1 & 1 \end{pmatrix} \hspace{0.05cm}, \hspace{0.5cm} { \boldsymbol{\rm G} }_1 = \begin{pmatrix} 1 & 1 & 1\\ 1 & 0 & 0 \end{pmatrix}\hspace{0.05cm}.\]

Diese Matrizen sind wie folgt zu interpretieren:

  • Erste Zeile von  $\mathbf{G}_0$, rote Pfeile:  $\hspace{1.1cm}u_i^{(1)}$  beeinflusst sowohl  $x_i^{(1)}$  als auch  $x_i^{(3)}$, nicht jedoch  $x_i^{(2)}$.
  • Zweite Zeile von  $\mathbf{G}_0$, blaue Pfeile:  $\hspace{0.6cm}u_i^{(2)}$  beeinflusst  $x_i^{(2)}$  und  $x_i^{(3)}$, aber nicht  $x_i^{(1)}$.
  • Erste Zeile von  $\mathbf{G}_1$, grüne Pfeile:  $\hspace{0.9cm}u_{i-1}^{(1)}$  beeinflusst alle drei Coderausgänge.
  • Zweite Zeile von  $\mathbf{G}_1$, brauner Pfeil:  $\hspace{0.45cm}u_{i-1}^{(2)}$  beeinflusst nur  $x_i^{(1)}$.


Generatormatrix eines Faltungscodierers mit Gedächtnis m


Mit den Teilmatrizen  $\mathbf{G}_0, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \mathbf{G}_m$  lassen sich die  $n$  Codebits zum Zeitpunkt  $i$  wie folgt ausdrücken:

\[\underline{x}_i = \sum_{l = 0}^{m} \hspace{0.15cm}\underline{u}_{i-l} \cdot { \boldsymbol{\rm G}}_l = \underline{u}_{i} \cdot { \boldsymbol{\rm G}}_0 + \underline{u}_{i-1} \cdot { \boldsymbol{\rm G}}_1 +\hspace{0.05cm} \text{...} \hspace{0.05cm} + \underline{u}_{i-m} \cdot { \boldsymbol{\rm G}}_m \hspace{0.05cm}.\]

Hierbei sind folgende vektorielle Größen zu berücksichtigen:

\[\underline{\it u}_i = \left ( u_i^{(1)}, u_i^{(2)}, \hspace{0.05cm}\text{...} \hspace{0.1cm}, u_i^{(k)}\right )\hspace{0.05cm},\hspace{0.5cm} \underline{\it x}_i = \left ( x_i^{(1)}, x_i^{(2)}, \hspace{0.05cm}\text{...} \hspace{0.1cm}, x_i^{(n)}\right )\hspace{0.05cm}.\]

Betrachtet man die bei  $i = 1$  beginnenden und sich zeitlich bis ins Unendliche erstreckenden Sequenzen

\[\underline{\it u} = \big( \underline{\it u}_1\hspace{0.05cm}, \underline{\it u}_2\hspace{0.05cm}, \hspace{0.05cm}\text{...} \hspace{0.1cm}, \underline{\it u}_i\hspace{0.05cm}, \hspace{0.05cm}\text{...} \hspace{0.1cm} \big)\hspace{0.05cm},\hspace{0.5cm} \underline{\it x} = \big( \underline{\it x}_1\hspace{0.05cm}, \underline{\it x}_2\hspace{0.05cm}, \hspace{0.05cm}\text{...} \hspace{0.1cm}, \underline{\it x}_i\hspace{0.05cm}, \hspace{0.05cm}\text{...} \hspace{0.1cm} \big)\hspace{0.05cm},\]

so kann dieser Zusammenhang durch die Matrixgleichung  $\underline{x} = \underline{u} \cdot \mathbf{G}$  ausgedrückt werden. Hierbei ist für die Generatormatrix  $\mathbf{G}$  wie folgt zu setzen:

\[{ \boldsymbol{\rm G}}=\begin{pmatrix} { \boldsymbol{\rm G}}_0 & { \boldsymbol{\rm G}}_1 & { \boldsymbol{\rm G}}_2 & \cdots & { \boldsymbol{\rm G}}_m & & & \\ & { \boldsymbol{\rm G}}_0 & { \boldsymbol{\rm G}}_1 & { \boldsymbol{\rm G}}_2 & \cdots & { \boldsymbol{\rm G}}_m & &\\ & & { \boldsymbol{\rm G}}_0 & { \boldsymbol{\rm G}}_1 & { \boldsymbol{\rm G}}_2 & \cdots & { \boldsymbol{\rm G}}_m &\\ & & & \cdots & \cdots & & & \cdots \end{pmatrix}\hspace{0.05cm}.\]
  • Aus der Gleichung erkennt man sofort das Gedächtnis  $m$  des Faltungscodes. Die Parameter  $k$  und  $n$  sind direkt nicht ablesbar.
  • Sie sind aber durch die Zeilen– und Spaltenanzahl der Teilmatrizen  $\mathbf{G}_l$  festgelegt.


Generatormatrix eines Faltungscodes

$\text{Beispiel 2:}$  Mit den zwei Matrizen  $\mathbf{G}_0$  und  $\mathbf{G}_1$  – siehe  $\text{Beispiel 1}$  – erhält man die rechts skizzierte Matrix  $\mathbf{G}$.

Anzumerken ist:

  • Die Generatormatrix  $\mathbf{G}$  erstreckt sich nach unten und nach rechts eigentlich bis ins Unendliche. Explizit dargestellt sind aber nur acht Zeilen und zwölf Spalten.
  • Für die zeitlich begrenzte Informationssequenz  $\underline{u} = (0, 1, 1, 0, 0, 0, 1, 1)$  ist der gezeichnete Matrixteil ausreichend. Die Codesequenz lautet dann:
$$\underline{x} = (0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0).$$
  • Anhand der Beschriftungsfarben lassen sich die  $n = 3$  Codewortstränge ablesen.
  • Das gleiche Ergebnis haben wir (auf anderem Wege) im  $\text{Beispiel 4}$  am Ende des letzten Kapitels erhalten:
$$\underline{\it x}^{(1)} = (0\hspace{0.05cm}, 0\hspace{0.05cm}, 1\hspace{0.05cm}, 1) \hspace{0.05cm},\hspace{0.5cm} \underline{\it x}^{(2)} = (1\hspace{0.05cm}, 0\hspace{0.05cm},1\hspace{0.05cm}, 1) \hspace{0.05cm},\hspace{0.5cm} \underline{\it x}^{(3)} = (1\hspace{0.05cm}, 1\hspace{0.05cm}, 1\hspace{0.05cm}, 0) \hspace{0.05cm}.$$


Generatormatrix für Faltungscodierer der Rate 1/n


Wir betrachten nun den Sonderfall  $k = 1$,

  • zum einen aus Gründen einer möglichst einfachen Darstellung,
  • aber auch, weil Faltungscodierer der Rate  $1/n$  für die Praxis eine große Bedeutung besitzen.

Faltungscoder mit  $k = 1, \ n = 2, \ m = 1$

Faltungscodierer mit  $k = 1, \ n = 2, \ m = 1$

Aus nebenstehender Skizze kann abgeleitet werden:

\[{ \boldsymbol{\rm G}}_0=\begin{pmatrix} 1 & 1 \end{pmatrix}\hspace{0.05cm},\hspace{0.3cm} { \boldsymbol{\rm G}}_1=\begin{pmatrix} 0 & 1 \end{pmatrix}\hspace{0.3cm} \Rightarrow \hspace{0.3cm} { \boldsymbol{\rm G}}=\begin{pmatrix} 11 & 01 & 00 & 00 & 00 & \cdots & \\ 00 & 11 & 01 & 00 & 00 & \cdots & \\ 00 & 00 & 11 & 01 & 00 & \cdots & \\ 00 & 00 & 00 & 11 & 01 & \cdots & \\ \cdots & \cdots & \cdots & \cdots & \cdots & \cdots \end{pmatrix}\hspace{0.05cm}.\]

Für die Eingangssequenz  $\underline{u} = (1, 0, 1, 1)$  beginnt die Codesequenz mit  $\underline{x} = (1, 1, 0, 1, 1, 1, 1, 0, \ \text{...})$.
Dieses Ergebnis ist gleich der Summe der Zeilen 1, 3 und 4 der Generatormatrix.

Faltungscoder mit  $k = 1, \ n = 2, \ m = 2$

Faltungscodierer mit  $k = 1, \ n = 2, \ m = 2$

Aufgrund der Gedächtnisordnung  $m = 2$  gibt es hier drei Teilmatrizen:

\[{ \boldsymbol{\rm G}}_0=\begin{pmatrix} 1 & 1 \end{pmatrix}\hspace{0.05cm},\hspace{0.3cm} { \boldsymbol{\rm G}}_1=\begin{pmatrix} 1 & 0 \end{pmatrix}\hspace{0.05cm},\hspace{0.3cm} { \boldsymbol{\rm G}}_2=\begin{pmatrix} 1 & 1 \end{pmatrix}\]

Damit lautet die resultierende Generatormatrix:

\[ { \boldsymbol{\rm G}}=\begin{pmatrix} 11 & 10 & 11 & 00 & 00 & 00 & \cdots & \\ 00 & 11 & 10 & 11 & 00 & 00 & \cdots & \\ 00 & 00 & 11 & 10 & 11 & 00 & \cdots & \\ 00 & 00 & 00 & 11 & 10 & 11 & \cdots & \\ \cdots & \cdots & \cdots & \cdots & \cdots & \cdots \end{pmatrix}\hspace{0.05cm}.\]

Hier führt die Eingangsssequenz  $\underline{u} = (1, 0, 1, 1)$  zur Codesequenz  $\underline{x} = (1, 1, 1, 0, 0, 0, 0, 1, \ \text{...})$.

Faltungscoder mit  $k = 1, \ n = 3, \ m = 3$

Faltungscodierer mit $k = 1, \ n = 3, \ m = 3$

Wegen  $m = 3$  gibt es nun vier Teilmatrizen der jeweiligen Dimension  $1 × 3$:

\[{ \boldsymbol{\rm G}}_0=\begin{pmatrix} 1 & 1 & 0 \end{pmatrix}\hspace{0.05cm},\hspace{0.3cm} { \boldsymbol{\rm G}}_1=\begin{pmatrix} 0 & 0 & 1 \end{pmatrix}\hspace{0.05cm},\hspace{0.3cm} { \boldsymbol{\rm G}}_2=\begin{pmatrix} 0 & 0 & 1 \end{pmatrix}\hspace{0.05cm},\hspace{0.3cm} { \boldsymbol{\rm G}}_3=\begin{pmatrix} 0 & 1 & 1 \end{pmatrix}\hspace{0.05cm}.\]

Damit lautet die resultierende Generatormatrix:

\[{ \boldsymbol{\rm G}}=\begin{pmatrix} 110 & 001 & 001 & 011 & 000 & 000 & 000 & \cdots & \\ 000 & 110 & 001 & 001 & 011 & 000 & 000 & \cdots & \\ 000 & 000 & 110 & 001 & 001 & 011 & 000 & \cdots & \\ 000 & 000 & 000 & 110 & 001 & 001 & 011 & \cdots & \\ \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots \end{pmatrix}\hspace{0.05cm},\]

und man erhält für  $\underline{u} = (1, 0, 1, 1)$  die Codesequenz  $\underline{x} = (1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, \ \text{...})$.

GF(2)–Beschreibungsformen eines Digitalen Filters


Digitales Filter in  ${\rm GF}(2)$  der Ordnung  $m$

Im Kapitel  Grundlagen der Faltungscodierung  wurde bereits darauf hingewiesen,

  • dass ein Rate  $1/n$–Faltungscodierer durch mehrere Digitale Filter realisiert werden kann,
  • wobei die Filter parallel mit der gleichen Eingangsfolge  $\underline{u}$  arbeiten.


Bevor wir diese Aussage vertiefen, sollen zuerst die Eigenschaften eines Digitalfilters für das Galoisfeld  ${\rm GF(2)}$  genannt werden.


Die Grafik ist wie folgt zu interpretieren:

  • Das Filter besitzt die Impulsantwort  $\underline{g} = (g_0, g_1, g_2, \ \text{...} \ , g_m)$.
  • Für alle Filterkoeffizienten $($mit den Indizes  $0 ≤ l ≤ m)$  gilt:   $g_l ∈ {\rm GF}(2) = \{0, 1\}$.
  • Die einzelnen Symbole  $u_i$  der Eingangsfolge  $\underline{u}$  seien ebenfalls binär:   $u_i ∈ \{0, 1\}$.
  • Damit gilt für das Ausgangssymbol zu den Zeitpunkten  $i ≥ 1$  mit Addition und Multiplikation in  ${\rm GF(2)}$:
\[x_i = \sum_{l = 0}^{m} g_l \cdot u_{i-l} \hspace{0.05cm}.\]
  • Dies entspricht der (zeitdiskreten)  Faltungsoperation  (englisch:  Convolution ), gekennzeichnet durch einen Stern. Damit kann für die gesamte Ausgangssequenz geschrieben werden:
\[\underline{x} = \underline{u} * \underline{g}\hspace{0.05cm}.\]
  • Wesentlicher Unterschied gegenüber dem Kapitel  Digitale Filter  im Buch „Stochastische Signaltheorie” ist die Modulo–2–Addition  $(1 + 1 = 0)$  anstelle der herkömmlichen Addition  $(1 + 1 = 2)$.

Digitales Filter mit Impulsantwort  $(1, 0, 1, 1)$

$\text{Beispiel 3:}$  Die Impulsantwort des dargestellten Digitalen Filters dritter Ordnung lautet:   $\underline{g} = (1, 0, 1, 1)$.

  • Die Eingangssequenz dieses Filters sei zeitlich unbegrenzt:   $\underline{u} = (1, 1, 0, 0, 0, \ \text{ ...})$.
  • Damit ergibt sich die (unendliche) Ausgangssequenz  $\underline{x}$  im binären Galoisfeld   ⇒   ${\rm GF(2)}$:
\[\underline{x} = (\hspace{0.05cm}1,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm} 0,\hspace{0.05cm} 0, \hspace{0.05cm} \text{ ...} \hspace{0.05cm}) * (\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 1\hspace{0.05cm})\]
\[\Rightarrow \hspace{0.3cm} \underline{x} =(\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 1,\hspace{0.05cm} 0, \hspace{0.05cm}0,\hspace{0.05cm} \text{ ...} \hspace{0.05cm}) \oplus (\hspace{0.05cm}0,\hspace{0.05cm}\hspace{0.05cm}1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 1,\hspace{0.05cm}0, \hspace{0.05cm} \hspace{0.05cm} \text{ ...}\hspace{0.05cm}) = (\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}1,\hspace{0.05cm} 1,\hspace{0.05cm} 0,\hspace{0.05cm} 1,\hspace{0.05cm} 0, \hspace{0.05cm} \text{ ...} \hspace{0.05cm}) \hspace{0.05cm}.\]
  • Bei der herkömmlichen Faltung (für reelle Zahlen) hätte dagegen das Ergebnis gelautet:
\[\underline{x}= (\hspace{0.05cm}1,\hspace{0.05cm}\hspace{0.05cm}1,\hspace{0.05cm} 1,\hspace{0.05cm} 2,\hspace{0.05cm} 1,\hspace{0.05cm} 0, \text{ ...} \hspace{0.05cm}) \hspace{0.05cm}.\]


Zeitdiskrete Signale kann man aber auch durch Polynome bezüglich einer Dummy–Variablen repräsentieren.

$\text{Definition:}$  Die zum zeitdiskreten Signal  $\underline{x} = (x_0, x_1, x_2, \ \text{...})$  gehörige  $D$–Transformierte  lautet:

\[X(D) = x_0 + x_1 \cdot D + x_2 \cdot D^2 + \hspace{0.05cm}\text{...}\hspace{0.05cm}= \sum_{i = 0}^{\infty} x_i \cdot D\hspace{0.05cm}^i \hspace{0.05cm}.\]

Für diese spezielle Transformation in einen Bildbereich verwenden wir auch folgende Notation, wobei „$D$” für  Delay Operator  steht:

\[\underline{x} = (x_0, x_1, x_2,\hspace{0.05cm}...\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad X(D) = \sum_{i = 0}^{\infty} x_i \cdot D\hspace{0.05cm}^i \hspace{0.05cm}.\]


Hinweis:   In der Literatur wird manchmal  $x(D)$  anstelle von  $X(D)$  verwendet. Wir schreiben in unserem Lerntutorial aber alle Bildbereichsfunktionen mit Großbuchstaben, zum Beispiel die Fourier–, die Laplace– und die $D$–Transformation:

\[x(t) \hspace{0.15cm} \circ\!\!-\!\!\!-^{\hspace{-0.25cm}}\!\!\!-\!\!\bullet\hspace{0.15cm} X(f)\hspace{0.05cm},\hspace{0.4cm} x(t) \hspace{0.15cm} \circ\!\!-\!\!\!-^{\hspace{-0.25cm}\rm L}\!\!\!-\!\!\bullet\hspace{0.15cm} X(p) \hspace{0.05cm},\hspace{0.4cm} \underline{x} \hspace{0.15cm} \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\hspace{0.15cm} X(D) \hspace{0.05cm}.\]


Wir wenden nun die  $D$–Transformation auch auf die Informationssequenz  $\underline{u}$  und die Impulsantwort $\underline{g}$  an. Aufgrund der zeitlichen Begrenzung von  $\underline{g}$  ergibt sich die obere Summationsgrenze bei $G(D)$ zu $i = m$:

\[\underline{u} = (u_0, u_1, u_2,\hspace{0.05cm}\text{...}\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad U(D) = \sum_{i = 0}^{\infty} u_i \cdot D\hspace{0.05cm}^i \hspace{0.05cm},\]
\[\underline{g} = (g_0, g_1, \hspace{0.05cm}\text{...}\hspace{0.05cm}, g_m) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad G(D) = \sum_{i = 0}^{m} g_i \cdot D\hspace{0.05cm}^i \hspace{0.05cm}.\]

$\text{Satz:}$  Wie bei allen Spektraltransformationen gilt auch bei der  $D$–Transformation im Bildbereich die  Multiplikation, da die (diskreten) Zeitsignale  $\underline{u}$  und  $\underline{g}$  durch die  Faltung  verknüpft sind:

\[\underline{x} = \underline{u} * \underline{g} \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad X(D) = U(D) \cdot G(D) \hspace{0.05cm}.\]

Man bezeichnet – wie in der  Systemtheorie  allgemein üblich – auch die  $D$–Transformierte  $G(D)$  der Impulsantwort  $\underline{g}$  als  Übertragungsfunktion  (englisch:   Transfer Function). Der (recht einfache)  $\rm Beweis$  dieses wichtigen Ergebnisses finden Sie in der Angabe zur  Aufgabe 3.3Z.


Digitales Filter mit Impulsantwort  $(1, 0, 1, 1)$

$\text{Beispiel 4:}$  Wir betrachten wieder die zeitdiskreten Signale

\[\underline{u} = (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm}\text{...}\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad U(D) = 1+ D \hspace{0.05cm},\]
\[\underline{g} = (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad G(D) = 1+ D^2 + D^3 \hspace{0.05cm}.\]

Wie im  $\text{Beispiel 3}$  (auf dieser Seite oben) erhält man auch auf diesem Lösungsweg:

\[X(D) = U(D) \cdot G(D) = (1+D) \cdot (1+ D^2 + D^3) \]
\[\Rightarrow \hspace{0.3cm} X(D) = 1+ D^2 + D^3 +D + D^3 + D^4 = 1+ D + D^2 + D^4 \hspace{0.3cm} \Rightarrow \hspace{0.3cm} \underline{x} = (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm}, \text{...} \hspace{0.05cm}) \hspace{0.05cm}.\]

Die Multiplikation mit  $D$  im Bildbereich entspricht im Zeitbereich einer Verschiebung um eine Stelle nach rechts, weshalb man  $D$  als Verzögerungsoperator  (englisch:  Delay Operator ) bezeichnet:

\[W(D) = D \cdot X(D) \quad \bullet\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\circ\quad \underline{w} = (\hspace{0.05cm}0\hspace{0.05cm},\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm}, \text{...} \hspace{0.05cm}) \hspace{0.05cm}.\]


Anwendung der D–Transformation auf Rate–1/n–Faltungscoder


Wir wenden nun die Ergebnisse der letzten Seite auf einen Faltungscoder an, wobei wir uns zunächst auf den Sonderfall  $k = 1$  beschränken.

  • Ein solcher  $(n, \ k = 1)$–Faltungscode lässt sich mit  $n$  Digitalen Filtern realisieren, die auf der gleichen Informationssequenz  $\underline{u}$  parallel arbeiten.
  • Die Grafik zeigt die Anordnung für den Codeparameter  $n = 2$   ⇒   Coderate $R = 1/2$.


Zwei parallel arbeitende Filter, jeweils mit Ordnung  $m$

Die folgenden Gleichungen gelten für beide Filter gleichermaßen, wobei für das obere Filter  $j = 1$  und für das untere Filter  $j = 2$  zu setzen ist:

  • Die  Impulsantworten  der beiden Filter ergeben sich zu
\[\underline{g}^{(j)} = (g_0^{(j)}, g_1^{(j)}, \hspace{0.05cm}\text{...}\hspace{0.05cm}, g_m^{(j)}\hspace{0.01cm}) \hspace{0.05cm},\hspace{0.2cm}{\rm mit }\hspace{0.15cm} j \in \{1,2\}\hspace{0.05cm}.\]
  • Die zwei  Ausgangssequenzen  lauten, wobei berücksichtigt ist, dass beide Filter auf der gleichen Eingangssequenz  $\underline{u} = (u_0, u_1, u_2, \hspace{0.05cm} \text{...})$  arbeiten:
\[\underline{x}^{(j)} = (x_0^{(j)}, x_1^{(j)}, x_2^{(j)}, \hspace{0.05cm}\text{...}\hspace{0.05cm}) = \underline{u} \cdot \underline{g}^{(j)} \hspace{0.05cm},\hspace{0.2cm}{\rm mit }\hspace{0.15cm} j \in \{1,2\}\hspace{0.05cm}.\]
  • Für die  $D$–Transformierten  der Ausgangssequenzen gilt:
\[X^{(j)}(D) = U(D) \cdot G^{(j)}(D) \hspace{0.05cm},\hspace{0.2cm}{\rm mit }\hspace{0.15cm} j \in \{1,2\}\hspace{0.05cm}.\]

Um diesen Sachverhalt kompakter darstellen zu können, definieren wir nun folgende vektorielle Größen eines Faltungscodes der Rate  $1/n$:

$\text{Definition:}$  Die  $D$–Übertragungsfunktionen  der  $n$  parallel angeordneten Digitalen Filter werden im Vektor  $\underline{G}(D)$  zusammengefasst:

\[\underline{G}(D) = \left ( G^{(1)}(D), G^{(2)}(D), \hspace{0.05cm}\text{...}\hspace{0.1cm}, G^{(n)} (D) \right )\hspace{0.05cm}.\]
  • Der Vektor  $\underline{X}(D)$  beinhaltet die  $D$–Transformierten  der  $n$  Codesequenzen  $\underline{x}^{(1)}, \underline{x}^{(2)}, \ \text{...} \ , \underline{x}^{(n)}$:
\[\underline{X}(D) = \left ( X^{(1)}(D), X^{(2)}(D), \hspace{0.05cm}\text{...}\hspace{0.1cm}, X^{(n)} (D) \right )\hspace{0.05cm}.\]
  • Damit erhält man die folgende Vektorgleichung:
\[\underline{X}(D) = U(D) \cdot \underline{G}(D)\hspace{0.05cm}.\]
  • Aufgrund des Codeparameters  $k = 1$  ist  $U(D)$  hier keine vektorielle Größe.


Faltungscoder mit  $n = 2, \ k = 1,\ m = 2$

$\text{Beispiel 5:}$  Wir betrachten den Faltungscodierer mit den Codeparametern  $n = 2, \ k = 1, \ m = 2$. Für diesen gilt:

\[\underline{g}^{(1)} =(\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad G(D) = 1+ D + D^2 \hspace{0.05cm},\]
\[\underline{g}^{(2)}= (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad G(D) = 1+ D^2 \]
\[\Rightarrow \hspace{0.3cm} \underline{G}(D) = \big ( 1+ D + D^2 \hspace{0.05cm}, \hspace{0.1cm}1+ D^2 \big )\hspace{0.05cm}.\]

Die Informationssequenz sei  $\underline{u} = (1, 0, 1, 1)$   ⇒   $D$–Transformierte  $U(D) = 1 + D^2 + D^3$. Damit erhält man:

\[\underline{X}(D) = \left ( X^{(1)}(D),\hspace{0.1cm} X^{(2)}(D) \right ) = U(D) \cdot \underline{G}(D) \hspace{0.05cm}, \hspace{0.2cm}\]

wobei

\[{X}^{(1)}(D) = (1+ D^2 + D^3) \cdot (1+ D + D^2)=1+ D + D^2 + D^2 + D^3 + D^4 + D^3 + D^4 + D^5 = 1+ D + D^5\]
\[\Rightarrow \hspace{0.3cm} \underline{x}^{(1)} = (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm}, \hspace{0.05cm} 0\hspace{0.05cm}, \hspace{0.05cm} \text{...} \hspace{0.05cm} \hspace{0.05cm}) \hspace{0.05cm},\]
\[{X}^{(2)}(D) = (1+ D^2 + D^3) \cdot (1+ D^2)=1+ D^2 + D^2 + D^4 + D^3 + D^5 = 1+ D^3 + D^4 + D^5\]
\[\Rightarrow \underline{x}^{(2)} = (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm}0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm}, \hspace{0.05cm} 0\hspace{0.05cm}, \hspace{0.05cm} \text{...} \hspace{0.05cm} \hspace{0.05cm}) \hspace{0.05cm}.\]

Das gleiche Ergebnis haben wir in der  Aufgabe 3.1Z  auf anderem Wege erhalten. Nach dem Multplexen der beiden Stränge erhält man wieder:  

$$\underline{x} = (11, 10, 00, 01, 01, 11, 00, 00, \hspace{0.05cm} \text{...} \hspace{0.05cm}).$$


Übertragungsfunktionsmatrix – Transfer Function Matrix


Allgemeiner  $(n, \ k)$–Faltungscoder

Wir haben gesehen, dass ein Faltungscode der Rate  $1/n$  sich am kompaktesten als Vektorgleichung im  $D$–transformierten Bereich beschreiben lässt:   $\underline{X}(D) = U(D) \cdot \underline{G}(D)$.

Nun erweitern wir das Resultat auf Faltungscodierer mit mehr als einem Eingang   ⇒   $k ≥ 2$  (siehe Grafik).

Um einen Faltungscode der Rate  $k/n$  im $D$–Bereich abbilden zu können, muss die Dimension obiger Vektorgleichung hinsichtlich Eingang und Übertragungsfunktion erhöht werden:

\[\underline{X}(D) = \underline{U}(D) \cdot { \boldsymbol{\rm G}}(D)\hspace{0.05cm}.\]


Dazu sind folgende Maßnahmen erforderlich:

  • Aus der skalaren Funktion  $U(D)$  wird der Vektor  $\underline{U}(D) = (U^{(1)}(D), \ U^{(2)}(D), \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ U^{(k)}(D))$.
  • Aus dem Vektor  $\underline{G}(D)$  wird die  $k × n$–Übertragungsfunktionsmatrix  $\mathbf{G}(D)$  (englisch:   Transfer Function Matrix  oder  Polynomial Generator Matrix):
\[{\boldsymbol{\rm G}}(D)=\begin{pmatrix} G_1^{(1)}(D) & G_1^{(2)}(D) & \hspace{0.05cm} \text{...} \hspace{0.05cm} & G_1^{(n)}(D)\\ G_2^{(1)}(D) & G_2^{(2)}(D) & \hspace{0.05cm} \text{...} \hspace{0.05cm} & G_2^{(n)}(D)\\ \vdots & \vdots & & \vdots\\ G_k^{(1)}(D) & G_k^{(2)}(D) & \hspace{0.05cm} \text{...} \hspace{0.05cm} & G_k^{(n)}(D) \end{pmatrix}\hspace{0.05cm}.\]
  • Jedes der  $k \cdot n$  Matrixelemente  $G_i^{(j)}(D)$  mit  $1 ≤ i ≤ k,\ \ 1 ≤ j ≤ n$  ist ein Polynom über der Dummy–Variablen  $D$  im Galoisfeld  ${\rm GF}(2)$, maximal vom Grad  $m$, wobei  $m$  das Gedächtnis angibt.
  • Für die obige  Übertragungsfunktionsmatrix  kann mit den zu Beginn dieses Kapitels definierten  Teilmatrizen  $\mathbf{G}_0, \ \text{...} \ , \mathbf{G}_m$  auch geschrieben werden $($als Index verwenden wir wieder  $l)$:
\[{\boldsymbol{\rm G}}(D) = \sum_{l = 0}^{m} {\boldsymbol{\rm G}}_l \cdot D\hspace{0.03cm}^l = {\boldsymbol{\rm G}}_0 + {\boldsymbol{\rm G}}_1 \cdot D + {\boldsymbol{\rm G}}_2 \cdot D^2 + \hspace{0.05cm} \text{...} \hspace{0.05cm}+ {\boldsymbol{\rm G}}_m \cdot D\hspace{0.03cm}^m \hspace{0.05cm}.\]
Faltungscoder mit  $k = 2, \ n = 3, \ m = 1$

$\text{Beispiel 6:}$  Wir betrachten den  $(n = 3, \ k = 2, \ m = 1)$–Faltungscoder, dessen Teilmatrizen bereits im  $\text{Beispiel 1}$  wie folgt ermittelt wurden:

\[{ \boldsymbol{\rm G} }_0 = \begin{pmatrix} 1 & 0 & 1\\ 0 & 1 & 1 \end{pmatrix} \hspace{0.05cm}, \hspace{0.5cm} { \boldsymbol{\rm G} }_1 = \begin{pmatrix} 1 & 1 & 1\\ 1 & 0 & 0 \end{pmatrix}\hspace{0.05cm}.\]

Wegen  $m = 1$  existieren keine Teilmatrizen für  $l ≥ 2$. Damit lautet die Übertragungsfunktionsmatrix:

\[{\boldsymbol{\rm G} }(D) = {\boldsymbol{\rm G} }_0 + {\boldsymbol{\rm G} }_1 \cdot D = \begin{pmatrix} 1+D & D & 1+D\\ D & 1 & 1 \end{pmatrix} \hspace{0.05cm}.\]

Die (zeitlich begrenzte) Informationssequenz sei  $\underline{u} = (0, 1, 1, 0, 0, 0, 1, 1)$, woraus sich die beiden Eingangsfolgen wie folgt ergeben:

\[\underline{u}^{(1)} = (\hspace{0.05cm}0\hspace{0.05cm},\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad {U}^{(1)}(D) = D + D^3 \hspace{0.05cm},\]
\[\underline{u}^{(2)} = (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm}0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad {U}^{(2)}(D) = 1 + D^3 \hspace{0.05cm}.\]

Daraus folgt für den Vektor der  $D$–Transformierten am Coderausgang:

\[\underline{X}(D) = \big (\hspace{0.05cm} {X}^{(1)}(D)\hspace{0.05cm}, \hspace{0.05cm} {X}^{(2)}(D)\hspace{0.05cm}, \hspace{0.05cm} {X}^{(3)}(D)\hspace{0.05cm}\big ) = \underline{U}(D) \cdot {\boldsymbol{\rm G} }(D) \begin{pmatrix} D+D^3 & 1+D^3 \end{pmatrix} \cdot \begin{pmatrix} 1+D & D & 1+D\\ D & 1 & 1 \end{pmatrix}\hspace{0.05cm}.\]

Damit ergeben sich in den drei Strängen folgende Codesquenzen:

\[{X}^{(1)}(D) = (D + D^3) \cdot (1+D) + (1 + D^3) \cdot D =D + D^2 + D^3 + D^4 + D + D^4 = D^2 + D^3\]
\[\Rightarrow \hspace{0.3cm} \underline{x}^{(1)} = (\hspace{0.05cm}0\hspace{0.05cm},\hspace{0.05cm}0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm}\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm}\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} \text{...} \hspace{0.05cm}) \hspace{0.05cm},\]
\[{X}^{(2)}(D)= (D + D^3) \cdot D + (1 + D^3) \cdot 1 = D^2 + D^4 + 1 + D^3 = 1+D^2 + D^3 + D^4\]
\[\Rightarrow \hspace{0.3cm}\underline{x}^{(2)} = (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm}0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm}\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm}\hspace{0.05cm} \text{...} \hspace{0.05cm}) \hspace{0.05cm},\]
\[{X}^{(3)}(D)=(D + D^3) \cdot (1 + D) + (1 + D^3) \cdot 1 = D + D^2 + D^3+ D^4 + 1 + D^3 = 1+ D + D^2 + D^4\]
\[\Rightarrow \hspace{0.3cm}\underline{x}^{(3)} = (\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm}1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm}\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm}\hspace{0.05cm} \text{...} \hspace{0.05cm}) \hspace{0.05cm}.\]

Die gleichen Ergebnisse haben wir auf anderen Wegen bereits in vorherigen Beispielen erhalten:


Systematische Faltungscodes


Die Polynomrepräsentation anhand der Übertragungsfunktionsmtrix  $\mathbf{G}(D)$  ermöglicht Einblicke in die Struktur eines Faltungscodes.

  • Beispielsweise erkennt man anhand dieser  $k × n$–Matrix, ob es sich um einen  systematischen Code  handelt.
  • Darunter versteht man einen Code, bei dem die Codesequenzen  $\underline{x}^{(1)}, \ \text{...} \ , \ \underline{x}^{(k)}$  mit den Informationssequenzen  $\underline{u}^{(1)}, \ \text{...} \ , \ \underline{u}^{(k)}$  identisch sind.
  • Die Grafik zeigt beispielhaft einen systematischen  $(n = 4, \ k = 3)$–Faltungscode.


Systematischer Faltungscode mit  $k = 3, \ n = 4$

Ein systematischer  $(n, k)$–Faltungscode liegt immer dann vor, wenn die Übertragungsfunktionsmatrix (mit  $k$  Zeilen und  $n$  Spalten) folgendes Aussehen hat:

\[{\boldsymbol{\rm G}}(D) = {\boldsymbol{\rm G}}_{\rm sys}(D) = \left [ \hspace{0.05cm} {\boldsymbol{\rm I}}_k\hspace{0.05cm} ; \hspace{0.1cm} {\boldsymbol{\rm P}}(D) \hspace{0.05cm}\right ] \hspace{0.05cm}.\]

Hierbei ist folgende Nomenklatur verwendet:

  • $\mathbf{I}_k$  bezeichnet eine diagonale Einheitsmatrix der Dimension  $k × k$.
  • $\mathbf{P}(D)$  ist eine  $k × (n -k)$–Matrix, wobei jedes Matrixelement ein Polynom in  $D$  beschreibt.

$\text{Beispiel 7:}$  Ein systematischer Faltungscode mit  $n = 3, \ k = 2, \ m = 2$  könnte beispielsweise die folgende Übertragungsfunktionsmatrix aufweisen:

\[{\boldsymbol{\rm G} }_{\rm sys}(D) = \begin{pmatrix} 1 & 0 & 1+D^2\\ 0 & 1 & 1+D \end{pmatrix}\hspace{0.05cm}.\]

Andere systematische Faltungscodes mit gleichem  $n$  und gleichem  $k$  unterscheiden sich demgegenüber nur durch die beiden Matrixelemente in der letzten Spalte.



Äquivalenter systematischer Faltungscode


Zu jedem  $(n, \ k)$–Faltungscode mit Matrix  $\mathbf{G}(D)$  gibt es einen  äquivalenten systematischen Code, dessen  $D$–Matrix wir mit  $\mathbf{G}_{\rm sys}(D)$ benennen.

Unterteilung von  $\mathbf{G}(D)$  in  $\mathbf{T}(D)$  und  $\mathbf{Q}(D)$

Um von der Übertragungsfunktionsmatrix  $\mathbf{G}(D)$  zur Matrix  $\mathbf{G}_{\rm sys}(D)$  des äquivalenten systematischen Faltungscodes zu kommen, geht man gemäß Grafik wie folgt vor:

  • Man unterteilt die  $k × n$–Matrix  $\mathbf{G}(D)$  in eine quadratische Matrix  $\mathbf{T}(D)$  mit  $k$  Zeilen und  $k$  Spalten und bezeichnet den Rest mit  $\mathbf{Q}(D)$.
  • Anschließend berechnet man die zu  $\mathbf{T}(D)$  inverse Matrix  $\mathbf{T}^{-1}(D)$  und daraus die Matrix für den äquivanten systematischen Code:
\[{\boldsymbol{\rm G}}_{\rm sys}(D)= {\boldsymbol{\rm T}}^{-1}(D) \cdot {\boldsymbol{\rm G}}(D) \hspace{0.05cm}.\]
  • Da  $\mathbf{T}^{-1}(D) \cdot \mathbf{T}(D)$  die  $k × k$–Einheitsmatrix  $\mathbf{I}_k$  ergibt, kann die Übertragungsfunktionsmatrix des äquivalenten systematischen Codes in der gewünschten Form geschrieben werden:
\[{\boldsymbol{\rm G}}_{\rm sys}(D) = \big [ \hspace{0.05cm} {\boldsymbol{\rm I}}_k\hspace{0.05cm} ; \hspace{0.1cm} {\boldsymbol{\rm P}}(D) \hspace{0.05cm}\big ] \hspace{0.5cm}{\rm mit}\hspace{0.5cm} {\boldsymbol{\rm P}}(D)= {\boldsymbol{\rm T}}^{-1}(D) \cdot {\boldsymbol{\rm Q}}(D) \hspace{0.05cm}. \hspace{0.05cm}\]
Faltungscodierer der Rate  $2/3$

$\text{Beispiel 8:}$  Der auf den letzten Seiten schon häufiger betrachtete Coder der Rate  $2/3$  ist nicht systematisch, weil zum Beispiel  $\underline{x}^{(1)} ≠ \underline{u}^{(1)}, \ \underline{x}^{(2)} ≠ \underline{u}^{(2)}$  gilt (siehe nebenstehende Coderschaltung).

Man erkennt dies aber auch anhand der Übertragungsfunktionsmatrix:

\[{\boldsymbol{\rm G} }(D) = \big [ \hspace{0.05cm} {\boldsymbol{\rm T} }(D)\hspace{0.05cm} ; \hspace{0.1cm} {\boldsymbol{\rm Q} }(D) \hspace{0.05cm}\big ]\]
\[\Rightarrow \hspace{0.3cm} {\boldsymbol{\rm T} }(D) = \begin{pmatrix} 1+D & D\\ D & 1 \end{pmatrix}\hspace{0.05cm},\hspace{0.2cm} {\boldsymbol{\rm Q} }(D) = \begin{pmatrix} 1+D \\ 1 \end{pmatrix}\hspace{0.05cm}.\]

Die Determinante von  $\mathbf{T}(D)$  ergibt sich zu  $(1 + D) \cdot 1 + D \cdot D = 1 + D + D^2$  und ist ungleich Null.

Somit kann für die Inverse von  $\mathbf{T}(D)$  geschrieben werden (Vertauschung der Diagonalelemente!):

\[{\boldsymbol{\rm T} }^{-1}(D) = \frac{1}{1+D+D^2} \cdot \begin{pmatrix} 1 & D\\ D & 1+D \end{pmatrix}\hspace{0.05cm}.\]

Das Produkt  $\mathbf{T}(D) \cdot \mathbf{T}^{–1}(D)$  ergibt die Einheitsmatrix  $\mathbf{I}_2$, und für die dritte Spalte von  $\mathbf{G}_{\rm sys}(D)$  gilt:

\[{\boldsymbol{\rm P} }(D)= {\boldsymbol{\rm T} }^{-1}(D) \cdot {\boldsymbol{\rm Q} }(D) = \frac{1}{1+D+D^2} \cdot \begin{pmatrix} 1 & D\\ D & 1+D \end{pmatrix}\cdot \begin{pmatrix} 1+D\\ 1 \end{pmatrix} \]
\[\Rightarrow \hspace{0.3cm} {\boldsymbol{\rm P} }(D) = \frac{1}{1+D+D^2} \cdot \begin{pmatrix} (1+D) + D \\ D \cdot (1+D) + (1+D) \end{pmatrix} = \frac{1}{1+D+D^2} \cdot \begin{pmatrix} 1 \\ 1+D^2 \end{pmatrix} \]
\[\Rightarrow \hspace{0.2cm}{\boldsymbol{\rm G} }_{\rm sys}(D) = \begin{pmatrix} 1 & 0 & \frac{1}{1+D+D^2}\\ 0 & 1 &\frac{1+D^2}{1+D+D^2} \end{pmatrix}\hspace{0.05cm}. \]

Zu klären ist noch, wie das Filter einer solchen gebrochen–rationalen Übertragungsfunktion aussieht.


Filterstruktur bei gebrochen–rationaler Übertragungsfunktion


Rekursives Filter zur Realisierung von  $G(D) = A(D)/B(D)$

Hat eine Übertragungsfunktion die Form  $G(D) = A(D)/B(D)$, so bezeichnet man das zugehörige Filter als rekursiv.

Bei einem rekursiven Faltungscodierer mit dem Gedächtnis  $m$  kann für die beiden Polynome  $A(D)$  und  $B(D)$  allgemein geschrieben werden:

\[A(D) = \sum_{l = 0}^{m} a_l \cdot D\hspace{0.05cm}^l = a_0 + a_1 \cdot D + a_2 \cdot D^2 +\ \text{...} \ \hspace{0.05cm} + a_m \cdot D\hspace{0.05cm}^m \hspace{0.05cm},\]
\[B(D) = 1 + \sum_{l = 1}^{m} b_l \cdot D\hspace{0.05cm}^l = 1 + b_1 \cdot D + b_2 \cdot D^2 + \ \text{...} \ \hspace{0.05cm} + b_m \cdot D\hspace{0.05cm}^m \hspace{0.05cm}.\]

Die Grafik zeigt die entsprechende Filterstruktur in der so genannten  Controller Canonical Form:

  • Die Koeffizienten  $a_0, \ \text{...} \ , \ a_m$  beschreiben den Vorwärtszweig.
  • Die Koeffizienten  $b_1, \ \text{...} \ , \ b_m$  bilden eine Rückkopplung.
  • Alle Koeffizienten sind binär, also  $1$  (durchgehende Verbindung) oder  $0$  (fehlende Verbindung).


Filter:  $G(D) = (1+D^2)/(1+D +D^2)$

$\text{Beispiel 9:}$  Die rechts skizzierte Filterstruktur lässt sich wie folgt beschreiben:

\[x_i = w_i + w_{i-2} \hspace{0.05cm},\]
\[w_i = u_i + w_{i-1}+ w_{i-2} \hspace{0.05cm}.\]

Entsprechend gilt für die  $D$–Transformierten:

\[X(D) =W(D) + W(D) \cdot D^2 =W(D) \cdot \left ( 1+ D^2 \right ) \hspace{0.05cm},\]
\[W(D) = \hspace{0.08cm} U(D) + W(D) \cdot D+ W(D) \cdot D^2\]
\[\Rightarrow \hspace{0.3cm} U(D) = W(D) \cdot \left ( 1+ D + D^2 \right ) \hspace{0.05cm}.\]

Somit erhält man für die Übertragungsfunktion dieses Filters:

\[G(D) = \frac{X(D)}{U(D)} = \frac{1+D^2}{1+D+D^2} \hspace{0.05cm}. \]

Im  $\text{Beispiel 8}$  zum äquivalenten systematischen Faltungscode hat sich im unteren Zweig genau dieser Ausdruck ergeben.


Aufgaben zum Kapitel


Aufgabe 3.2: G–Matrix eines Faltungscodierers

Aufgabe 3.2Z: (3, 1, 3)–Faltungscodierer

Aufgabe 3.3: Codesequenzberechnung über U(D) und G(D)

Aufgabe 3.3Z: Faltung und D–Transformation

Aufgabe 3.4: Systematische Faltungscodes

Aufgabe 3.4Z: Äquivalente Faltungscodes?

Aufgabe 3.5: Rekursive Filter für GF(2)