Aufgaben:Aufgabe 3.8: Rate Compatible Punctured Convolutional Codes: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
 
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
  
 
[[Datei:P_ID2708__KC_A_3_8.png|right|frame|RCPC–Punktierungsmatrizen]]
 
[[Datei:P_ID2708__KC_A_3_8.png|right|frame|RCPC–Punktierungsmatrizen]]
Eine wichtige Anwendung für [[Kanalcodierung/Codebeschreibung_mit_Zustands%E2%80%93_und_Trellisdiagramm#Punktierte_Faltungscodes| punktierte Faltungscodes]] sind die <i>Rate Compatible Punctured Convolutional Codes</i> (oder kurz RCPC&ndash;Codes), die von [[Biografien_und_Bibliografien/Lehrstuhlinhaber_des_LNT#Prof._Dr.-Ing._Dr.-Ing._E.h._Joachim_Hagenauer_.281993-2006.29|Joachim Hagenauer]]  in  [Hag88] vorgeschlagen wurden. Ausgehend von einem Muttercode $\mathcal{C}_0$ mit der Rate $R_0 = 1/n$ werden durch verschiedene Punktierungsmatrizen $\mathbf{P}_l$ andere Codes $\mathcal{C}_l$ mit höherer Coderate $R_l > R_0$ festgelegt.
+
Eine wichtige Anwendung für&nbsp; [[Kanalcodierung/Codebeschreibung_mit_Zustands%E2%80%93_und_Trellisdiagramm#Punktierte_Faltungscodes| punktierte Faltungscodes]]&nbsp; sind die&nbsp; <i>Rate Compatible Punctured Convolutional Codes</i>&nbsp; (oder kurz '''RCPC&ndash;Codes'''), die von&nbsp; [[Biografien_und_Bibliografien/Lehrstuhlinhaber_des_LNT#Prof._Dr.-Ing._Dr.-Ing._E.h._Joachim_Hagenauer_.281993-2006.29|Joachim Hagenauer]]&nbsp; in  [Hag88] vorgeschlagen wurden. Ausgehend von einem Muttercode&nbsp; $\mathcal{C}_0$&nbsp; mit der Rate&nbsp; $R_0 = 1/n$&nbsp; werden durch verschiedene Punktierungsmatrizen&nbsp; $\mathbf{P}_l$&nbsp; andere Codes&nbsp; $\mathcal{C}_l$&nbsp; mit höherer Coderate&nbsp; $(R_l > R_0)$ festgelegt.
  
Rechts sind die zu analysierenden Punktierungsmatrizen $\mathbf{P}_0, \hspace{0.05cm}\text{ ...} \hspace{0.05cm} , \ \mathbf{P}_4$ dargestellt.  
+
Rechts sind die zu analysierenden Punktierungsmatrizen&nbsp; $\mathbf{P}_0, \hspace{0.05cm}\text{ ...} \hspace{0.05cm} , \ \mathbf{P}_4$&nbsp; dargestellt.  
*Ist bei der Matrix $\mathbf{P}_l$ das Matrixelement $P_{ij} = 1$, so wird das entsprechende Codebit übertragen, während $P_{ij} = 0$ auf eine Punktierung hinweist.  
+
*Ist bei der Matrix&nbsp; $\mathbf{P}_l$&nbsp; das Matrixelement&nbsp; $P_{ij} = 1$, so wird das entsprechende Codebit übertragen, während&nbsp; $P_{ij} = 0$&nbsp; auf eine Punktierung hinweist.  
*Im Fragebogen verwenden wir für das Element $P_{ij}$ der Matrix $\mathbf{P}_l$ auch die kürzere Schreibweise $P_{ij}^{(l)}$.
+
*Im Fragebogen verwenden wir für das Element&nbsp; $P_{ij}$&nbsp; der Matrix&nbsp; $\mathbf{P}_l$&nbsp; auch die kürzere Schreibweise&nbsp; $P_{ij}^{(l)}$.
  
  
In derGrafik sind alle die Nullen in der Matrix $\mathbf{P}_l$ rot markiert, die in der Matrix $\mathbf{P}_{l&ndash;1}$ noch Einsen waren. Durch diese Maßnahme wird die Coderate $R_{l&ndash;1}$ gegenüber $R_l$ vergrößert.
+
In der Grafik sind alle die Nullen in der Matrix&nbsp; $\mathbf{P}_l$&nbsp; rot markiert, die in der Matrix&nbsp; $\mathbf{P}_{l&ndash;1}$&nbsp; noch Einsen waren. Durch diese Maßnahme wird die Coderate&nbsp; $R_{l}$&nbsp; gegenüber&nbsp; $R_{l-1}$&nbsp; vergrößert.
  
 
Die RCPC&ndash;Codes eignen sich gut zur Realisierung von
 
Die RCPC&ndash;Codes eignen sich gut zur Realisierung von
* <i>ungleichem Fehlerschutz</i> für hybride ARQ&ndash;Verfahren,
+
* <i>ungleichem Fehlerschutz</i>&nbsp; für hybride ARQ&ndash;Verfahren,
* Systemen mit <i>inkrementeller Redundanz</i>.
+
* Systemen mit&nbsp; <i>inkrementeller Redundanz</i>.
  
  
Unter &bdquo;Systemen mit inkrementeller Redundanz&rdquo; versteht man, dass nach der herkömmlichen Faltungscodierung aus dem Codewort $\underline{x}^{(0)}$ Bits entsprechend der Punktierungsmatrix $\mathbf{P}_l$ weggelassen werden und das verkürzte Codewort $\underline{x}^{(l)}$ übertragen wird:  
+
Unter &bdquo;Systemen mit inkrementeller Redundanz&rdquo; versteht man, dass nach der herkömmlichen Faltungscodierung aus dem Codewort&nbsp; $\underline{x}^{(0)}$&nbsp; Bits entsprechend der Punktierungsmatrix&nbsp; $\mathbf{P}_l$&nbsp; weggelassen werden und das verkürzte Codewort&nbsp; $\underline{x}^{(l)}$&nbsp; übertragen wird:  
 
*Kann das punktierte Codewort im Empfänger nicht korrekt decodiert werden, fordert der Empfänger vom Sender weitere Redundanz in Form der zuvor auspunktierten Bits an.  
 
*Kann das punktierte Codewort im Empfänger nicht korrekt decodiert werden, fordert der Empfänger vom Sender weitere Redundanz in Form der zuvor auspunktierten Bits an.  
 
*Somit wird die Übertragung von nicht benötigter Redundanz verhindert und der Durchsatz an die Kanalgegebenheiten angepasst.
 
*Somit wird die Übertragung von nicht benötigter Redundanz verhindert und der Durchsatz an die Kanalgegebenheiten angepasst.
 +
 +
 +
 +
 +
[[Datei:P_ID2709__hagenauer_kleiner.jpg|left|frame|Joachim Hagenauer]]
  
  
Zeile 25: Zeile 30:
  
  
[[Datei:P_ID2709__hagenauer_kleiner.jpg|left|frame|Joachim Hagenauer]]
 
 
''Hinweise:''
 
''Hinweise:''
* Die Aufgabe bezieht sich auf den Abschnitt  [[Kanalcodierung/Codebeschreibung_mit_Zustands%E2%80%93_und_Trellisdiagramm#Punktierte_Faltungscodes|Punktierte Faltungscodes]] im Kapitel &bdquo;Codebeschreibung mit Zustands&ndash; und Trellisdiagramm&rdquo;.
+
* Die Aufgabe bezieht sich auf den Abschnitt&nbsp; [[Kanalcodierung/Codebeschreibung_mit_Zustands%E2%80%93_und_Trellisdiagramm#Punktierte_Faltungscodes|Punktierte Faltungscodes]]&nbsp; im Kapitel &bdquo;Codebeschreibung mit Zustands&ndash; und Trellisdiagramm&rdquo;.
* Sollte die Eingabe des Zahlenwertes &bdquo;0&rdquo; erforderlich sein, so geben Sie bitte &bdquo;0.&rdquo; ein.
+
 
*Die Literaturstelle [Hag88] verweist auf das Paper &bdquo;Hagenauer, J.: ''Rate Compatible Punctured Convolutional Codes (RCPC codes) and their Applications''. In: IEEE Transactions on Communications, vol COM-36, S. 389 - 400, 1988&rdquo;.
 
*Die Literaturstelle [Hag88] verweist auf das Paper &bdquo;Hagenauer, J.: ''Rate Compatible Punctured Convolutional Codes (RCPC codes) and their Applications''. In: IEEE Transactions on Communications, vol COM-36, S. 389 - 400, 1988&rdquo;.
* Professor [[Biografien_und_Bibliografien/Lehrstuhlinhaber_des_LNT#Prof._Dr.-Ing._Dr.-Ing._E.h._Joachim_Hagenauer_.281993-2006.29| Joachim Hagenauer]] war von 1993 bis 2006 Leiter des Lehrstuhls für Nachrichtentechnik (LNT) der Technischen Universität München.  
+
* Professor&nbsp; [[Biografien_und_Bibliografien/Lehrstuhlinhaber_des_LNT#Prof._Dr.-Ing._Dr.-Ing._E.h._Joachim_Hagenauer_.281993-2006.29| Joachim Hagenauer]]&nbsp; war von 1993 bis 2006 Leiter des Lehrstuhls für Nachrichtentechnik (LNT) der Technischen Universität München.  
*Die Initiatoren des von Ihnen gerade genutzten Lerntutorials &ndash; Günter Söder und Klaus Eichin &ndash; danken ihrem langjährigen Chef für die Unterstützung und Förderung unseres $\rm LNTwww$&ndash;Projekts während der ersten Jahre.
+
*Die Initiatoren des von Ihnen gerade genutzten Lerntutorials &ndash; Günter Söder und Klaus Eichin &ndash; danken ihrem langjährigen Chef für die Unterstützung und Förderung unseres&nbsp; $\rm LNTwww$&ndash;Projekts während der ersten sechs Jahre.
  
  
Zeile 42: Zeile 46:
 
{Welche Aussagen liefern die vorgegeben Punktierungsmatrizen?
 
{Welche Aussagen liefern die vorgegeben Punktierungsmatrizen?
 
|type="[]"}
 
|type="[]"}
+ Die Rate des RCPC&ndash;Muttercodes ist $R_0 = 1/3$.
+
+ Die Rate des RCPC&ndash;Muttercodes ist&nbsp; $R_0 = 1/3$.
+ Die Punktierungsperiode ist $p = 8$.
+
+ Die Punktierungsperiode ist&nbsp; $p = 8$.
- Das Gedächtnis der RCPC&ndash;Codeklasse ist $M = 4$.
+
- Das Gedächtnis der RCPC&ndash;Codeklasse ist&nbsp; $M = 4$.
  
{Welche Coderaten weisen die Codes $\mathcal{C}_1$, ... , $\mathcal{C}_4$ auf?
+
{Welche Coderaten weisen die Codes&nbsp; $\mathcal{C}_1$, ... , $\mathcal{C}_4$&nbsp; auf?
 
|type="{}"}
 
|type="{}"}
 
${\rm Matrix \ P_1} \Rightarrow {\rm Code \ \mathcal{C}_1} \text{:} \hspace{0.4cm} R_1 \ = \ ${ 0.4 3% }  
 
${\rm Matrix \ P_1} \Rightarrow {\rm Code \ \mathcal{C}_1} \text{:} \hspace{0.4cm} R_1 \ = \ ${ 0.4 3% }  
Zeile 55: Zeile 59:
 
{Welche Aussagen gelten für die Matrixelemente $P_{ij}^{(l)}$?
 
{Welche Aussagen gelten für die Matrixelemente $P_{ij}^{(l)}$?
 
|type="[]"}
 
|type="[]"}
+ Aus $P_{ij}^{(l)} = 1$ folgt $P_{ij}^{(\lambda)} = 1$ für alle $\lambda < l$.
+
+ Aus&nbsp; $P_{ij}^{(l)} = 1$&nbsp; folgt&nbsp; $P_{ij}^{(\lambda)} = 1$&nbsp; für alle&nbsp; $\lambda < l$.
- Aus $P_{ij}^{(l)} = 1$ folgt $P_{ij}^{(\lambda)} = 1$ für alle $\lambda > l$.
+
- Aus&nbsp; $P_{ij}^{(l)} = 1$&nbsp; folgt&nbsp; $P_{ij}^{(\lambda)} = 1$&nbsp; für alle&nbsp; $\lambda > l$.
- Aus $P_{ij}^{(l)} = 0$ folgt $P_{ij}^{(\lambda)} = 0$ für alle $\lambda < l$.
+
- Aus&nbsp; $P_{ij}^{(l)} = 0$&nbsp; folgt&nbsp; $P_{ij}^{(\lambda)} = 0$&nbsp; für alle&nbsp; $\lambda < l$.
+ Aus $P_{ij}^{(l)} = 0$ folgt $P_{ij}^{(\lambda)} = 0$ für alle $\lambda > l$.
+
+ Aus&nbsp; $P_{ij}^{(l)} = 0$&nbsp; folgt&nbsp; $P_{ij}^{(\lambda)} = 0$&nbsp; für alle&nbsp; $\lambda > l$.
 
</quiz>
 
</quiz>
  
 
===Musterlösung===
 
===Musterlösung===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Die Zeilenzahl der Punktierungsmatrizen gibt den Parameter $n$ des $(n, \ k = 1)$&ndash;RCPC&ndash;Muttercodes an. Daraus ergibt sich dessen Rate zu $R_0 = 1/3$. Die Spaltenzahl ist gleich der Punktierungsperiode $p$. Bei der betrachteten Codeklasse gilt $p = 8$. Dagegen liefern die Punktierungsmatrizen keine Aussagen über das Gedächtnis des Codes &nbsp;&#8658;&nbsp; <u>Lösungsvorschlag 1 und 2</u>.
+
'''(1)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 1 und 2</u>:
 +
*Die Zeilenzahl der Punktierungsmatrizen gibt den Parameter $n$ des $(n, \ k = 1)$&ndash;RCPC&ndash;Muttercodes an.  
 +
*Daraus ergibt sich dessen Rate zu $R_0 = 1/3$. Die Spaltenzahl ist gleich der Punktierungsperiode $p$. Bei der betrachteten Codeklasse gilt $p = 8$.
 +
* Dagegen liefern die Punktierungsmatrizen keine Aussagen über das Gedächtnis des Codes &nbsp;&#8658;&nbsp;  
  
  
'''(2)'''&nbsp; Für die Rate des Codes $C_l = p/N_l$, wobei $N_l$ die Anzahl aller Einsen in der Punktierungsmatrix $\mathbf{P}_l$ und $p$ die Punktierungsperiode bezeichnet:
+
'''(2)'''&nbsp; Für die Rate des Codes $\mathcal{C}_l = p/N_l$, wobei $N_l$ die Anzahl aller Einsen in der Punktierungsmatrix $\mathbf{P}_l$ und $p$ die Punktierungsperiode bezeichnet. Ausgehend von der Rate $R_0 = 1/3$ des Muttercodes $\mathcal{C}_0$ erhält man:
* $R_0 = 8/24 = 1/3 = \underline{0.333}$,
 
 
* $R_1 = 8/20 = 2/5 = \underline{0.400}$,
 
* $R_1 = 8/20 = 2/5 = \underline{0.400}$,
 
* $R_2 = 8/16 = 1/2 = \underline{0.500}$,
 
* $R_2 = 8/16 = 1/2 = \underline{0.500}$,
Zeile 74: Zeile 80:
  
  
'''(3)'''&nbsp; Alle Einsen in der Matrix $\mathbf{P}_4$ sind auch in den darüber liegenden Matrizen $\mathbf{P}_3, \ ... \ , \ \mathbf{P}_0$ enthalten. In der Matrix $\mathbf{P}_3$ kommen gegenüber $\mathbf{P}_4$ drei Einsen hinzu, in der Matrix $\mathbf{P}_2$ gegenüber $\mathbf{P}_3$ nochmals vier, usw. &#8658; Richtig sind die <u>Lösungsvorschläge 1 und 4</u>.
+
'''(3)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 1 und 4</u>:
 +
*Alle Einsen in der Matrix $\mathbf{P}_4$ sind auch in den darüber liegenden Matrizen $\mathbf{P}_3, \hspace{0.05cm}\text{ ...} \hspace{0.05cm}, \ \mathbf{P}_0$ enthalten.  
 +
*In der Matrix $\mathbf{P}_3$ kommen gegenüber $\mathbf{P}_4$ drei Einsen hinzu, in der Matrix $\mathbf{P}_2$ gegenüber $\mathbf{P}_3$ nochmals vier, usw.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  

Aktuelle Version vom 7. Juni 2019, 16:05 Uhr

RCPC–Punktierungsmatrizen

Eine wichtige Anwendung für  punktierte Faltungscodes  sind die  Rate Compatible Punctured Convolutional Codes  (oder kurz RCPC–Codes), die von  Joachim Hagenauer  in [Hag88] vorgeschlagen wurden. Ausgehend von einem Muttercode  $\mathcal{C}_0$  mit der Rate  $R_0 = 1/n$  werden durch verschiedene Punktierungsmatrizen  $\mathbf{P}_l$  andere Codes  $\mathcal{C}_l$  mit höherer Coderate  $(R_l > R_0)$ festgelegt.

Rechts sind die zu analysierenden Punktierungsmatrizen  $\mathbf{P}_0, \hspace{0.05cm}\text{ ...} \hspace{0.05cm} , \ \mathbf{P}_4$  dargestellt.

  • Ist bei der Matrix  $\mathbf{P}_l$  das Matrixelement  $P_{ij} = 1$, so wird das entsprechende Codebit übertragen, während  $P_{ij} = 0$  auf eine Punktierung hinweist.
  • Im Fragebogen verwenden wir für das Element  $P_{ij}$  der Matrix  $\mathbf{P}_l$  auch die kürzere Schreibweise  $P_{ij}^{(l)}$.


In der Grafik sind alle die Nullen in der Matrix  $\mathbf{P}_l$  rot markiert, die in der Matrix  $\mathbf{P}_{l–1}$  noch Einsen waren. Durch diese Maßnahme wird die Coderate  $R_{l}$  gegenüber  $R_{l-1}$  vergrößert.

Die RCPC–Codes eignen sich gut zur Realisierung von

  • ungleichem Fehlerschutz  für hybride ARQ–Verfahren,
  • Systemen mit  inkrementeller Redundanz.


Unter „Systemen mit inkrementeller Redundanz” versteht man, dass nach der herkömmlichen Faltungscodierung aus dem Codewort  $\underline{x}^{(0)}$  Bits entsprechend der Punktierungsmatrix  $\mathbf{P}_l$  weggelassen werden und das verkürzte Codewort  $\underline{x}^{(l)}$  übertragen wird:

  • Kann das punktierte Codewort im Empfänger nicht korrekt decodiert werden, fordert der Empfänger vom Sender weitere Redundanz in Form der zuvor auspunktierten Bits an.
  • Somit wird die Übertragung von nicht benötigter Redundanz verhindert und der Durchsatz an die Kanalgegebenheiten angepasst.



Joachim Hagenauer




Hinweise:

  • Die Aufgabe bezieht sich auf den Abschnitt  Punktierte Faltungscodes  im Kapitel „Codebeschreibung mit Zustands– und Trellisdiagramm”.
  • Die Literaturstelle [Hag88] verweist auf das Paper „Hagenauer, J.: Rate Compatible Punctured Convolutional Codes (RCPC codes) and their Applications. In: IEEE Transactions on Communications, vol COM-36, S. 389 - 400, 1988”.
  • Professor  Joachim Hagenauer  war von 1993 bis 2006 Leiter des Lehrstuhls für Nachrichtentechnik (LNT) der Technischen Universität München.
  • Die Initiatoren des von Ihnen gerade genutzten Lerntutorials – Günter Söder und Klaus Eichin – danken ihrem langjährigen Chef für die Unterstützung und Förderung unseres  $\rm LNTwww$–Projekts während der ersten sechs Jahre.




Fragebogen

1

Welche Aussagen liefern die vorgegeben Punktierungsmatrizen?

Die Rate des RCPC–Muttercodes ist  $R_0 = 1/3$.
Die Punktierungsperiode ist  $p = 8$.
Das Gedächtnis der RCPC–Codeklasse ist  $M = 4$.

2

Welche Coderaten weisen die Codes  $\mathcal{C}_1$, ... , $\mathcal{C}_4$  auf?

${\rm Matrix \ P_1} \Rightarrow {\rm Code \ \mathcal{C}_1} \text{:} \hspace{0.4cm} R_1 \ = \ $

${\rm Matrix \ P_2} \Rightarrow {\rm Code \ \mathcal{C}_2} \text{:} \hspace{0.4cm}R_2 \ = \ $

${\rm Matrix \ P_3} \Rightarrow {\rm Code \ \mathcal{C}_3} \text{:} \hspace{0.4cm} R_3 \ = \ $

${\rm Matrix \ P_4} \Rightarrow {\rm Code \ \mathcal{C}_4} \text{:} \hspace{0.4cm} R_4 \ = \ $

3

Welche Aussagen gelten für die Matrixelemente $P_{ij}^{(l)}$?

Aus  $P_{ij}^{(l)} = 1$  folgt  $P_{ij}^{(\lambda)} = 1$  für alle  $\lambda < l$.
Aus  $P_{ij}^{(l)} = 1$  folgt  $P_{ij}^{(\lambda)} = 1$  für alle  $\lambda > l$.
Aus  $P_{ij}^{(l)} = 0$  folgt  $P_{ij}^{(\lambda)} = 0$  für alle  $\lambda < l$.
Aus  $P_{ij}^{(l)} = 0$  folgt  $P_{ij}^{(\lambda)} = 0$  für alle  $\lambda > l$.


Musterlösung

(1)  Richtig sind die Lösungsvorschläge 1 und 2:

  • Die Zeilenzahl der Punktierungsmatrizen gibt den Parameter $n$ des $(n, \ k = 1)$–RCPC–Muttercodes an.
  • Daraus ergibt sich dessen Rate zu $R_0 = 1/3$. Die Spaltenzahl ist gleich der Punktierungsperiode $p$. Bei der betrachteten Codeklasse gilt $p = 8$.
  • Dagegen liefern die Punktierungsmatrizen keine Aussagen über das Gedächtnis des Codes  ⇒ 


(2)  Für die Rate des Codes $\mathcal{C}_l = p/N_l$, wobei $N_l$ die Anzahl aller Einsen in der Punktierungsmatrix $\mathbf{P}_l$ und $p$ die Punktierungsperiode bezeichnet. Ausgehend von der Rate $R_0 = 1/3$ des Muttercodes $\mathcal{C}_0$ erhält man:

  • $R_1 = 8/20 = 2/5 = \underline{0.400}$,
  • $R_2 = 8/16 = 1/2 = \underline{0.500}$,
  • $R_3 = 8/12 = 2/3 = \underline{0.667}$,
  • $R_4 = 8/9 = \underline{0.889}$.


(3)  Richtig sind die Lösungsvorschläge 1 und 4:

  • Alle Einsen in der Matrix $\mathbf{P}_4$ sind auch in den darüber liegenden Matrizen $\mathbf{P}_3, \hspace{0.05cm}\text{ ...} \hspace{0.05cm}, \ \mathbf{P}_0$ enthalten.
  • In der Matrix $\mathbf{P}_3$ kommen gegenüber $\mathbf{P}_4$ drei Einsen hinzu, in der Matrix $\mathbf{P}_2$ gegenüber $\mathbf{P}_3$ nochmals vier, usw.