Main Content

Convolutional Deinterleaver

Restore ordering of symbols that were permuted using shift registers


Convolutional sublibrary of Interleaving

  • Convolutional Deinterleaver block


The Convolutional Deinterleaver block recovers a signal that was interleaved using the Convolutional Interleaver block. Internally, this block uses a set of shift registers. The parameters in the two blocks must have the same values. For information about delays, see Delays of Convolutional Interleaving and Deinterleaving.

This block accepts a scalar or column vector input signal, which can be real or complex. The output signal has the same sample time as the input signal.

This block accepts the following data types: int8, uint8, int16, uint16, int32, uint32, boolean, single, double, and fixed-point.


Rows of shift registers

The number of shift registers that the block uses internally.

Register length step

The difference in symbol capacity of each successive shift register, where the last register holds zero symbols.

Initial conditions

Indicates the values that fill each shift register at the beginning of the simulation (except for the last shift register, which has zero delay).

  • When you select a scalar value for Initial conditions, the value fills all shift registers (except for the last one)

  • When you select a column vector with a length equal to the Rows of shift registers parameter, each entry fills the corresponding shift register.

The value of the first element of the Initial conditions parameter is unimportant, since the last shift register has zero delay.


For an example that uses this block, see Convolutional Interleaving.

More About

expand all


[1] Clark, George C., and J. Bibb Cain. Error-Correction Coding for Digital Communications. Applications of Communications Theory. New York: Plenum Press, 1981.

[2] Forney, G., D., Jr. "Burst-Correcting Codes for the Classic Bursty Channel." IEEE Transactions on Communications, vol. COM-19, October 1971. 772-781.

[3] Ramsey, J. L. "Realization of Optimum Interleavers." IEEE Transactions on Information Theory, IT-16 (3), May 1970. 338-345.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced before R2006a