3.2.4.4.2. Polar Decoder parameters

3.2.4.4.2.1. --dec-type, -D

Type:text
Allowed values:SC SCAN SCL SCL_MEM ASCL ASCL_MEM CHASE ML
Default:SC
Examples:--dec-type ASCL

Select the algorithm you want to decode the codeword.

Description of the allowed values:

Value Description
SC Select the original SC algorithm from [Ari09].
SCAN Select the SCAN algorithm from [FB14].
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-adaptiv 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
Allowed values:NAIVE FAST
Default:FAST
Examples:--dec-implem FAST

Select the implementation of the algorithm to decode.

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
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 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 --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.4.2.4. --dec-ite, -i

Type:integer
Examples:--dec-ite 1

Set the number of decoding iterations in the SCAN decoder.

3.2.4.4.2.5. --dec-lists, -L

Type:integer
Examples:--dec-lists 1

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

3.2.4.4.2.6. --dec-partial-adaptiv

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

3.2.4.4.2.7. --dec-polar-nodes

Type:text
Default:"{R0,R1,R0L,REP,REPL,SPC}"
Examples:--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.8. References

[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.