# step

System object: comm.ConvolutionalEncoder
Package: comm

Convolutionally encode binary data

## Syntax

Y = step(H,X)
Y = step(H,X,INITSTATE)
Y = step(H,X,R)
[Y,FSTATE] = step(H,X)

## Description

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.

 Note:   H 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.