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

From LNTwww
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
[[File:P_ID3032__KC_Z_4_8_v3.png|right|frame|Interleaver description]]
 
[[File:P_ID3032__KC_Z_4_8_v3.png|right|frame|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).
+
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 &nbsp;'''RSC encoder'''&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.
+
For turbo codes based on so-called &nbsp;'''RSC encoder'''&nbsp; $($"Recursive Systematic Convolutional Encoder"$)$&nbsp; &ndash; and only such make sense &ndash; interleaving is essential also with the AWGN channel,&nbsp; because then there are also always $($some$)$ input sequences,&nbsp; which deliver only&nbsp; "zeros"&nbsp; in the output sequence after quite a few&nbsp; "ones",&nbsp; and that to infinity &nbsp; &#8658; &nbsp; 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.
+
If the bits of such input sequences are distributed over a wide range in the second encoder,&nbsp; 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  
 
A general distinction is made between  
* '''Block interleaver''' and
+
* '''block interleaver''' and
* '''Random interleaver'''.
 
  
 +
* '''random interleaver'''.
  
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.
 
  
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:
+
In block interleaving&nbsp; one fills a matrix with&nbsp; $N_{\rm C}$&nbsp; columns and&nbsp; $N_{\rm R}$&nbsp; rows column-by-column and reads the matrix row-by-row.&nbsp; This deterministically scrambles a block of information with&nbsp; $I_{\rm max} = N_{\rm C} \cdot N_{\rm R}$&nbsp; bits.
:$$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&nbsp; '''(1)'''&nbsp; it is asked whether this is&nbsp; <i>block interleaving</i>&nbsp; or&nbsp; <i>random interleaving</i> &nbsp;. The latter are discussed in the&nbsp; [[Channel_Coding/The_Basics_of_Turbo_Codes#Second_requirement_for_turbo_codes:_Interleaving|"theory section"]]&nbsp; but only very briefly.
+
On the right,&nbsp; two interleavers are indicated and in graphical form by the assignment&nbsp; $I_{\rm Out}(I_{\rm In})$.&nbsp; These quantities represent the&nbsp; "output sequence index"&nbsp; and the&nbsp; "input sequence index",&nbsp; respectively.&nbsp; It holds:
 +
:$$1 \le I_{\rm Out} \le I_{\rm max} \hspace{0.05cm},$$
 +
:$$1 \le I_{\rm In} \le I_{\rm max} \hspace{0.05cm}. $$
  
 +
In the subtask&nbsp; '''(1)'''&nbsp; it is asked whether this is&nbsp; "block interleaving"&nbsp; or&nbsp; "random interleaving".&nbsp; The latter are discussed in the&nbsp; [[Channel_Coding/The_Basics_of_Turbo_Codes#Second_requirement_for_turbo_codes:_Interleaving|"theory section"]]&nbsp; but only very briefly.
  
  
  
  
Hints:
 
* Die Aufgabe bezieht sich auf das Kapitel&nbsp; [[Channel_Coding/The_Basics_of_Turbo_Codes| "The Basics of Turbo Codes"]].
 
  
*But other $\rm LNTww$&ndash;books also discuss interleaving, including the book "Examples of Message Systems" with reference to the
+
<u>Hints:</u>
:* Standard&nbsp; <i>Digital Subscriber Line</i> (DSL) &nbsp; &#8658; &nbsp; [[Examples_of_Communication_Systems/Methods_to_Reduce_the_Bit_Error_Rate_in_DSL#Interleaving_und_De.E2.80.93Interleaving| "Interleaving and Deinterleaving"]],
+
* The exercise refers to the chapter&nbsp; [[Channel_Coding/The_Basics_of_Turbo_Codes| "Basics of Turbo Codes"]].
:* 2G mobile communication system&nbsp; GSM &nbsp; &#8658; &nbsp; [[Examples_of_Communication_Systems/Entire_GSM_Transmission_System#Komponenten_der_Sprach.E2.80.93_und_Daten.C3.BCbertragung| "Components of voice&ndash; and data transmission"]],
+
 
:* 3G mobile communication system&nbsp; UMTS &nbsp; &#8658; &nbsp; [[Examples_of_Communication_Systems/Telecommunications_Aspects_of_UMTS#Kanalcodierung_bei_UMTS| "Channel Coding"]],
+
*But other&nbsp; $\rm LNTwww$&nbsp; books also discuss interleaving,&nbsp; including the book&nbsp; "Examples of Communication Systems"&nbsp; with reference to the
:* 4G mobile communication system LTE &nbsp; &#8658; &nbsp; [[Mobile_Communications/The_Application_of_OFDMA_and_SC-FDMA_in_LTE#Functionality_of_SC-FDMA| "Funktionsweise von SC&ndash;FDMA"]]&nbsp; (in the book "Mobile Communications").
+
:* standard digital subscriber line</i> $\rm (DSL)$ &nbsp; &#8658; &nbsp; [[Examples_of_Communication_Systems/Methods_to_Reduce_the_Bit_Error_Rate_in_DSL#Interleaving_und_De.E2.80.93Interleaving| "Interleaving and Deinterleaving"]],
 +
:* 2G mobile communication system&nbsp; $\rm GSM$ &nbsp; &#8658; &nbsp; [[Examples_of_Communication_Systems/Entire_GSM_Transmission_System#Komponenten_der_Sprach.E2.80.93_und_Daten.C3.BCbertragung| "Components of voice and data transmission"]],
 +
:* 3G mobile communication system&nbsp; $\rm UMTS$ &nbsp; &#8658; &nbsp; [[Examples_of_Communication_Systems/Telecommunications_Aspects_of_UMTS#Kanalcodierung_bei_UMTS| "Channel Coding"]],
 +
:* 4G mobile communication system&nbsp; $\rm LTE$ &nbsp; &#8658; &nbsp; [[Mobile_Communications/The_Application_of_OFDMA_and_SC-FDMA_in_LTE#Functionality_of_SC-FDMA| "Functionality of SC-FDMA"]]&nbsp; $($in the boo&nbsp; "Mobile Communications"$)$.
  
  
Line 39: Line 40:
 
===Questions===
 
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{What interleaver&ndash;type is shown in the graphic on the details page?
+
{What interleaver type is shown in the graphic on the details page?
 
|type="()"}
 
|type="()"}
 
+ Block interleaving,
 
+ Block interleaving,
 
- Random interleaving.
 
- Random interleaving.
  
{How many rows&nbsp; ($Z$)&nbsp; and columns&nbsp; ($S$)&nbsp; does the upper "Interleaver matrix 1" have?
+
{How many rows&nbsp; ($N_{\rm R}$)&nbsp; and columns&nbsp; ($N_{\rm C}$)&nbsp; does the upper "Interleaver matrix 1" have?
 
|type="{}"}
 
|type="{}"}
$Z \ = \ ${ 4 }  
+
$N_{\rm R} \ = \ ${ 4 }  
$S \ = \ ${ 3 }  
+
$N_{\rm C} \ = \ ${ 3 }  
  
{It holds&nbsp; $\underline{u} = (1001'0001'1101'1101'0010'0111)$. How does the scrambled sequence begin&nbsp; $\underline{u}_{\pi}$? <br>&nbsp; &nbsp; Note: &nbsp; The quotation marks serve only as a reading aid.
+
{It holds &nbsp; $\underline{u} = (1001'0001'1101'1101'0010'0111)$.&nbsp; How does the scrambled sequence&nbsp; $\underline{u}_{\pi}$ begin?&nbsp; &nbsp; Note: &nbsp; The quotation marks serve only as a reading aid.
 
|type="()"}
 
|type="()"}
 
- $\underline{u}_{\pi} = (110'100'100'011'111'110'010'001' \text{...}\ )$,
 
- $\underline{u}_{\pi} = (110'100'100'011'111'110'010'001' \text{...}\ )$,
 
+ $\underline{u}_{\pi} = (101'001'000'111'100'101'011'101'\text{...}\ )$.
 
+ $\underline{u}_{\pi} = (101'001'000'111'100'101'011'101'\text{...}\ )$.
  
{The scrambled sequence be&nbsp; $\underline{u}_{\pi} = (100'100'011'101'110'100'100'111)$. What is the sequence after deinterleaving?
+
{The scrambled sequence be&nbsp; $\underline{u}_{\pi} = (100'100'011'101'110'100'100'111)$.&nbsp; What is the sequence after de-interleaving?
 
|type="()"}
 
|type="()"}
 
+ $\underline{u} = (1101'0010'0011'1111'1001'0001'\text{...}\ )$,
 
+ $\underline{u} = (1101'0010'0011'1111'1001'0001'\text{...}\ )$,
Line 62: Line 63:
 
===Solution===
 
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
[[File:P_ID3041__KC_Z_4_8b_v2.png|right|frame|4×3 Interleaver Matrix]]  
+
[[File:P_ID3041__KC_Z_4_8b_v2.png|right|frame|$4×3$&nbsp; interleaver matrix]]  
'''(1)'''&nbsp; From the regular structure of the function $I_{\rm Out}(I_{\rm In})$ one can see that it is a block interleaver &nbsp;&#8658;&nbsp; <u>Response 1</u>.
+
'''(1)'''&nbsp; From the regular structure of the function&nbsp; $I_{\rm Out}(I_{\rm In})$&nbsp; one can see that it is a block interleaver &nbsp; &#8658; &nbsp; <u>Response 1</u>.
  
  
'''(2)'''&nbsp; The index "1" is output as the first character. Further applies:
+
'''(2)'''&nbsp; The index&nbsp; "1"&nbsp; is output as the first character.&nbsp; Further applies:
* The index 5 is output as the second character &nbsp;&#8658;&nbsp; $\underline{Z = 4}$.
+
* The index 5 is output as the second character &nbsp; &#8658; &nbsp; $\underline{N_{\rm R} = 4}$.
* The index 2 is output as the fourth character &nbsp;&#8658;&nbsp; $\underline{S = 3}$.
 
  
 +
* The index 2 is output as the fourth character &nbsp; &#8658; &nbsp; $\underline{N_{\rm C} = 3}$.
  
The upper graph shows for the 4×3 interleaver matrix:
+
 
* the column by column write (red),  
+
The upper graph shows for the&nbsp; $4×3$&nbsp; interleaver matrix:
* the row by row readout (green).
+
* the column-by-column write&nbsp; $($red$)$,
 +
 +
* the row-by-row readout&nbsp; $($green$)$.
  
  
  
 
[[File:P_ID3042__KC_Z_4_8c_v3.png|right|frame|Interleaving]]
 
[[File:P_ID3042__KC_Z_4_8c_v3.png|right|frame|Interleaving]]
'''(3)'''&nbsp; Correct is <u>the proposed solution 2</u>:
+
'''(3)'''&nbsp; Correct is&nbsp; <u>the proposed solution 2</u>:
*The matrix is written column by column and read row by row.  
+
*The matrix is written column-by-column and read row-by-row.
*After 12 bits, the matrix is cleared and the procedure starts over.
+
*The graphic shows that now the solution suggestion 2 is correct.  
+
*After&nbsp; $12$&nbsp; bits,&nbsp; the matrix is cleared and the procedure starts again.
 +
 
 +
*The graphic shows that the solution suggestion 2 is correct.  
 
<br clear=all>
 
<br clear=all>
[[File:P_ID3043__KC_Z_4_8d_v1.png|right|frame|Zum De–Interleaving]]
+
[[File:P_ID3043__KC_Z_4_8d_v1.png|right|frame|De–interleaving]]
'''(4)'''&nbsp; Correct is <u>the proposed solution 1</u>:
+
'''(4)'''&nbsp; Correct is&nbsp; <u>the proposed solution 1</u>:
*In deinterleaving, the matrix is written row by row and read column by column.  
+
*In de-interleaving,&nbsp; the matrix is written row-by-row and read column-by-column.
 +
 
*The graphic shows that here the solution suggestion 1 is correct.
 
*The graphic shows that here the solution suggestion 1 is correct.
  

Latest revision as of 13:53, 14 December 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 encoder  $($"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 encoder,  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  $N_{\rm C}$  columns and  $N_{\rm R}$  rows column-by-column and reads the matrix row-by-row.  This deterministically scrambles a block of information with  $I_{\rm max} = N_{\rm C} \cdot N_{\rm R}$  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  "output sequence index"  and the  "input sequence index",  respectively.  It holds:

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

In the subtask  (1)  it is asked whether this is  "block interleaving"  or  "random interleaving".  The latter are discussed in the  "theory section"  but only very briefly.



Hints:

  • But other  $\rm LNTwww$  books also discuss interleaving,  including the book  "Examples of Communication Systems"  with reference to the



Questions

1

What interleaver type is shown in the graphic on the details page?

Block interleaving,
Random interleaving.

2

How many rows  ($N_{\rm R}$)  and columns  ($N_{\rm C}$)  does the upper "Interleaver matrix 1" have?

$N_{\rm R} \ = \ $

$N_{\rm C} \ = \ $

3

It holds   $\underline{u} = (1001'0001'1101'1101'0010'0111)$.  How does the scrambled sequence  $\underline{u}_{\pi}$ begin?    Note:   The quotation marks serve only as a reading aid.

$\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

The scrambled sequence be  $\underline{u}_{\pi} = (100'100'011'101'110'100'100'111)$.  What is the sequence after de-interleaving?

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


Solution

$4×3$  interleaver matrix

(1)  From the regular structure of the function  $I_{\rm Out}(I_{\rm In})$  one can see that it is a block interleaver   ⇒   Response 1.


(2)  The index  "1"  is output as the first character.  Further applies:

  • The index 5 is output as the second character   ⇒   $\underline{N_{\rm R} = 4}$.
  • The index 2 is output as the fourth character   ⇒   $\underline{N_{\rm C} = 3}$.


The upper graph shows for the  $4×3$  interleaver matrix:

  • the column-by-column write  $($red$)$,
  • the row-by-row readout  $($green$)$.


Interleaving

(3)  Correct is  the proposed solution 2:

  • The matrix is written column-by-column and read row-by-row.
  • After  $12$  bits,  the matrix is cleared and the procedure starts again.
  • The graphic shows that the solution suggestion 2 is correct.


De–interleaving

(4)  Correct is  the proposed solution 1:

  • In de-interleaving,  the matrix is written row-by-row and read column-by-column.
  • The graphic shows that here the solution suggestion 1 is correct.