3.2.4.8.2. RSC Decoder parameters¶
3.2.4.8.2.1. --dec-type, -D
¶
Type: text Allowed values: BCJR
CHASE
ML
Examples: --dec-type BCJR
Select the algorithm you want to decode the codeword.
Description of the allowed values:
Value | Description |
---|---|
BCJR |
Select the BCJR algorithm from [BCJR74]. |
CHASE |
See the common --dec-type, -D parameter. |
ML |
See the common --dec-type, -D parameter. |
3.2.4.8.2.2. --dec-implem
¶
Type: text Allowed values: GENERIC
STD
FAST
VERY_FAST
Default: STD
Examples: --dec-implem FAST
Select the implementation of the algorithm to decode.
Description of the allowed values:
Value | Description |
---|---|
GENERIC |
Select the generic BCJR implementation that can decode any trellis (slow compared to the other implementations). |
STD |
Select the STD BCJR implementation, specialized for the
{013,015} polynomials (c.f. the --enc-poly
parameter). |
FAST |
Select the fast BCJR implementation, specialized for the
{013,015} polynomials (c.f. the --enc-poly
parameter). |
VERY_FAST |
Select the very fast BCJR implementation,
specialized for the {013,015} polynomials (c.f. the
--enc-poly parameter). |
3.2.4.8.2.3. --dec-simd
¶
Type: text Allowed values: INTER
INTRA
Examples: --dec-simd INTER
Select the SIMD strategy you want to use.
Description of the allowed values:
Value | Description |
---|---|
INTER |
Select the inter-frame strategy, only available for the BCJR
STD , FAST and VERY_FAST implementation (see
[CTL+16]). |
INTRA |
Select the intra-frame strategy, only available for the BCJR
STD and FAST implementations (see [WWY+13]). |
Note
In the intra-frame strategy, SIMD units process several LLRs in parallel within a single frame decoding. In the inter-frame strategy, SIMD units decodes several independent frames in parallel in order to saturate the SIMD unit. This approach improves the throughput of the decoder but requires to load several frames before starting to decode, increasing both the decoding latency and the decoder memory footprint.
Note
When the inter-frame SIMD strategy is set, the simulator will run
with the right number of frames depending on the SIMD length. This number
of frames can be manually set with the --src-fra, -F parameter. Be aware
that running the simulator with the --src-fra, -F parameter set to 1 and
the --dec-simd parameter set to INTER
will completely be
counterproductive and will lead to no throughput improvements.
3.2.4.8.2.4. --dec-max
¶
Type: text Allowed values: MAXS
MAXL
MAX
Examples: --dec-max MAX
Select the approximation of the \(\max^*\) operator used in the trellis decoding.
Description of the allowed values:
Value | Description |
---|---|
MAXS |
\(\max^*(a,b) = \max(a,b) + \log(1 + \exp(-|a - b|))\). |
MAXL |
\(\max^*(a,b) \approx \max(a,b) + \max(0, 0.301 - (0.5 |a - b|))\). |
MAX |
\(\max^*(a,b) \approx \max(a,b)\). |
MAXS
for Max Star is the exact \(\max^*\) operator. MAXL
for
Max Linear is a linear approximation of the \(\max^*\) function. MAX
for Max is the simplest \(\max^*\) approximation with only a
\(\max\) function.
Note
The BCJR with the \(\max\) approximation is also called the max-log-MAP algorithm.
3.2.4.8.2.5. References¶
[BCJR74] | L. Bahl, J. Cocke, F. Jelinek, and J. Raviv. Optimal decoding of linear codes for minimizing symbol error rate (corresp.). IEEE Transactions on Information Theory (TIT), 20(2):284–287, March 1974. doi:10.1109/TIT.1974.1055186. |
[CTL+16] | A. Cassagne, T. Tonnellier, C. Leroux, B. Le Gal, O. Aumage, and D. Barthou. Beyond Gbps turbo decoder on multi-core CPUs. In International Symposium on Turbo Codes and Iterative Information Processing (ISTC), 136–140. IEEE, September 2016. doi:10.1109/ISTC.2016.7593092. |
[WWY+13] | M. Wu, G. Wang, B. Yin, C. Studer, and J. R. Cavallaro. HSPA+/LTE-A turbo decoder on GPU and multicore CPU. In Asilomar Conference on Signals, Systems, and Computers (ACSSC), 824–828. IEEE, November 2013. doi:10.1109/ACSSC.2013.6810402. |