Difference between revisions of "Aufgaben:Exercise 4.08Z: Basics about Interleaving"

From LNTwww
Line 4: Line 4:
 
Interleaving is required, for example, for a channel with burst error characteristics in order to distribute the errors within the burst over a sufficiently large area so that they can subsequently be largely corrected (or at least detected).
 
Interleaving is required, for example, for a channel with burst error characteristics in order to distribute the errors within the burst over a sufficiently large area so that they can subsequently be largely corrected (or at least detected).
  
Für Turbocodes, die auf so genannten &nbsp;'''RSC&ndash;Coder'''&nbsp; (<i>Recursive Systematic Convolutional Encoder</i>)&nbsp; basieren &ndash; und nur solche machen Sinn &ndash; ist <i>Interleaving</i> auch beim AWGN&ndash;Kanal essentiell, da es dann auch stets (einige) Eingangssequenzen gibt, die in der Ausgangsfolge nach etlichen Einsen nur noch Nullen liefern, und zwar bis ins Unendliche &nbsp; &#8658; &nbsp; es gibt Ausgangsfolgen mit sehr kleinem Hamming&ndash;Gewicht.
+
For turbo codes based on so-called &nbsp;'''RSC&ndash;Coder'''&nbsp; (<i>Recursive Systematic Convolutional Encoder</i>)&nbsp; &ndash; and only such make sense &ndash; <i>interleaving</i> is essential also with the AWGN channel, because then there are also always (some) input sequences, which deliver only zeros in the output sequence after quite a few ones, and that to infinity &nbsp; &#8658; &nbsp; there are output sequences with very small Hamming weight.
  
Verteilt man im zweiten Coder die Bits solcher Eingangssequenzen über einen weiten Bereich, so kann bei iterativer symbolweiser Decodierung das Problem durch das Zusammenspiel beider Komponentendecoder (weitgehend) beseitigt werden.
+
If the bits of such input sequences are distributed over a wide range in the second coder, the problem can be (largely) eliminated by the interaction of both component decoders in the case of iterative symbol-wise decoding.
  
Man unterscheidet allgemein zwischen
+
A general distinction is made between
* '''Block&ndash;Interleaver''' und
+
* '''Block interleaver''' and
* '''Random&ndash;Interleaver'''.  
+
* '''Random interleaver'''.  
  
  
Bei <i>Block&ndash;Interleaving</i>&nbsp; füllt man eine Matrix mit&nbsp; $S$&nbsp; Spalten und&nbsp; $Z$&nbsp; Zeilen spaltenweise und liest die Matrix zeilenweise aus. Damit wird ein Informationsblock mit&nbsp; $I_{\rm max} = S \cdot Z$&nbsp; Bit deterministisch verwürfelt.
+
In <i>block interleaving</i>&nbsp; one fills a matrix with&nbsp; $S$&nbsp; columns and&nbsp; $Z$&nbsp; rows column by column and reads the matrix row by row. This deterministically scrambles a block of information with&nbsp; $I_{\rm max} = S \cdot Z$&nbsp; bits.
  
Rechts sind zwei Interleaver angegeben und zwar in grafischer Form durch die Zuordnung&nbsp; $I_{\rm Out}(I_{\rm In})$. Diese Größen stehen für den "Index der Ausgangsfolge" bzw. für den "Index der Eingangsfolge". Es gilt:
+
On the right, two interleavers are indicated and in graphical form by the assignment&nbsp; $I_{\rm Out}(I_{\rm In})$. These quantities represent the "index of the output sequence" and the "index of the input sequence", respectively. It holds:
 
:$$1 \le I_{\rm Out} \le I_{\rm max} \hspace{0.05cm}, \hspace{0.5cm}
 
:$$1 \le I_{\rm Out} \le I_{\rm max} \hspace{0.05cm}, \hspace{0.5cm}
 
1 \le I_{\rm In} \le I_{\rm max} \hspace{0.05cm}. $$
 
1 \le I_{\rm In} \le I_{\rm max} \hspace{0.05cm}. $$
  
