Engee documentation

Convolutional Interleaver

Rearrange the input characters using a set of shift registers.

convolutional interleaver

Description

Block Convolutional Interleaver Rearranges the characters in the input signal. It uses a set of shift registers internally.

The Initial conditions parameters specify the values that fill each shift register at the start of the simulation (except for the first shift register, which has zero delay). If the Initial conditions parameters is a scalar, its value fills all shift registers except the first one. If Initial conditions is a column vector whose length is equal to the Rows of shift registers parameter, then each element of this vector fills the corresponding shift register. The value of the first element of the Initial conditions parameters is not used because the first shift register has zero delay.

Ports

Input

Port_1 - input signal
scalar | vector | matrix

Input signal in which you want to rearrange the characters.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Support for complex numbers: Yes

Output

Port_1 - output signal
scalar | vector | matrix

Output signal with transposed symbols.

The output signal type and size corresponds to the input signal type and size.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Support for complex numbers: Yes

Parameters

Rows of shift registers - rows of shift registers
6 (by default) | ` positive integer`

The number of shift registers the block uses internally.

  • Data type:* Float64

Register length step - register length step
2 (by default) | positive integer

The number of characters by which the length of each subsequent shift register differs. Zero characters are stored in the first register.

Data type:Float64.

Initial conditions - initial conditions
0 (by default) | scalar | vector-column

Values that fill each shift register at the beginning of the simulation.

  • Data type:* Float64

Read more about delayed convolutional interleaving and de-interleaving (recovery)

The total delay of convolutional interleaving-displacement methods is equal to

,

where:

  • - number of registers, equal to the value of the Rows of shift registers parameter.

  • - register length step, equal to the value of the Register length step parameters.

The diagram below shows the structure of a generic shifter consisting of a set of shift registers, each with a given delay, denoted as , and a switch for switching input and output symbols across registers. The _k_th shift register contains symbols, where and has a delay value equal to . With each new input character, the switch switches to a new register and inputs a new character while deleting the oldest character in that register. When the switch reaches the _N_th register, the switch returns to the first register on the next new input.

convolutional interleaver 1