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

Aus LNTwww
Wechseln zu:Navigation, Suche
 
(5 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 C0 mit der Rate R0=1/n werden durch verschiedene Punktierungsmatrizen Pl andere Codes Cl mit höherer Coderate Rl>R0 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; C0&nbsp; mit der Rate&nbsp; R0=1/n&nbsp; werden durch verschiedene Punktierungsmatrizen&nbsp; Pl&nbsp; andere Codes&nbsp; Cl&nbsp; mit höherer Coderate&nbsp; $(R_l > R_0)$ festgelegt.
  
Rechts sind die zu analysierenden Punktierungsmatrizen P0, ..., P4 dargestellt.  
+
Rechts sind die zu analysierenden Punktierungsmatrizen&nbsp; P0, ..., P4&nbsp; dargestellt.  
*Ist bei der Matrix Pl das Matrixelement Pij=1, so wird das entsprechende Codebit übertragen, während Pij=0 auf eine Punktierung hinweist.  
+
*Ist bei der Matrix&nbsp; Pl&nbsp; das Matrixelement&nbsp; Pij=1, so wird das entsprechende Codebit übertragen, während&nbsp; Pij=0&nbsp; auf eine Punktierung hinweist.  
*Im Fragebogen verwenden wir für das Element Pij der Matrix Pl auch die kürzere Schreibweise P(l)ij.
+
*Im Fragebogen verwenden wir für das Element&nbsp; Pij&nbsp; der Matrix&nbsp; Pl&nbsp; auch die kürzere Schreibweise&nbsp; P(l)ij.
  
  
In derGrafik sind alle die Nullen in der Matrix Pl 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 Rl vergrößert.
+
In der Grafik sind alle die Nullen in der Matrix&nbsp; Pl&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 x_(0) Bits entsprechend der Punktierungsmatrix Pl weggelassen werden und das verkürzte Codewort x_(l) übertragen wird:  
+
Unter &bdquo;Systemen mit inkrementeller Redundanz&rdquo; versteht man, dass nach der herkömmlichen Faltungscodierung aus dem Codewort&nbsp; x_(0)&nbsp; Bits entsprechend der Punktierungsmatrix&nbsp; Pl&nbsp; weggelassen werden und das verkürzte Codewort&nbsp; 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]]
 
