System object: comm.ConvolutionalEncoder
Package: comm

Convolutionally encode binary data


Y = step(H,X)
Y = step(H,X,R)
[Y,FSTATE] = 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) encodes the binary data, X, using the convolutional encoding that you specify in the TrellisStructure property. It returns the encoded data, Y. Both X and Y are column vectors of data type numeric, logical, or unsigned fixed point of word length 1 (fi object). When the convolutional encoder represents a rate K/N code, the length of the input vector equals K×L, for some positive integer, L. The step method sets the length of the output vector, Y, to L×N.

Y = step(H,X,INITSTATE) uses the initial state specified in the INITSTATE input when you set the TerminationMethod property to 'Truncated' and the InitialStateInputPort property to true. INITSTATE must be an integer scalar.

Y = step(H,X,R) resets the internal states of the encoder when you input a non-zero reset signal, R. R must be a double precision or logical scalar. This syntax applies when you set the TerminationMethod property to Continuous and the ResetInputPort property to true.

[Y,FSTATE] = step(H,X) returns the final state of the encoder in the integer scalar output FSTATE when you set the FinalStateOutputPort property to true. This syntax applies when you set the TerminationMethod property to Continuous or Truncated.


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, such as dimensions, complexity, and data type of the input data. If you change a nontunable property or an input specification, the System object issues an error. To change nontunable properties or inputs, you must first call the release method to unlock the object.