3.2.4.4.2. Polar Decoder parameters

3.2.4.4.2.1. --dec-type, -D

Type

text

Allowed values

SC SCAN SCF SCL SCL_MEM ASCL ASCL_MEM CHASE ML

Default

SC

Examples

--dec-type ASCL

Select the decoder algorithm.

Description of the allowed values:

Value

Description

SC

Select the original SC algorithm from [Plrd-Ari09].

SCAN

Select the SCAN algorithm from [Plrd-FB14].

SCF

Select the SCF algorithm from [Plrd-ABSB14].

SCL

Select the SCL algorithm from [Plrd-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 [Plrd-LST12], PA-SCL and FA-SCL variants from [Plrd-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

Allowed values

NAIVE FAST

Default

FAST

Examples

--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 [Plrd-CAL+16, Plrd-CLeGalL+15, Plrd-LeGalLJego15].

Note

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

3.2.4.4.2.3. --dec-simd

Type

text

Allowed values

INTER INTRA

Examples

--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 [Plrd-CAL+16, Plrd-CLeGalL+15, Plrd-LeGalLJego15]).

INTRA

Select the intra-frame strategy, only available for the SC (see [Plrd-CAL+16, Plrd-CLeGalL+15]), SCL and A-SCL decoders (see in [Plrd-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

Examples

--dec-ite 1

Set the number of decoding iterations in the SCAN decoder.

3.2.4.4.2.5. --dec-flips

Type

integer

Examples

--dec-flips 1

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

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

3.2.4.4.2.6. --dec-lists, -L

Type

integer

Default

8

Examples

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

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 [Plrd-CLeGalL+15, Plrd-SGV+14]. 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

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

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

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

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

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

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

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

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

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

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