Difference between revisions of "Aufgaben:Exercise 1.09Z: Extension and/or Puncturing"
From LNTwww
(Die Seite wurde neu angelegt: „{{quiz-Header|Buchseite=Kanalcodierung/Allgemeine Beschreibung linearer Blockcodes }} [[File:|right|]] ===Fragebogen=== <quiz display=simple> {Multiple-C…“) |
|||
Line 3: | Line 3: | ||
}} | }} | ||
− | [[File:|right|]] | + | [[File:P_ID2403__KC_Z_1_9.png|right|frame|Zur Erweiterung und Punktierung]] |
+ | Häufig kennt man einen Code, der für eine Anwendung als geeignet erscheint, dessen Coderate aber nicht exakt mit den Vorgaben übereinstimmt. | ||
+ | |||
+ | Zur Ratenanpassung gibt es verschiedene Möglichkeiten | ||
+ | |||
+ | *$\color{red}{\boldsymbol{\rm Erweiterung}}$ (englisch ''Extension''): Ausgehend vom $(n, k)$–Code, dessen Prüfmatrix '''H''' gegeben ist, erhält man einen $(n+1, k)$–Code, indem man die Prüfmatrix um eine Zeile und eine Spalte erweitert und die neuen Matrixelemente entsprechend der oberen Grafik mit Nullen und Einsen ergänzt. Man fügt ein neues Prüfbit | ||
+ | :$$x_{n+1} = x_1 \oplus x_2 \oplus ... \hspace{0.05cm} \oplus x_n$$ | ||
+ | hinzu und damit auch eine neue Prüfgleichung, die in '''H'''' berücksichtigt ist. | ||
+ | |||
+ | *$\color{red}{\boldsymbol{\rm Punktierung}}$ (englisch ''Puncturing''): Entsprechend der unteren Abbildung kommt man zu einem $(n–1, k)$–Code größerer Rate, wenn man auf ein Prüfbit und eine Prüfgleichung verzichtet, was gleichbedeutend damit ist, aus der Prüfmatrix '''H''' eine Zeile und eine Spalte zu streichen. | ||
+ | |||
+ | *$\color{red}{\boldsymbol{\rm Verkürzung}}$ (englisch Shortening): Verzichtet man anstelle eines Prüfbits auf ein Informationsbit, so ergibt sich ein $(n–1, k–1)$–Code kleinerer Rate. | ||
+ | |||
+ | In dieser Aufgabe sollen ausgehend von einem (5, 2)–Blockcode | ||
+ | |||
+ | :$$\mathcal{C} = \{ (0, 0, 0, 0, 0) \hspace{0.1cm}, (0, 1, 0, 1, 1) \hspace{0.1cm},(1, 0, 1, 1, 0) \hspace{0.1cm},(1, 1, 1, 0, 1) \}$$ | ||
+ | |||
+ | folgende Codes konstruiert und analysiert werden: | ||
+ | *ein (6, 2)–Code durch einmalige Erweiterung, | ||
+ | |||
+ | *ein (7, 2)–Code durch nochmalige Erweiterung, | ||
+ | |||
+ | *ein (4, 2)–Code durch Punktierung. | ||
+ | |||
+ | |||
+ | Die Prüfmatrix und die Generatormatrix des systematischen (5, 2)–Codes lauten: | ||
+ | |||
+ | :$${ \boldsymbol{\rm H}}_{(5, 2)} = \begin{pmatrix} 1 &0 &1 &0 &0\\ 1 &1 &0 &1 &0\\ 0 &1 &0 &0 &1 \end{pmatrix} \hspace{0.3cm} \Leftrightarrow\hspace{0.3cm} { \boldsymbol{\rm G}}_{(5, 2)} = \begin{pmatrix} 1 &0 &1 &1 &0\\ 0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$ | ||
+ | |||
+ | ''Hinweis'' : | ||
+ | |||
+ | Die Aufgabe bezieht sich auf das Kapitel [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes| Allgemeine Beschreibung linearer Blockcodes]]. In der [[Aufgaben:1.09_Erweiterter_Hamming–Code|Aufgabe 1.09]] wird beispielhaft gezeigt, wie aus dem (7, 4, 3)–Hamming–Code durch Erweiterung ein (8, 4, 4)–Code entsteht. | ||
===Fragebogen=== | ===Fragebogen=== |
Revision as of 19:43, 7 December 2017
Häufig kennt man einen Code, der für eine Anwendung als geeignet erscheint, dessen Coderate aber nicht exakt mit den Vorgaben übereinstimmt.
Zur Ratenanpassung gibt es verschiedene Möglichkeiten
- $\color{red}{\boldsymbol{\rm Erweiterung}}$ (englisch Extension): Ausgehend vom $(n, k)$–Code, dessen Prüfmatrix H gegeben ist, erhält man einen $(n+1, k)$–Code, indem man die Prüfmatrix um eine Zeile und eine Spalte erweitert und die neuen Matrixelemente entsprechend der oberen Grafik mit Nullen und Einsen ergänzt. Man fügt ein neues Prüfbit
- $$x_{n+1} = x_1 \oplus x_2 \oplus ... \hspace{0.05cm} \oplus x_n$$
hinzu und damit auch eine neue Prüfgleichung, die in H' berücksichtigt ist.
- $\color{red}{\boldsymbol{\rm Punktierung}}$ (englisch Puncturing): Entsprechend der unteren Abbildung kommt man zu einem $(n–1, k)$–Code größerer Rate, wenn man auf ein Prüfbit und eine Prüfgleichung verzichtet, was gleichbedeutend damit ist, aus der Prüfmatrix H eine Zeile und eine Spalte zu streichen.
- $\color{red}{\boldsymbol{\rm Verkürzung}}$ (englisch Shortening): Verzichtet man anstelle eines Prüfbits auf ein Informationsbit, so ergibt sich ein $(n–1, k–1)$–Code kleinerer Rate.
In dieser Aufgabe sollen ausgehend von einem (5, 2)–Blockcode
- $$\mathcal{C} = \{ (0, 0, 0, 0, 0) \hspace{0.1cm}, (0, 1, 0, 1, 1) \hspace{0.1cm},(1, 0, 1, 1, 0) \hspace{0.1cm},(1, 1, 1, 0, 1) \}$$
folgende Codes konstruiert und analysiert werden:
- ein (6, 2)–Code durch einmalige Erweiterung,
- ein (7, 2)–Code durch nochmalige Erweiterung,
- ein (4, 2)–Code durch Punktierung.
Die Prüfmatrix und die Generatormatrix des systematischen (5, 2)–Codes lauten:
- $${ \boldsymbol{\rm H}}_{(5, 2)} = \begin{pmatrix} 1 &0 &1 &0 &0\\ 1 &1 &0 &1 &0\\ 0 &1 &0 &0 &1 \end{pmatrix} \hspace{0.3cm} \Leftrightarrow\hspace{0.3cm} { \boldsymbol{\rm G}}_{(5, 2)} = \begin{pmatrix} 1 &0 &1 &1 &0\\ 0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
Hinweis :
Die Aufgabe bezieht sich auf das Kapitel Allgemeine Beschreibung linearer Blockcodes. In der Aufgabe 1.09 wird beispielhaft gezeigt, wie aus dem (7, 4, 3)–Hamming–Code durch Erweiterung ein (8, 4, 4)–Code entsteht.
Fragebogen
Musterlösung
1.
2.
3.
4.
5.
6.
7.