Main Content


System object: comm.HelicalDeinterleaver
Package: comm

Restore ordering of symbols using a helical array


Y = step(H,X)



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.

Y = step(H,X) restores the original ordering of the sequence, X, that was interleaved using a helical interleaver and returns Y. The input X must be a column vector. The data type must be numeric, logical, or fixed-point (fi objects). Y has the same data type as X. The helical deinterleaver object uses an array for its computations. If you set the NumColumns property of the object to C, then the array has C columns and unlimited rows. If you set the GroupSize property to N, then the object accepts an input of length C×N and inserts it into the next N rows of the array. The object also places the value of the InitialConditions property into certain positions in the top few rows of the array. This accommodates the helical pattern and also preserves the vector indices of symbols that pass through the HelicalInterleaver and HelicalDeinterleaver objects. The output consists of consecutive groups of N symbols. The object selects the k-th output group in the array from column k mod C. This selection is of type helical because of the reduction modulo C and because the first symbol in the k-th group is in row 1+(k-1)×s, where s is the value for the StepSize property.


obj specifies the System object on which to run this step method.

The object performs an initialization the first time the step method is executed. This initialization locks nontunable properties and input specifications. For more information on changing property values, see System Design in MATLAB Using System Objects.