# 3.2.4.4.2. Polar Decoder parameters¶

## 3.2.4.4.2.1. --dec-type, -D¶

Type: text SC SCAN SCF SCL SCL_MEM ASCL ASCL_MEM CHASE ML SC --dec-type ASCL

Select the decoder algorithm.

Description of the allowed values:

Value Description
SC Select the original SC algorithm from [Ari09].
SCAN Select the SCAN algorithm from [FB14].
SCF Select the SCF algorithm from [ABSB14].
SCL Select the SCL algorithm from [TV11], also support the improved CA-SCL algorithm.
SCL_MEM Select the SCL algorithm, same as the previous one but with an implementation optimized to reduce the memory footprint.
ASCL Select the A-SCL algorithm from [LST12], PA-SCL and FA-SCL variants from [LeonardonCL+17] are available (see the --dec-partial-adaptive parameter).
ASCL_MEM Select the A-SCL algorithm, same as the previous one but with an implementation optimized to reduce the memory footprint.
CHASE See the common --dec-type, -D parameter.
ML See the common --dec-type, -D parameter.

## 3.2.4.4.2.2. --dec-implem¶

Type: text NAIVE FAST FAST --dec-implem FAST

Select the implementation of the decoder algorithm.

Description of the allowed values:

Value Description
NAIVE Select the naive implementation which is typically slow (not supported by the A-SCL decoders).
FAST Select the fast implementation, available only for the SC, SCL, SCL-MEM, A-SCL and A-SCL-MEM decoders.

Warning

FAST implementations only support systematic encoding of Polar codes.

Note

The SC FAST implementation has been presented in [LeGalLJego15][CLeGalL+15][CAL+16].

Note

The SCL, CA-SCL and A-SCL FAST implementations have been presented in [LeonardonCL+17].

## 3.2.4.4.2.3. --dec-simd¶

Type: text INTER INTRA --dec-simd INTER

Select the SIMD strategy.

Description of the allowed values:

Value Description
INTER Select the inter-frame strategy, only available for the SC FAST decoder (see [LeGalLJego15][CLeGalL+15][CAL+16]).
INTRA Select the intra-frame strategy, only available for the SC (see [CLeGalL+15][CAL+16]), SCL and A-SCL decoders (see in [LeonardonCL+17]).

Note

In the intra-frame strategy, SIMD units process several LLRs in parallel within a single frame decoding. This approach is efficient in the upper layers of the tree and in the specialized nodes, but more limited in the lowest layers where the computation becomes more sequential. 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 --sim-inter-fra, -F parameter. Be aware that running the simulator with the --sim-inter-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.4.2.4. --dec-ite, -i¶

Type: integer --dec-ite 1

Set the number of decoding iterations in the SCAN decoder.

## 3.2.4.4.2.5. --dec-flips¶

Type: integer --dec-flips 1

Set the maximum number of bit flips in the decoding algorithm.

Corresponds to the T parameter of the SCF decoding alogorithm [ABSB14].

## 3.2.4.4.2.6. --dec-lists, -L¶

Type: integer 8 --dec-lists 1

Set the number of lists to maintain in the SCL and A-SCL decoders.

## 3.2.4.4.2.7. --dec-partial-adaptive¶

Select the partial adaptive (PA-SCL) variant of the A-SCL decoder (by default the FA-SCL is selected).

## 3.2.4.4.2.8. --dec-polar-nodes¶

Type: text "{R0,R1,R0L,REP,REPL,SPC}" --dec-polar-nodes "{R0,R1}"

Set the rules to enable in the tree simplifications process. This parameter is compatible with the SC FAST, the SCL FAST, SCL-MEM FAST, the A-SCL FAST and the the A-SCL-MEM FAST decoders.

Here are the available node types (or rules):

