Difference between revisions of "Aufgaben:Exercise 3.1Z: Convolution Codes of Rate 1/2"

From LNTwww
Line 51: Line 51:
 
===Musterlösung===
 
===Musterlösung===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''   
+
'''(1)'''&nbsp; Für beide Coder gilt $k = 1$ und $n = 2$. Das Gedächtnis $m$ und die Einflusslänge $\nu$ sind unterschiedlich &#8658; <u>Antworten 3 und 4</u>.
'''(2)'''&nbsp;  
+
 
'''(3)'''&nbsp;  
+
 
'''(4)'''&nbsp;  
+
'''(2)'''&nbsp; Das Schieberegister von Coder A beinhaltet zwar zwei Speicherzellen. Da aber $x_i^{(1)} = u_i$ ist und $x_i^{(2)} = u_i + u_{i&ndash;1}$ außer vom aktuellen Informationsbit $u_i$ nur noch vom unmittelbar vorherigen Bit $u_{i&ndash;1}$ beeinflusst wird, ist das Gedächtnis $m = 1$ und die Einflusslänge $\nu = m + 1 = 2$.
'''(5)'''&nbsp;  
+
 
 +
[[File:P_ID2599__KC_Z_3_1b.png|center|frame|Äquivalente Coder–Darstellungen]]
 +
 
 +
Die Grafik zeigt die beiden Coder in anderer Darstellung, wobei die &bdquo;Gedächtnis&ndash;Speicherzellen&rdquo; gelb hinterlegt sind. Beim Coder A erkennt man nur einen solchen Speicher &#8658; $m = 1$. Dagegen gilt für den <u>Coder B</u> tatsächlich $m = 2$ und $\nu = 3$.
 +
 
 +
 
 +
'''(3)'''&nbsp; Für den oberen Ausgang von Coder B gilt allgemein:
 +
:$$x_i^{(1)} = u_{i} + u_{i-1}+ u_{i-2} \hspace{0.05cm}.$$
 +
 
 +
Unter Berücksichtigung der Vorbelegung ($u_0 = u_{&ndash;1} = 0$) erhält man mit den obigen Angaben:
 +
:$$x_1^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1} + u_{0}+ u_{-1} = 1+0+0 = 1 \hspace{0.05cm},\hspace{0.2cm}x_2^{(1)} = u_{2} + u_{1}+ u_{0} = 0+1+0 = 1\hspace{0.05cm},$$
 +
:$$x_3^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{3} + u_{2}+ u_{1} \hspace{0.25cm}= 1+0+1 = 0 \hspace{0.05cm},\hspace{0.2cm}x_4^{(1)} = u_{4} + u_{3}+ u_{2} = 1+1+0 = 0\hspace{0.05cm},$$
 +
:$$x_5^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{5} + u_{4}+ u_{3} \hspace{0.25cm}= 0+1+1 = 0 \hspace{0.05cm},\hspace{0.2cm}x_6^{(1)} = u_{6} + u_{5}+ u_{4} = 0+0+1 = 1\hspace{0.05cm},$$
 +
:$$x_7^{(1)} \hspace{-0.15cm} & = & \hspace{-0.15cm} x_8^{(1)} = ... \hspace{0.05cm}= 0 \hspace{0.05cm}.$$
 +
 
 +
Richtig ist somit der <u>Lösungsvorschlag 1</u>. Der zweite Lösungsvorschlag &#8658; $\underline {x}^{(1)} = \underline {u}$ würde dagegen nur bei einem systematischen Code gelten (der hier nicht vorliegt).
 +
 
 +
 
 +
'''(4)'''&nbsp; Analog zur Teilaufgabe (3) erhält man mit $x_i^{(2)} = u_i + u_{i&ndash;2}$:
 +
:$$x_1^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm}  1+0 = 1 \hspace{0.05cm},\hspace{0.2cm}x_2^{(2)} = 0+0 = 0\hspace{0.05cm},
 +
\hspace{0.2cm}x_3^{(3)} = 1+1 = 0\hspace{0.05cm},\hspace{0.2cm}x_4^{(2)} =  1+0 = 1 \hspace{0.05cm},$$
 +
:$$x_5^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm}  0+1 = 1\hspace{0.05cm},
 +
\hspace{0.2cm}x_6^{(2)} = 0+1 = 1\hspace{0.05cm},\hspace{0.2cm}
 +
x_7^{(2)} = x_8^{(2)} = ... \hspace{0.05cm}= 0 \hspace{0.05cm}.$$
 +
 
 +
Richtig ist demnach der <u>Lösungsvorschlag 2</u>.
 +
 
 +
 
 +
'''(5)'''&nbsp; Für die (gesamte) Codesequenz kann man formal schreiben:
 +
:$$\underline{\it x} =  \big( \hspace{0.05cm}\underline{\it x}_1\hspace{0.05cm}, \hspace{0.05cm} \underline{\it x}_2\hspace{0.05cm}, \hspace{0.05cm}...\hspace{0.05cm}  \underline{\it x}_i \hspace{0.05cm}, ...  \hspace{0.05cm} \big )\hspace{0.05cm}, \hspace{0.3cm}  \underline{\it x}_i = \big( x_i^{(1)}\hspace{0.05cm}, x_i^{(2)} \big)
 +
