This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.

comm.MultiplexedDeinterleaver System object

Package: comm

Deinterleave input symbols using set of shift registers with specified delays


The MultiplexedDeinterleaver object restores the original ordering of a sequence that was interleaved using the General Multiplexed Interleaver object.

To deinterleave the input symbols:

  1. Define and set up your multiplexed deinterleaver object. See Construction.

  2. Call step to restore the original ordering of the input sequence according to the properties of comm.MultiplexedDeinterleaver. The behavior of step is specific to each object in the toolbox.

    Note:   Starting in R2016b, instead of using the step method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operations.


H = comm.MultiplexedDeinterleaver creates a multiplexed deinterleaver System object, H. This object restores the original ordering of a sequence that was interleaved using the multiplexed interleaver System object.

H = comm.MultiplexedDeinterleaver(Name,Value) creates a multiplexed deinterleaver object, H, with each specified property set to the specified value. You can specify additional name-value pair arguments in any order as (Name1,Value1,...,NameN,ValueN).



Interleaver delay

Specify the lengths of the shift registers as an integer column vector. The default is [2;0;1;3;10].


Initial conditions of shift registers

Specify the initial values in each shift register as a numeric scalar value or a column vector. The default is 0. When you set this property to a column vector, the vector length must equal the value of the Delay property. This vector contains initial conditions, where the i-th initial condition is stored in the ith shift register.


cloneCreate multiplexed deinterleaver object with same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs from step method
isLockedLocked status for input attributes and nontunable properties
releaseAllow property value and input characteristics changes
resetReset states of the multiplexed deinterleaver object
stepDeinterleave input symbols using a set of shift registers with specified delays


expand all

Create interleaver and deinterleaver objects.

interleaver = comm.MultiplexedInterleaver('Delay',[1; 0; 2; 1]);
deinterleaver = comm.MultiplexedDeinterleaver('Delay',[1; 0; 2; 1]);

Generate a random data sequence. Pass the data sequence through the interleaver and deinterleaver.

[dataIn,dataOut] = deal([]);            % Initialize data arrays

for k = 1:50
    data = randi([0 7],20,1);           % Generate data sequence
    intData = interleaver(data);        % Interleave sequence
    deIntData = deinterleaver(intData); % Deinterleave sequence

    dataIn = cat(1,dataIn,data);        % Save original data
    dataOut = cat(1,dataOut,deIntData); % Save deinterleaved data

Determine the delay through the interleaver and deinterleaver.

intlvrDelay = finddelay(dataIn,dataOut)
intlvrDelay =


After accounting for the delay, confirm that the original and deinterleaved sequences are indentical.

ans =




This object implements the algorithm, inputs, and outputs described on the General Multiplexed Deinterleaver block reference page. The object properties correspond to the block parameters.

Introduced in R2012a

Was this topic helpful?