# 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.