# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

# step

System object: comm.PSKTCMDemodulator
Package: comm

Demodulate convolutionally encoded data mapped to M-ary PSK constellation

## Syntax

`Y = step(H,X)Y = step(H,X,R)`

## Description

 Note:   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)` demodulates the PSK modulated input data, `X`, and uses the Viterbi algorithm to decode the resulting demodulated, convolutionally encoded bits. `X` must be a complex, double or single precision column vector. The `step` method outputs a demodulated, binary data column vector, `Y`. When the convolutional encoder represents a rate K/N code, the length of the output vector is K$×$L, where L is the length of the input vector, `X`.

`Y = step(H,X,R)` resets the decoder to the all-zeros state when you input a reset signal, `R` that is non-zero. `R` must be a double precision or logical, scalar integer. This syntax applies when you set the `ResetInputPort` property to true.

 Note:   `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 (MATLAB) 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.