\hspace{0.4cm}\Rightarrow \hspace{0.4cm} \underline{\it x} =  \big( \hspace{0.05cm}x_1^{(1)}\hspace{0.01cm},\hspace{0.05cm} x_2^{(1)}\hspace{0.01cm},\hspace{0.05cm} x_1^{(2)}\hspace{0.01cm},\hspace{0.05cm} x_2^{(2)}\hspace{0.01cm}, \hspace{0.05cm} ...  \hspace{0.05cm} \big )\hspace{0.05cm}. $$
 +
 
 +
Ein Vergleich mit den Lösungen der Aufgaben (3) und (4) zeigt die Richtigkeit von <u>Lösungsvorschlag 1</u>.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  
  
 
[[Category:Aufgaben zu  Kanalcodierung|^3.1 Grundlagen der Faltungscodierung^]]
 
[[Category:Aufgaben zu  Kanalcodierung|^3.1 Grundlagen der Faltungscodierung^]]

Revision as of 17:12, 22 November 2017

Zwei Faltungscodes der Rate 1/2

Die Grafik zeigt zwei Faltungscodierer der Rate $R = 1/2$. Am Eingang liegt die Informationssequenz $\underline {u} = (u_1, u_2, \ ... \ , u_i, \ ...$) an. Hieraus werden durch Modulo–2–Operationen die beiden Sequenzen

$$\underline{\it x}^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} \big( \hspace{0.05cm}x_1^{(1)}\hspace{0.05cm},\hspace{0.05cm} x_2^{(1)}\hspace{0.05cm},\hspace{0.05cm} ... \hspace{0.05cm},\hspace{0.05cm} x_i^{(1)} \hspace{0.05cm}, ... \hspace{0.05cm} \big )\hspace{0.05cm},$$
$$\underline{\it x}^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} \big( \hspace{0.05cm}x_1^{(2)}\hspace{0.05cm},\hspace{0.05cm} x_2^{(2)}\hspace{0.05cm},\hspace{0.05cm} ... \hspace{0.05cm},\hspace{0.05cm} x_i^{(2)} \hspace{0.05cm}, ... \hspace{0.05cm} \big )$$

erzeugt, wobei $x_i^{(j)}$ mit $j = 1$ bzw. $j = 2$ außer von $u_i$ auch von den vorherigen Informationsbits $u_{i–1}, \ ... \ , u_{i–m}$ abhängen kann. Man bezeichnet $m$ als das Gedächtnis und $\nu = m + 1$ als die Einflusslänge des Codes bzw. des Codierers. Die betrachteten Coder A und B unterscheiden sich hinsichtlich dieser Größen.

In der Grafik nicht dargestellt ist das Multiplexen der beiden Teilsequenzen $\underline {x}^{(1)}$ und $\underline {x}^{(2)}$ zur resultierenden Codesequenz $\underline {x} = (x_1^{(1)}, x_1^{(2)}, x_2^{(1)}, x_2^{(2)}, \ ...)$.

In den Teilaufgaben (3) bis (5) sollen Sie den jeweiligen Beginn der Sequenzen $\underline {x}^{(1)}, \underline{x}^{(2)}$ und $\underline{x}$ ermitteln, wobei von der Informationssequenz $\underline{u} = (1, 0, 1, 1, 0, 0, \ ...)$ auszugehen ist.

Hinweis:


Fragebogen

1

In welchen Codeparametern unterscheiden sich Coder A und Coder B?

$k$: Anzahl der pro Codierschritt verarbeiteten Informationsbits,
$n$: Anzahl der pro Codierschritt ausgegebenen Codebits,
$m$: Gedächtnisordnung des Codes bzw. des Coders,
$\nu$: Einflusslänge des Codes.

2

Welcher Coder weist das Gedächtnis $m = 2$ auf?

Coder A,
Coder B.

3

Wie lautet die Teilcodesequenz $\underline {x}^{(1)}$ von Coder B für $\underline {u} = (1, 0, 1, 1, 0, 0, \ ...)$?

$\underline {x}^{(1)} = (1, 1, 0, 0, 0, 1, 0, 0, \ ...)$,
$\underline {x}^{(1)} = (1, 0, 1, 1, 0, 0, 0, 0, \ ...)$.

4

Wie lautet die Teilcodesequenz $\underline{x}^{(2)}$ von Coder B für $\underline {u} = (1, 0, 1, 1, 0, 0, \ ...)$

$\underline{x}^{(2)} = (1, 1, 0, 0, 0, 1, 0, 0, \ ...)$,
$\underline{x}^{(2)} = (1, 0, 0, 1, 1, 1, 0, 0, \ ...)$.

5

Wie beginnt die gesamte Codesequenz $\underline {x}$ von Coder B nach Multiplexing?

