EngeeComms.ConvolutionalDeinterleaver
Restoring the order of characters rearranged using shift registers.
| Library |
|
| Block |
Description
System object EngeeComms.ConvolutionalDeinterleaver restores the order of characters in the input sequence using a set of shift registers, each of which has its own delay value. The comm object.ConvolutionalDeinterleaver must have the same number of registers as the corresponding interleaver.
For more information about delays, see Learn more about the delay of convolutional interleaving and de-interleaving (recovery).
To restore the character order using a set of shift registers with specified delays, follow these steps:
-
Create an object EngeeComms.ConvolutionalDeinterleaver and set its properties.
-
Call the object with arguments as if it were a function.
To learn more about how to work with system objects, see Engee System Objects.
Syntax
Creation
-
ConvDeinterleaver = EngeeComms.ConvolutionalDeinterleaver()— creates a system object to restore the order of characters with the default properties.Example:
ConvDeinterleaver = EngeeComms.ConvolutionalDeinterleaver() -
ConvDeinterleaver = EngeeComms.ConvolutionalDeinterleaver(Name=Value)— creates a system object to restore the order of characters with the specified properties as a pairName=Value, whereName— the name of the property, andValue— the appropriate value. You can specify multiple pairs «name-value» the order of the pairs does not matter. Unspecified properties retain their default values.Example:
# восстанавливает порядок символов во входной последовательности с помощью набора из 10 сдвиговых регистров ConvDeinterleaver = EngeeComms.ConvolutionalDeinterleaver(NumRegisters=10)
Arguments
Input arguments
intrlvseq — character sequence
+
column vector
Details
The input sequence 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
Output arguments
deintrlvseq — restored character sequence
+
scalar | vector | the matrix
Details
The output restored character sequence.
The type and size of the output sequence corresponds to the type and size of intrlvseq.
Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool
Features
NumRegisters — number of shift registers
+
6 (default) | a positive integer
Details
The number of shift registers that the block uses internally.
Data types: Float64
RegisterLengthStep — register length step
+
2 (by default) | a positive integer
Details
The number of characters by which the length of each subsequent shift register differs. Zero characters are stored in the last case.
Data types: Float64
InitialConditions — initial values of shift registers
+
0 (default) | scalar | column vector
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 InitialConditions property is a scalar, then its value fills all shift registers except the last one.
-
If the InitialConditions property is a column vector whose length is equal to the NumRegisters parameter, then the -th element of this vector fills the entire -digital shift register.
The value of the last element of the InitialConditions parameter is not used, since the last shift register has zero delay.
Data types: Float64
Additional Info
Learn more about the 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 value of the NumRegisters property;
-
— the register length step is equal to the value of the RegisterLengthStep property.
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.

Literature
-
Clark, George C., and J. Bibb Cain. Error-Correction Coding for Digital Communications. Applications of Communications Theory. New York: Plenum Press, 1981.
-
Forney, G., D., Jr. "Burst-Correcting Codes for the Classic Bursty Channel." IEEE Transactions on Communications, vol. COM-19, October 1971. 772-781.
-
Ramsey, J. L. "Realization of Optimum Interleavers." IEEE Transactions on Information Theory, IT-16 (3), May 1970. 338-345.