# APP Decoder

**Libraries:**

Wireless HDL Toolbox /
Error Detection and Correction

## Description

The APP Decoder block decodes convolutionally-coded log-likelihood ratio
(LLR) values using the maximum a-posteriori probability (MAP) decoding algorithm. The block
accepts coded and uncoded LLR values and a `samplecontrol`

bus, decodes the
coded LLR values, and outputs the updated versions of the coded and uncoded LLR values and
`samplecontrol`

bus.

The block supports two decoding algorithms: `Max Log MAP (max)`

and
`Log MAP (max*)`

. You can select the algorithm by setting the
**Algorithm** parameter. The block supports terminated and truncated modes
and these decoding rates: 1/2, 1/3, 1/4, 1/5, 1/6, and 1/7. The block provides an architecture
suitable for HDL code generation and hardware deployment.

The block supports decoding of serial and parallel concatenated codes. Using this block, you can build turbo decoders, custom decoders for concatenated codes, and product codes for iterative decoding.

## Examples

## Ports

### Input

### Output

## Parameters

## Algorithms

## References

[1] Viterbi, A.J. “An Intuitive
Justification and a Simplified Implementation of the MAP Decoder for Convolutional Codes.”
*IEEE Journal on Selected Areas in Communications* 16, no.
2 (February 1998): 260–64. https://doi.org/10.1109/49.661114.

[2] Benedetto, S., D. Divsalar, G.
Montorsi, and F. Pollara. “A Soft-Input Soft-Output APP Module for Iterative Decoding of
Concatenated Codes.” *IEEE Communications Letters* 1, no. 1
(January 1997): 22–24. https://doi.org/10.1109/4234.552145.

[3] Benedetto, S., and G. Montorsi.
“Performance of Continuous and Blockwise Decoded Turbo Codes.” *IEEE
Communications Letters* 1, no. 3 (May 1997): 77–79. https://doi.org/10.1109/4234.585802.

## Extended Capabilities

## Version History

**Introduced in R2021b**