3.2.4.5.2. Polar MK Decoder parameters¶
3.2.4.5.2.1. --dec-type, -D
¶
Type: text Allowed values: SC
SCL
ASCL
CHASE
ML
Default: SC
Examples: --dec-type SCL
Select the decoder algorithm.
Description of the allowed values:
Value | Description |
---|---|
SC |
Select the original SC algorithm from [Ari09]. |
SCL |
Select the SCL algorithm from [TV11], also support the improved CA-SCL algorithm. |
ASCL |
Select the A-SCL algorithm from [LST12], only the PA-SCL variant is available. |
CHASE |
See the common --dec-type, -D parameter. |
ML |
See the common --dec-type, -D parameter. |
At this time, the SC
, SCL
and ASCL
decoders support only a subset of
polar kernels listed below.
\(T2_{Arikan}\) is the original \(2 \times 2\) kernel proposed by Arikan [Ari09]. This matrix is invertible and can be used for systematic encoding/decoding schemes.
\(T3_{Huawei1}\) is a \(3 \times 3\) kernel proposed in [GBLB17]. This matrix is not invertible and cannot be used for systematic encoding/decoding schemes.
\(T3_{Huawei2}\) is a \(3 \times 3\) kernel proposed in [BL18]. This matrix is invertible and can be used for systematic encoding/decoding schemes.
\(T4_{Huawei}\) is a \(4 \times 4\) kernel proposed in [BL18]. This matrix is invertible and can be used for systematic encoding/decoding schemes.
\(T5_{Huawei}\) is a \(5 \times 5\) kernel proposed in [BL18]. This matrix is invertible and can be used for systematic encoding/decoding schemes.
3.2.4.5.2.2. --dec-implem
¶
Type: text Allowed values: NAIVE
Default: NAIVE
Examples: --dec-implem NAIVE
Select the implementation of the decoder algorithm.
Description of the allowed values:
Value | Description |
---|---|
NAIVE |
Select the naive implementation which is typically slow. |
3.2.4.5.2.3. --dec-lists, -L
¶
Type: integer Default: 8
Examples: --dec-lists 1
Set the number of lists to maintain in the SCL decoder.
3.2.4.5.2.4. --dec-node-type
¶
Type: text Allowed values: MS
SPA
Default: MS
Examples: --dec-node-type SPA
Select the type of computations to make in the decoding functions.
Description of the allowed values:
Value | Description |
---|---|
MS |
\(L_a \boxplus L_b \simeq \text{sign}(L_a).\text{sign}(L_b).\min(|L_a|,|L_b|)\). |
SPA |
\(L_a \boxplus L_b = 2\tanh^{-1}(\tanh(\frac{L_a}{2}).\tanh(\frac{L_b}{2}))\). |
3.2.4.5.2.5. References¶
[Ari09] | (1, 2) 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. |
[BL18] | (1, 2, 3) V. Bioglio and I. Land. On the marginalization of polarizing kernels. In International Symposium on Turbo Codes and Iterative Information Processing (ISTC), 1–5. December 2018. doi:10.1109/ISTC.2018.8625378. |
[GBLB17] | F. Gabry, V. Bioglio, I. Land, and J. Belfiore. Multi-kernel construction of polar codes. In International Conference on Communications (ICC), 761–765. IEEE, May 2017. doi:10.1109/ICCW.2017.7962750. |
[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. |
[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. |