Skip to content

Latest commit

 

History

History
236 lines (168 loc) · 7.82 KB

File metadata and controls

236 lines (168 loc) · 7.82 KB

Interleaver parameters

The interleaving process is frequent in coding schemes. It can be found directly in the code definition (for instance in Turbo or Turbo Product codes) or in larger schemes like for the turbo demodulation in the receiver (see the iterative chain in fig_bferi).

--itl-type

Type

text

Allowed values

CCSDS COL_ROW DVB-RCS1 DVB-RCS2 GOLDEN LTE NO RANDOM RAND_COL ROW_COL USER

Default

RANDOM

Examples

--itl-type RANDOM

Description of the allowed values:

Value Description
NO Disable the interleaving process: the output is the input (fig_itl_no).
COL_ROW Fill the interleaver by column, read it by row (can be customized with the itl-itl-read-order parameter) (fig_itl_col_row).
ROW_COL Fill the interleaver by row, read it by column (can be customized with the itl-itl-read-order parameter) (fig_itl_row_col).
RANDOM Generate a random sequence for the entire frame (based on the Matsumoto1998) (fig_itl_random).
RAND_COL Generate multiple random sequences decomposed in independent columns (based on the Matsumoto1998) (fig_itl_rand_col).
GOLDEN Select the interleaver described in Crozier1999.
CCSDS Select the interleaver defined in the standard.
LTE Select the interleaver defined in the standard.
DVB-RCS1 Select the interleaver defined in the standard.
DVB-RCS2 Select the interleaver defined in the standard.
USER Select the interleaver sequence () from an external file (to use with the itl-itl-path parameter) (fig_itl_user).
Interleaver NO.Interleaver NO.
Interleaver COL_ROW.Interleaver COL_ROW.
Interleaver ROW_COL.Interleaver ROW_COL.
Interleaver RANDOM.Interleaver RANDOM.
Interleaver RAND_COL.Interleaver RAND_COL.
Interleaver USER.Interleaver USER.

--itl-cols

Type

integer

Default

4

Examples

--itl-cols 1

--itl-path

Type

file

Rights

read only

Examples

--itl-path conf/itl/GSM-LDPC_4224.itl

An file is expected:

# the number of LUTs contained in the file (only one LUT here)
1

# the frame size 'N'
16

# the LUT definition (here the frame is reversed, 0 becomes 15, 1 becomes 14, etc.)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

If there is more than one interleaved sequence then for each new frame a new is used in the natural order given by the file. Here is an example with two :

# the number of LUTs contained in this file
2

# the frame size 'N'
16

# first and second LUTs definition
15 14 13 12 11 10 9 8  7  6  5  4  3  2 1 0
 7  6  5  4  3  2 1 0 15 14 13 12 11 10 9 8

Note

When the number of simulated frames exceeds the number of contained in the files, the from the beginning of the file are reused and this is repeated until the end of the simulation.

--itl-read-order

Type

text

Allowed values

BOTTOM_LEFT BOTTOM_RIGHT TOP_LEFT TOP_RIGHT

Examples

--itl-read-order BOTTOM_LEFT

The read starts from the given corner of the array to the diagonally opposite one. The read is made row by row for the COL_ROW interleaver and column by column for the ROW_COL one.

Description of the allowed values (see also the figures just bellow):

Value Description
TOP_LEFT Read is down from the top left corner to the bottom right corner.
TOP_RIGHT Read is down from the top right corner to the bottom left corner.
BOTTOM_LEFT Read is down from the bottom left corner to the top right corner.
BOTTOM_RIGHT Read is down from the bottom right corner to the top left corner.

fig_itl_col_row_order depicts the read order options on the COL_ROW interleaver.

Interleaver COL_ROW read orders.Interleaver COL_ROW read orders.

fig_itl_row_col_order depicts the read order options on the ROW_COL interleaver.

Interleaver ROW_COL read orders.Interleaver ROW_COL read orders.

--itl-uni

By default, if this parameter is not used, the random interleavers generate the only once for the whole simulation.

Note

This parameter has no effect if the selected interleaver is not randomly generated.

References

references.bib