$\underline {x} = (1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, \ ...)$,
$\underline {x} = (1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, \ ...)$.


Musterlösung

(1)  Für beide Coder gilt $k = 1$ und $n = 2$. Das Gedächtnis $m$ und die Einflusslänge $\nu$ sind unterschiedlich ⇒ Antworten 3 und 4.


(2)  Das Schieberegister von Coder A beinhaltet zwar zwei Speicherzellen. Da aber $x_i^{(1)} = u_i$ ist und $x_i^{(2)} = u_i + u_{i–1}$ außer vom aktuellen Informationsbit $u_i$ nur noch vom unmittelbar vorherigen Bit $u_{i–1}$ beeinflusst wird, ist das Gedächtnis $m = 1$ und die Einflusslänge $\nu = m + 1 = 2$.

Äquivalente Coder–Darstellungen

Die Grafik zeigt die beiden Coder in anderer Darstellung, wobei die „Gedächtnis–Speicherzellen” gelb hinterlegt sind. Beim Coder A erkennt man nur einen solchen Speicher ⇒ $m = 1$. Dagegen gilt für den Coder B tatsächlich $m = 2$ und $\nu = 3$.


(3)  Für den oberen Ausgang von Coder B gilt allgemein:

$$x_i^{(1)} = u_{i} + u_{i-1}+ u_{i-2} \hspace{0.05cm}.$$

Unter Berücksichtigung der Vorbelegung ($u_0 = u_{–1} = 0$) erhält man mit den obigen Angaben:

$$x_1^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1} + u_{0}+ u_{-1} = 1+0+0 = 1 \hspace{0.05cm},\hspace{0.2cm}x_2^{(1)} = u_{2} + u_{1}+ u_{0} = 0+1+0 = 1\hspace{0.05cm},$$
$$x_3^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{3} + u_{2}+ u_{1} \hspace{0.25cm}= 1+0+1 = 0 \hspace{0.05cm},\hspace{0.2cm}x_4^{(1)} = u_{4} + u_{3}+ u_{2} = 1+1+0 = 0\hspace{0.05cm},$$
$$x_5^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{5} + u_{4}+ u_{3} \hspace{0.25cm}= 0+1+1 = 0 \hspace{0.05cm},\hspace{0.2cm}x_6^{(1)} = u_{6} + u_{5}+ u_{4} = 0+0+1 = 1\hspace{0.05cm},$$
$$x_7^{(1)} \hspace{-0.15cm} & = & \hspace{-0.15cm} x_8^{(1)} = ... \hspace{0.05cm}= 0 \hspace{0.05cm}.$$

Richtig ist somit der Lösungsvorschlag 1. Der zweite Lösungsvorschlag ⇒ $\underline {x}^{(1)} = \underline {u}$ würde dagegen nur bei einem systematischen Code gelten (der hier nicht vorliegt).


(4)  Analog zur Teilaufgabe (3) erhält man mit $x_i^{(2)} = u_i + u_{i–2}$:

$$x_1^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} 1+0 = 1 \hspace{0.05cm},\hspace{0.2cm}x_2^{(2)} = 0+0 = 0\hspace{0.05cm}, \hspace{0.2cm}x_3^{(3)} = 1+1 = 0\hspace{0.05cm},\hspace{0.2cm}x_4^{(2)} = 1+0 = 1 \hspace{0.05cm},$$
$$x_5^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} 0+1 = 1\hspace{0.05cm}, \hspace{0.2cm}x_6^{(2)} = 0+1 = 1\hspace{0.05cm},\hspace{0.2cm} x_7^{(2)} = x_8^{(2)} = ... \hspace{0.05cm}= 0 \hspace{0.05cm}.$$

Richtig ist demnach der Lösungsvorschlag 2.


(5)  Für die (gesamte) Codesequenz kann man formal schreiben:

$$\underline{\it x} = \big( \hspace{0.05cm}\underline{\it x}_1\hspace{0.05cm}, \hspace{0.05cm} \underline{\it x}_2\hspace{0.05cm}, \hspace{0.05cm}...\hspace{0.05cm} \underline{\it x}_i \hspace{0.05cm}, ... \hspace{0.05cm} \big )\hspace{0.05cm}, \hspace{0.3cm} \underline{\it x}_i = \big( x_i^{(1)}\hspace{0.05cm}, x_i^{(2)} \big) \hspace{0.4cm}\Rightarrow \hspace{0.4cm} \underline{\it x} = \big( \hspace{0.05cm}x_1^{(1)}\hspace{0.01cm},\hspace{0.05cm} x_2^{(1)}\hspace{0.01cm},\hspace{0.05cm} x_1^{(2)}\hspace{0.01cm},\hspace{0.05cm} x_2^{(2)}\hspace{0.01cm}, \hspace{0.05cm} ... \hspace{0.05cm} \big )\hspace{0.05cm}. $$

Ein Vergleich mit den Lösungen der Aufgaben (3) und (4) zeigt die Richtigkeit von Lösungsvorschlag 1.