In der Teilaufgabe&nbsp; '''(1)'''&nbsp; ist gefragt, ob es sich hierbei um&nbsp; <i>Block&ndash;Interleaving</i>&nbsp; oder um&nbsp; <i>Random Interleaving</i> &nbsp;handelt. Letztere werden im&nbsp; [[Channel_Coding/Grundlegendes_zu_den_Turbocodes#Zweite_Voraussetzung_f.C3.BCr_Turbocodes:_Interleaving|Theorieteil]]&nbsp; allerdings nur in aller Kürze besprochen.
+
In the subtask&nbsp; '''(1)'''&nbsp; it is asked whether this is&nbsp; <i>block interleaving</i>&nbsp; oor&nbsp; <i>random interleaving</i> &nbsp;. Letztere werden im&nbsp; [[Channel_Coding/The_Basics_of_Turbo_Codes#Second_requirement_for_turbo_codes:_Interleaving|"Theorieteil"]]&nbsp; allerdings nur in aller Kürze besprochen.
  
  

Revision as of 20:44, 28 November 2022

Interleaver description

Interleaving is required, for example, for a channel with burst error characteristics in order to distribute the errors within the burst over a sufficiently large area so that they can subsequently be largely corrected (or at least detected).

For turbo codes based on so-called  RSC–Coder  (Recursive Systematic Convolutional Encoder)  – and only such make sense – interleaving is essential also with the AWGN channel, because then there are also always (some) input sequences, which deliver only zeros in the output sequence after quite a few ones, and that to infinity   ⇒   there are output sequences with very small Hamming weight.

If the bits of such input sequences are distributed over a wide range in the second coder, the problem can be (largely) eliminated by the interaction of both component decoders in the case of iterative symbol-wise decoding.

A general distinction is made between

  • Block interleaver and
  • Random interleaver.


In block interleaving  one fills a matrix with  $S$  columns and  $Z$  rows column by column and reads the matrix row by row. This deterministically scrambles a block of information with  $I_{\rm max} = S \cdot Z$  bits.

On the right, two interleavers are indicated and in graphical form by the assignment  $I_{\rm Out}(I_{\rm In})$. These quantities represent the "index of the output sequence" and the "index of the input sequence", respectively. It holds:

$$1 \le I_{\rm Out} \le I_{\rm max} \hspace{0.05cm}, \hspace{0.5cm} 1 \le I_{\rm In} \le I_{\rm max} \hspace{0.05cm}. $$

In the subtask  (1)  it is asked whether this is  block interleaving  oor  random interleaving  . Letztere werden im  "Theorieteil"  allerdings nur in aller Kürze besprochen.



Hinweis:

  • Aber auch in anderen $\rm LNTwww$–Büchern wird Interleaving behandelt, unter anderem im Buch "Beispiele von Nachrichtensystemen" mit Bezug zum



Fragebogen

1

Welche Interleaver–Art ist in der Grafik auf der Angabenseite dargestellt?

Block–Interleaving,
Random–Interleaving.

2

Wieviele Zeilen  ($Z$)  und Spalten  ($S$)  hat die obere "Interleaver–Matrix 1"?

$Z \ = \ $

$S \ = \ $

3

Es gelte  $\underline{u} = (1001'0001'1101'1101'0010'0111)$. Wie beginnt die verwürfelte Folge  $\underline{u}_{\pi}$?
    Hinweis:   Die Hochkommata dienen nur als Lesehilfe.

$\underline{u}_{\pi} = (110'100'100'011'111'110'010'001' \text{...}\ )$,
$\underline{u}_{\pi} = (101'001'000'111'100'101'011'101'\text{...}\ )$.

4

Die verwürfelte Folge sei  $\underline{u}_{\pi} = (100'100'011'101'110'100'100'111)$. Wie lautet die Folge nach dem De–Interleaving?

$\underline{u} = (1101'0010'0011'1111'1001'0001'\text{...}\ )$,
$\underline{u} = (1010'0100'0111'1001'0101'1101' \text{...}\ )$.


Musterlösung

4×3–Interleaver–Matrix

(1)  Aus der regelmäßigen Struktur der Funktion $I_{\rm Out}(I_{\rm In})$ erkennt man, dass es sich um einen Blockinterleaver handelt  ⇒  Antwort 1.


(2)  Der Index "1" wird als erstes Zeichen ausgegeben. Weiter gilt:

  • Der Index 5 wird als zweites Zeichen ausgegeben  ⇒  $\underline{Z = 4}$.
  • Der Index 2 wird als viertes Zeichen ausgegeben  ⇒  $\underline{S = 3}$.


Die obere Grafik zeigt für die 4×3–Interleaver–Matrix:

  • das spaltenweise Beschreiben (rot),
  • das zeilenweise Auslesen (grün).


Zum Interleaving

(3)  Richtig ist der der Lösungsvorschlag 2:

  • Die Matrix wird spaltenweise beschrieben und zeilenweise ausgelesen.
  • Nach 12 Bit wird die Matrix gelöscht und die Prozedur beginnt von Neuem.
  • Die Grafik zeigt, dass nun der Lösungsvorschlag 2 richtig ist.


Zum De–Interleaving

(4)  Richtig ist der der Lösungsvorschlag 1:

  • Beim De–Interleaving wird die Matrix zeilenweise beschrieben und spaltenweise ausgelesen.
  • Die Grafik zeigt, dass hier der Lösungsvorschlag 1 richtig ist.