## Description

`Y = step(H,X)`

decodes input codeword, `X`

,
using an LDPC code that is based on an (`N`

-`K`

)
x `N`

parity-check matrix. You specify the
parity-check matrix in the `ParityCheckMatrix`

property.
The input `X`

must be a column vector of
type double or single. Each element is the log-likelihood ratio for
a received bit (more likely to be 0 if the log-likelihood ratio is
positive). This System object™ is capable of decoding multiple
frames of input data simultaneously. The length of the input `X`

must
be a multiple of `N`

. The first `K`

elements
of every `N`

elements correspond to the information
part of a codeword. The decoded data output vector, `Y`

,
contains either only the message bits or the whole code word(s), based
on the value of the `OutputValue`

property.

`[Y,NUMITER] = step(H,X)`

returns the actual
number of iterations the object performed when you set the `NumIterationsOutputPort`

property
to true. The step method outputs NUMITER as a double scalar.

`[Y,PARITY] = step(H,X)`

returns final parity
checks the object calculated when you set the `FinalParityChecksOutputPort`

property
to true. The step method outputs PARITY as a logical vector of length
(`N`

-`K`

).

You can combine optional output arguments when you set their
enabling properties. Optional outputs must be listed in the same order
as the order of the enabling properties. For example,

`[Y,NUMITER,PARITY] = step(H,X)`

Calling `step`

on an object puts that object
into a locked state. When locked, you cannot change non-tunable properties
or any input characteristics (size, data type and complexity) without
reinitializing (unlocking and relocking) the object.

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