Engee documentation

Convolutional Interleaver

Rearranging input characters using a set of shift registers.

blockType: ConvolutionalInterleaver

Path in the library:

/Communication Systems/Interleaving/Convolution/Convolutional Interleaver

Description

Block Convolutional Interleaver rearranges the characters in the input signal. It uses a set of shift registers inside it.

Parameter Initial conditions specifies the values that fill each shift register at the beginning of the simulation (with the exception of the first shift register, which has zero delay). If the parameter Initial conditions If it is a scalar, then its value fills all shift registers except the first one. If Initial conditions — column vector, the length of which is equal to the parameter Rows of shift registers, then each element of this vector fills the corresponding shift register. The value of the first parameter element Initial conditions it is not used because the first shift register has zero delay.

Ports

Input

# IN_1 — Input signal
scalar | vector | the matrix

Details

The input signal in which you need to rearrange the characters.

Data types

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

Complex numbers support

Yes

Output

# OUT_1 — Output signal
scalar | vector | the matrix

Details

Output signal with rearranged symbols.

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

Data types

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

Complex numbers support

Yes

Parameters

Main

# Rows of shift registers — shift register strings
Scalar / array of real numbers

Details

The number of shift registers that the block uses internally.

Default value

6

Program usage name

Rows

Tunable

No

Evaluatable

Yes

# Register length step — register length step
Scalar / array of real numbers

Details

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

Default value

2

Program usage name

Slope

Tunable

No

Evaluatable

Yes

# Initial conditions — initial conditions
Scalar / array of real and/or complex numbers

Details

The values that fill in each shift register at the beginning of the simulation.

Default value

0

Program usage name

Init

Tunable

No

Evaluatable

Yes

Additional Info

Delay of convolutional interleaving and de-interleaving (recovery)

Details

The total delay of the convolutional interleaving and de-interleaving methods is

where

  • — the number of registers equal to the parameter value Rows of shift registers;

  • — register length step equal to the parameter value Register length step.

The diagram below shows the structure of a common interleaver consisting of a set of shift registers, each of which has a preset delay, denoted as , and a switch for switching input and output characters through registers. The -th shift register contains characters where and it has a delay value equal to . With each new input character, the switch switches to a new register and enters a new character, while simultaneously deleting the oldest character in that register. When the switchboard reaches On the next new input, the switch returns to the first register.

convolutional interleaver 1