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 aR0
,R1
: Rate 1, all the bits are information bits,REP
: Repetition code,REPL
: Repetition left, the next left node in the tree isREP
,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 theREP_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. |