System object: comm.LDPCDecoder
Package: comm

Decode input using LDPC decoding scheme


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


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. Input X must be a double column vector with length equal N. Each element is the log-likelihood ratio for a received bit (more likely to be 0 if the log-likelihood ratio is positive). The first K 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, 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 double 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)

    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.

Was this topic helpful?