Engee documentation

Convolutional Deinterleaver

Restoring the order of characters rearranged using shift registers.

blockType: ConvolutionalDeinterleaver

Path in the library:

/Communication Systems/Interleaving/Convolution/Convolutional Deinterleaver

Description

Block Convolutional Deinterleaver restores the signal that was interleaved using the block Convolutional Interleaver. A set of shift registers is used inside this block. The parameters in the two blocks must have the same values.

This unit receives real or complex signals at the input, represented as a scalar or column vector. The output signal has the same sampling period as the input signal.

Ports

Input

# IN_1 — Input signal
scalar | vector | the matrix

Details

The input signal in which you want to restore the sequence of rearranged 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

The output signal with the restored sequence of characters.

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

Data types

Float64

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 last register.

Default value

2

Program usage name

Slope

Tunable

No

Evaluatable

Yes

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

Details

Sets the values that fill in each shift register at the beginning of the simulation (with the exception of the last 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 last one.

  • If Initial conditions — column vector, the length of which is equal to the parameter value Rows of shift registers, then each element of this vector fills the corresponding shift register.

The value of the last parameter element Initial conditions it is not used because the last shift register has zero delay.

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