Main Content

convintrlv

R2026b

Permute symbols using shift registers

Description

intrlvd = convintrlv(data,nrows,slope) permutes the elements in data by using a set of nrows internal shift registers. Before the function begins to process data, it initializes all shift registers with zeros. For information about delays, see Delays of Convolutional Interleaving and Deinterleaving.

example

[intrlvd,state] = convintrlv(data,nrows,slope) returns a structure that holds the final state of the shift registers.

[intrlvd,state] = convintrlv(data,nrows,slope,init_state) initializes the shift registers with the symbols contained in init_state.value and directs the first input symbol to the shift register referenced by init_state.index.

Examples

collapse all

Use the convintrlv function to reorder the input based on the shift register configuration.

x = randi([0 1],100,1);        % Original data
nrows = 5;                     % Use 5 shift registers
slope = 3;                     % Delays are 0, 3, 6, 9, and 12
y = convintrlv(x,nrows,slope); % Interleaving using convintrlv

Input Arguments

collapse all

Input signal to be interleaved, specified as a vector or matrix. If data is a matrix with multiple rows and columns, the function processes the columns independently.

Data Types: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32
Complex Number Support: Yes

Number of internal shift registers, specified as a positive integer. For more information, see Delays of Convolutional Interleaving and Deinterleaving.

Register length step, specified as a positive integer. For more information, see Delays of Convolutional Interleaving and Deinterleaving.

Initial state of registers, typically specified by using the state output from a previous call to this same function. The initial state of registers is unrelated to the corresponding deinterleaver.

Output Arguments

collapse all

Interleaved data, returned with the same dimensions and data type as the input data.

Final state of the shift registers after the previous call to this function, returned as a structure with these fields:

Unshifted symbols, returned as a vector.

Index of the next register to be shifted, returned as a positive integer.

More About

collapse all

References

[1] Heegard, Chris and Stephen B. Wicker. Turbo Coding. Boston: Kluwer Academic Publishers, 1999.

Version History

Introduced before R2006a