Main Content


System object: comm.HelicalInterleaver
Package: comm

Permute input 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) permutes input sequence, X, and returns interleaved sequence, 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 interleaver object places the elements of X in an array in a helical fashion. 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 partitions the input into consecutive groups of N symbols. The object places the k-th group in the array along column k mod C. This placement is of type helical because of the reduction modulo C and because the first symbol in the k-th group is in the row 1+(k-1)×s, where s is the value for the StepSize property. Positions in the array that do not contain input symbols have default contents specified by the InitialConditions property. The object outputs C×N symbols from the array by reading the next N rows sequentially.


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.