System object: comm.SphereDecoder
Package: comm

Decode received symbols using sphere decoding algorithm




Y = step(H, RXSYMBOLS, CHAN) decodes the received symbols, RXSYMBOLS, using the sphere decoding algorithm. The algorithm can be employed to decode Ns channel realizations in one call, where in each channel realization, Nr symbols are received.

The inputs are:

RXSYMBOLS: a [Ns Nr] complex double matrix containing the received symbols.

CHAN: a [Ns Nt Nr] or [1 Nt Nr] complex double matrix representing the fading channel coefficients of the flat-fading MIMO channel. For the [Ns Nt Nr] case, the object applies each channel matrix to each Nr symbol set. For the block fading case, i.e., when the size of CHAN is [1 Nt Nr], the same channel is applied to all of the received symbols.

The output Y, which depends on the setting of the DecisionType property, is a double matrix containing the Log-Likelihood Ratios (LLRs) of the decoded bits or the bits themselves. For both cases, the size of the output is [Ns*bitsPerSymbol Nt], where bitsPerSymbol represents the number of bits per transmitted symbol, as determined by the BitTable property.

    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?