# lteRIDecode

Rank indication channel decoding

## Description

`[`

performs the block decoding on soft input data, `out`

,`blkerr`

] = lteRIDecode(`chs`

,`in`

)`in`

. The input
is assumed to be encoded using the procedure defined for RI in TS 36.212 [1], Section 5.2.2.6 for given channel transmission
configuration, `chs`

. The function returns the decoded output,
`out`

, as a vector of length `ORI`

, the
number of uncoded RI bits transmitted.

The block decoding will be performed separately on each soft
input data using a maximum likelihood (ML) approach, assuming that `in`

has
been demodulated and equalized to best restore the originally transmitted
values.

The RI decoder performs different types of block decoding depending upon the number of uncoded
RI bits to be recovered. For `ORI`

less than 3 bits, the decoder
assumed the bits are encoded using the procedure defined in TS 36.212 [1], Section 5.2.2.6. For decoding 3 to 11 RI bits, the decoder
assumes the bits are block encoded using the procedure defined in TS 36.212 [1], Section 5.2.2.6.4. For decoding between 12 and 22 bits, the
decoder performs the inverse procedure described in TS 36.212 [1], Section 5.2.2.6.5. For decoding more than 22 bits, the
decoder performs rate-matching, tail-biting Viterbi decoding, and 8-bits CRC
decoding, which is the inverse procedure described in Section 5.2.2.6.

## Examples

## Input Arguments

## Output Arguments

## References

[1] 3GPP TS 36.212. “Evolved Universal Terrestrial Radio Access
(E-UTRA); Multiplexing and channel coding.” *3rd Generation Partnership
Project; Technical Specification Group Radio Access Network*. URL: https://www.3gpp.org.

## Version History

**Introduced in R2014a**

## See Also

`lteRIEncode`

| `lteACKDecode`

| `lteCQIDecode`

| `lteULSCHDeinterleave`

| `lteULSCHDecode`