# 3.2.4.5.2. Polar MK Decoder parameters¶

## 3.2.4.5.2.1. --dec-type, -D¶

Type: text SC SCL ASCL CHASE ML SC --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.

$\begin{split}T2_{Arikan} = \begin{bmatrix} 1 & 0 \\ 1 & 1 \end{bmatrix}.\end{split}$

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

$\begin{split}T3_{Huawei1} = \begin{bmatrix} 1 & 1 & 1 \\ 1 & 0 & 1 \\ 0 & 1 & 1 \end{bmatrix}.\end{split}$

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

$\begin{split}T3_{Huawei2} = \begin{bmatrix} 1 & 0 & 0 \\ 1 & 1 & 0 \\ 1 & 0 & 1 \end{bmatrix}.\end{split}$

$$T3_{Huawei2}$$ is a $$3 \times 3$$ kernel proposed in [BL18]. This matrix is invertible and can be used for systematic encoding/decoding schemes.

$\begin{split}T4_{Huawei} = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 1 & 0 & 1 & 0 \\ 1 & 1 & 1 & 1 \end{bmatrix}.\end{split}$

$$T4_{Huawei}$$ is a $$4 \times 4$$ kernel proposed in [BL18]. This matrix is invertible and can be used for systematic encoding/decoding schemes.

$\begin{split}T5_{Huawei} = \begin{bmatrix} 1 & 0 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 & 0 \\ 1 & 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 1 & 0 \\ 1 & 1 & 1 & 0 & 1 \end{bmatrix}.\end{split}$

$$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 NAIVE NAIVE --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 8 --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 MS SPA MS --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.