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 |
---|---|
|
Select the original SC algorithm from [Plrd-Ari09]. |
|
Select the SCAN algorithm from [Plrd-FB14]. |
|
Select the SCF algorithm from [Plrd-ABSB14]. |
|
Select the SCL algorithm from [Plrd-TV11], also support the improved CA-SCL algorithm. |
|
Select the SCL algorithm, same as the previous one but with an implementation optimized to reduce the memory footprint. |
|
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). |
|
Select the A-SCL algorithm, same as the previous one but with an implementation optimized to reduce the memory footprint. |
|
See the common --dec-type, -D parameter. |
|
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 |
---|---|
|
Select the naive implementation which is typically slow (not supported by the A-SCL decoders). |
|
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 |
---|---|
|
Select the inter-frame strategy, only available for the SC
|
|
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 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 [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 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.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.