[[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. 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 LNTwww&ndash;Projekts während der ersten Jahre.
+
* 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&nbsp; $\rm LNTwww$&ndash;Projekts während der ersten sechs Jahre.
  
  
Zeile 38: Zeile 46:
 
{Welche Aussagen liefern die vorgegeben Punktierungsmatrizen?
 
{Welche Aussagen liefern die vorgegeben Punktierungsmatrizen?
 
|type="[]"}
 
|type="[]"}
+ Die Rate des RCPC&ndash;Muttercodes ist R0=1/3.
+
+ Die Rate des RCPC&ndash;Muttercodes ist&nbsp; R0=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 $C_1, \ ... \ , \ 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{:} \, R_1 \ = \ ${ 0.4 3% }  
+
${\rm Matrix \ P_1} \Rightarrow {\rm Code \ \mathcal{C}_1} \text{:} \hspace{0.4cm} R_1 \ = \ ${ 0.4 3% }  
${\rm Matrix \ P_2} \Rightarrow {\rm Code \ \mathcal{C}_2} \text{:} \, R_2 \ = \ ${ 0.5 3% }  
+
${\rm Matrix \ P_2} \Rightarrow {\rm Code \ \mathcal{C}_2} \text{:} \hspace{0.4cm}R_2 \ = \ ${ 0.5 3% }  
${\rm Matrix \ P_3} \Rightarrow {\rm Code \ \mathcal{C}_3} \text{:} \, R_3 \ = \ ${ 0.667 3% }  
+
${\rm Matrix \ P_3} \Rightarrow {\rm Code \ \mathcal{C}_3} \text{:} \hspace{0.4cm} R_3 \ = \ ${ 0.667 3% }  
${\rm Matrix \ P_4} \Rightarrow {\rm Code \ \mathcal{C}_4} \text{:} \, R_4 \ = \ ${ 0.889 3% }  
+
${\rm Matrix \ P_4} \Rightarrow {\rm Code \ \mathcal{C}_4} \text{:} \hspace{0.4cm} R_4 \ = \ ${ 0.889 3% }  
  
 
{Welche Aussagen gelten für die Matrixelemente P(l)ij?
 
{Welche Aussagen gelten für die Matrixelemente P(l)ij?
 
|type="[]"}
 
|type="[]"}
+ Aus P(l)ij=1 folgt P(λ)ij=1 für alle λ<l.
+
+ Aus&nbsp; P(l)ij=1&nbsp; folgt&nbsp; P(λ)ij=1&nbsp; für alle&nbsp; λ<l.
- Aus P(l)ij=1 folgt P(λ)ij=1 für alle λ>l.
+
- Aus&nbsp; P(l)ij=1&nbsp; folgt&nbsp; P(λ)ij=1&nbsp; für alle&nbsp; λ>l.
- Aus P(l)ij=0 folgt P(λ)ij=0 für alle λ<l.
+
- Aus&nbsp; P(l)ij=0&nbsp; folgt&nbsp; P(λ)ij=0&nbsp; für alle&nbsp; λ<l.
+ Aus P(l)ij=0 folgt P(λ)ij=0 für alle λ>l.
+
+ Aus&nbsp; P(l)ij=0&nbsp; folgt&nbsp; P(λ)ij=0&nbsp; für alle&nbsp; λ>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 R0=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 R0=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,wobeiN_ldieAnzahlallerEinseninderPunktierungsmatrix\mathbf{P}_lundp$ die Punktierungsperiode bezeichnet:
+
'''(2)'''&nbsp; Für die Rate des Codes $\mathcal{C}_l = p/N_l,wobeiN_ldieAnzahlallerEinseninderPunktierungsmatrix\mathbf{P}_lundp$ die Punktierungsperiode bezeichnet. Ausgehend von der Rate $R_0 = 1/3desMuttercodes\mathcal{C}_0$ erhält man:
* $R_0 = 8/24 = 1/3 = \underline{0.333}$,
 
 
* R1=8/20=2/5=0.400_,
 
* R1=8/20=2/5=0.400_,
 
* R2=8/16=1/2=0.500_,
 
* R2=8/16=1/2=0.500_,
Zeile 70: Zeile 80:
  
  
'''(3)'''&nbsp; Alle Einsen in der Matrix P4 sind auch in den darüber liegenden Matrizen P3, ... , P0 enthalten. In der Matrix P3 kommen gegenüber P4 drei Einsen hinzu, in der Matrix P2 gegenüber P3 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 P4 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 P3 kommen gegenüber P4 drei Einsen hinzu, in der Matrix P2 gegenüber P3 nochmals vier, usw.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  

Aktuelle Version vom 7. Juni 2019, 17: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  C0  mit der Rate  R0=1/n  werden durch verschiedene Punktierungsmatrizen  Pl  andere Codes  Cl  mit höherer Coderate  (Rl>R0) festgelegt.

Rechts sind die zu analysierenden Punktierungsmatrizen  P0, ..., P4  dargestellt.

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


In der Grafik sind alle die Nullen in der Matrix  Pl  rot markiert, die in der Matrix  Pl1  noch Einsen waren. Durch diese Maßnahme wird die Coderate  Rl  gegenüber  Rl1  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  x_(0)  Bits entsprechend der Punktierungsmatrix  Pl  weggelassen werden und das verkürzte Codewort  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  LNTwww–Projekts während der ersten sechs Jahre.




Fragebogen

1

Welche Aussagen liefern die vorgegeben Punktierungsmatrizen?

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

2

Welche Coderaten weisen die Codes  C1, ... , C4  auf?

Matrix P1Code C1:R1 = 

Matrix P2Code C2:R2 = 

Matrix P3Code C3:R3 = 

Matrix P4Code C4:R4 = 

3

Welche Aussagen gelten für die Matrixelemente P(l)ij?

Aus  P(l)ij=1  folgt  P(λ)ij=1  für alle  λ<l.
Aus  P(l)ij=1  folgt  P(λ)ij=1  für alle  λ>l.
Aus  P(l)ij=0  folgt  P(λ)ij=0  für alle  λ<l.
Aus  P(l)ij=0  folgt  P(λ)ij=0  für alle  λ>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 R0=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 Cl=p/Nl, wobei Nl die Anzahl aller Einsen in der Punktierungsmatrix Pl und p die Punktierungsperiode bezeichnet. Ausgehend von der Rate R0=1/3 des Muttercodes C0 erhält man:

  • R1=8/20=2/5=0.400_,
  • R2=8/16=1/2=0.500_,
  • R3=8/12=2/3=0.667_,
  • R4=8/9=0.889_.


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

  • Alle Einsen in der Matrix P4 sind auch in den darüber liegenden Matrizen P3, ..., P0 enthalten.
  • In der Matrix P3 kommen gegenüber P4 drei Einsen hinzu, in der Matrix P2 gegenüber P3 nochmals vier, usw.