• R0: Rate 0, all the bits are frozen,
• R0L: Rate 0 left, the next left node in the tree is a R0,
• R1: Rate 1, all the bits are information bits,
• REP: Repetition code,
• REPL: Repetition left, the next left node in the tree is REP,
• SPC: SPC code.

Those node types are well explained in [SGV+14][CLeGalL+15]. It is also possible to specify the level in the tree where the node type will be recognized. For instance, the following value "{R0,R1,R0L,REP_2-8,REPL,SPC_4+}" matches:

• R0: all the Rate 0 nodes,
• R0L: all the Rate 0 left nodes,
• R1: all the Rate 1 nodes,
• REP_2-8: the repetition nodes with a size between 2 and 8 (including 2 and 8),
• REPL: all the repetition left nodes (will be automatically limited by the REP_2-8 rule),
• SPC_4+: the SPC nodes with a size equal or higher than 4.

To disable the tree cuts you can use the following value: "{R0_1,R1_1}".

## 3.2.4.4.2.9. References¶

 [ABSB14] (1, 2) O. Afisiadis, A. Balatsoukas-Stimming, and A. Burg. A low-complexity improved successive cancellation decoder for polar codes. In Asilomar Conference on Signals, Systems, and Computers (ACSSC), 2116–2120. IEEE, November 2014. doi:10.1109/ACSSC.2014.7094848.
 [Ari09] E. Arikan. Channel polarization: a method for constructing capacity-achieving codes for symmetric binary-input memoryless channels. IEEE Transactions on Information Theory (TIT), 55(7):3051–3073, July 2009. doi:10.1109/TIT.2009.2021379.
 [CAL+16] (1, 2, 3) A. Cassagne, O. Aumage, C. Leroux, D. Barthou, and B. Le Gal. Energy consumption analysis of software polar decoders on low power processors. In European Signal Processing Conference (EUSIPCO), 642–646. IEEE, August 2016. doi:10.1109/EUSIPCO.2016.7760327.
 [CLeGalL+15] (1, 2, 3, 4) A. Cassagne, B. Le Gal, C. Leroux, O. Aumage, and D. Barthou. An efficient, portable and generic library for successive cancellation decoding of polar codes. In International Workshop on Languages and Compilers for Parallel Computing (LCPC). Springer, September 2015. doi:10.1007/978-3-319-29778-1_19.
 [FB14] U. U. Fayyaz and J. R. Barry. Low-complexity soft-output decoding of polar codes. IEEE Journal on Selected Areas in Communications (JSAC), 32(5):958–966, May 2014. doi:10.1109/JSAC.2014.140515.
 [LST12] B. Li, H. Shen, and D. Tse. An adaptive successive cancellation list decoder for polar codes with cyclic redundancy check. IEEE Communications Letters (COMML), 16(12):2044–2047, December 2012. doi:10.1109/LCOMM.2012.111612.121898.
 [LeonardonCL+17] (1, 2, 3) M. Léonardon, A. Cassagne, C. Leroux, C. Jégo, L.-P. Hamelin, and Y. Savaria. Fast and flexible software polar list decoders. CoRR, 2017. URL: http://arxiv.org/abs/1710.08314, arXiv:1710.08314.
 [SGV+14] G. Sarkis, P. Giard, A. Vardy, C. Thibeault, and W. J. Gross. Fast polar decoders: algorithm and implementation. IEEE Journal on Selected Areas in Communications (JSAC), 32(5):946–957, May 2014. doi:10.1109/JSAC.2014.140514.
 [TV11] I. Tal and A. Vardy. List decoding of polar codes. In International Symposium on Information Theory (ISIT), 1–5. IEEE, July 2011. doi:10.1109/ISIT.2011.6033904.
 [LeGalLJego15] (1, 2) B. Le Gal, C. Leroux, and C. Jégo. Multi-Gb/s software decoding of polar codes. IEEE Transactions on Signal Processing (TSP), 63(2):349–359, January 2015. doi:10.1109/TSP.2014.2371781.