Permutation Decoding of Polar Codes
Mikhail Kamenev, Yulia Kameneva, Oleg Kurmaev, Alexey Maevskiy

TL;DR
This paper introduces a permutation decoding method for polar codes that achieves similar error correction performance to SCL decoders but with lower latency and without sorting operations.
Contribution
It proposes a novel permutation decoding algorithm for polar codes that reduces complexity and latency compared to traditional SCL decoding.
Findings
Error correction performance comparable to SCL decoders
Reduced latency due to elimination of sorting operations
New polar code construction improves performance under the proposed decoding
Abstract
A new permutation decoding approach for polar codes is presented. The complexity of the algorithm is similar to that of a successive cancellation list (SCL) decoder, while it can be implemented with the latency of a successive cancellation decoder. As opposed to the SCL algorithm, the sorting operation is not used in the proposed method. It is shown that the error correction performance of the algorithm is similar to that of the SCL decoder for polar codes. Moreover, a new construction aiming to improve the error correction performance of polar codes under the proposed algorithm is presented.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Permutation Decoding of Polar Codes
Mikhail Kamenev, Yulia Kameneva, Oleg Kurmaev, Alexey Maevskiy
Moscow Research Center, Huawei Technologies Co., Ltd.
Moscow, Russia
Email: {kamenev.mikhail1, kameneva.iuliia, oleg.kurmaev, maevskiy.alexey}@huawei.com
Abstract
A new permutation decoding approach for polar codes is presented. The complexity of the algorithm is similar to that of a successive cancellation list (SCL) decoder, while it can be implemented with the latency of a successive cancellation decoder. As opposed to the SCL algorithm, the sorting operation is not used in the proposed method. It is shown that the error correction performance of the algorithm is similar to that of the SCL decoder for polar codes. Moreover, a new construction aiming to improve the error correction performance of polar codes under the proposed algorithm is presented.
I Introduction
Polar codes have been shown to achieve the symmetric capacity of any binary-input discrete memoryless channel under a low-complex successive cancellation (SC) decoder [1]. However, the performance of the finite length polar codes under the SC decoder is quite poor. To solve the issue, a successive cancellation list (SCL) decoder has been proposed [2]. It allows getting performance very close to that of maximum-likelihood decoding. It has been shown that if some additional information is used to select the correct codeword from the list, e.g. cyclic redundancy check (CRC), then it is possible to achieve the performance of the state-of-the-art low-density parity check codes.
The bottleneck of the SCL decoding algorithm with a large list size is sorting operation increasing the decoding latency [3]. One of the approaches to get rid of sorting, while keeping the error correction performance close to that of the SCL decoder, is an SC flip decoder [4]. If the codeword returned by the algorithm does not pass the CRC, then the algorithm has several attempts to identify the first error bit and to flip it. Some approaches have been proposed recently aiming to enhance the identification of the first error bit index [5]. The procedures allow improving the performance of the SC algorithm while requiring the same amount of memory [4].
In the paper, a new permutation decoding method for polar codes is proposed. Its error correction performance is similar to that of the SCL decoding method, while it can be implemented with the latency of the SC decoder and the hardware complexity , where is the code length and is the list size. It is shown that the method can be used for decoding of polar codes optimized for the SCL algorithm. Also, an algorithm for the optimization of the frozen bits set for considered permutation decoding is presented.
The rest of the paper is organized as follows. Section II provides a general description of polar codes. In section III a new permutation decoding method for polar codes is presented. In section IV we propose a method for finding good permutations and an approach for the optimization of the frozen bits set for the proposed permutation decoding algorithm. Numerical results are presented in section V. We conclude the paper in section VI.
II Polar codes
polar code [1] is a linear block code of length , where is some positive integer, and dimension generated by rows , of the matrix
[TABLE]
where denotes -times Kronecker product of the matrix with itself. The set of frozen bits is constructed as a set of indices maximizing error correction performance of the code. For instance, Gaussian approximation (GA) for density evolution [6] can be used to generate polar codes having optimal error correction performance under the SC decoding algorithm in the binary-input additive white Gaussian noise (BI-AWGN) channel.
Polar codes log likelihood ratio (LLR) based SCL decoding [3] can be efficiently implemented using the factor graph representation [1]. LLRs are calculated in a recursive manner using the following operations
[TABLE]
where and are real, while is binary. Instead of using (2a), we will follow the approach proposed in [3] and use the hardware-friendly approximation, namely
[TABLE]
III Permutation decoding algorithm
Recall that a permutation group of the code contains permutations of the code positions that does not change the set of codewords, i.e. transform any codeword of the code to another or the same codeword. For instance, Reed-Muller codes have the permutation group, which is isomorphic to the whole affine group [7, Sec. 13.9]. Unfortunately, the permutation group of an arbitrary polar code have no explicit construction [8]. Here, for simplicity, we will consider only factor graph layers permutations [9]. Let be the corresponding bit indices permutation.
The set of frozen bits may be changed after applying a factor graph layers permutation. In such a case the permutation does not belong to the permutation group, but the code remains polar and can be decoded using the SC algorithm [10]. Moreover, such kind of permutation can lead to a significant error correction performance degradation. Thus, the joint optimization of the frozen bits set and the permutations set is required. Also, it is possible to optimize the permutations set for the fixed frozen bits set.
Here the following permutation decoding approach is proposed. Firstly, a permutations set containing factor graph layers permutations is generated. Then, the SC algorithm process permuted versions of the received channel LLRs, and return decoded codewords with the corresponding metrics. Finally, the codeword with the best metric is returned as the output of the algorithm. The formal description of the proposed permutation decoding method with the LLR based metric is presented in Figs. 1 – 2. An example of the factor graph layers permutation and its effect on the SC decoding algorithm is depicted in Fig. 3.
The latency and the hardware complexity of the proposed permutation algorithm can be estimated using that of the SC decoder. The latency of the SC decoder equals , while the hardware complexity equals [11], where is the code length. Observe that all instances of the SC decoder are independent and can be run in parallel. Thus, the latency of a parallel implementation equals that of the SC decoder, while the hardware complexity equals that of independent SC decoders, namely . To minimize the hardware complexity of the proposed decoder, it is possible to run instances of the SC decoders one after another. In such a case, the hardware complexity of the considered permutation decoding method equals that of the SC decoder, namely , while the latency equals . Also, the considered permutation decoding algorithm benefits from different hardware improvements of the SC decoder.
The main benefit of the proposed method is that it does not use a sorting operation. Thus it is more feasible for a hardware implementation than the SCL algorithm. However, the presented permutation decoder can return less than unique codewords, limiting the error correction performance in the case when the CRC is used to select the correct codeword from the list. Nevertheless, the fact can be used to significantly decrease the number of calculations, with the error correction performance degradation being negligible [12].
IV Permutations and frozen bits sets optimization
IV-A Permutations set optimization for the fixed frozen bits set
It has been observed that an arbitrary factor graph layers permutation can lead to a significant error correction performance degradation due to the frozen bits set change [10]. Thus, the permutations set should be optimized to maximize the error correction performance of the decoder. Since for the code of length there are possible permutations, it is impossible to use simulations to find the best permutations set for a large . So, we propose a sub-optimal approach based on optimization of a lower bound for the error correction performance of the considered permutation decoder.
Let be the event that the SC decoder returns an incorrect codeword in the case the permutation is applied. Then the block error probability of the proposed permutation decoding algorithm with list size can be estimated as
[TABLE]
Since the conditional probability is hard to evaluate, we will consider a lower bound for , namely
[TABLE]
can be efficiently calculated using GA for density evolution. The algorithm can be used to estimate the error probability of the synthetic bits subchannels [6], where is the channel index. Knowing all , the block error probability in the case the permutation is applied can be approximated as
[TABLE]
where [6]. So, (5) can be evaluated using the output of a single launch of GA for density evolution, and block error probability approximations (6).
Based on (5), a permutations set for the fixed frozen bits set can be optimized as follows. Firstly, the bit error probability is calculated for each synthetic subchannel. Then, the block error probability is calculated for each layers permutation. Finally, layers permutations are sorted by the corresponding block error probability in ascending order, and permutations with the lowest block error probability are selected.
Although (5) allows getting a rough estimate of the block error probability of the considered permutation decoder, it does not take into account that two permutations having low block error probability can correct the same error patterns. This fact significantly affects the error correction performance of the permutation decoder optimized by the proposed algorithm. It has been observed that the layers permutations with the lowest block error probability are similar to each other in terms of Hamming distance. So, it is assumed that the layers permutations with the small Hamming distance correct a large number of identical error patterns. In order to solve the issue, it is proposed to select layers permutations having large enough Hamming distance to each other. As will be shown later, this limitation allows significantly improve the error correction performance of the proposed decoder.
IV-B Frozen bits set optimization for permutation decoding
Recall that Reed-Muller codes have the permutation group, which is isomorphic to the whole affine group [7, Sec. 13.9]. Thus, any permutations set is optimal from (5) point of view. Moreover, it has been observed that the error correction performance of the considered algorithm is similar to that of the SCL in the case of Reed-Muller codes decoding [12]. Based on the observation, construction of polar codes having known automorphism group is proposed. The main idea of the approach is to select a set of layers that can be permuted randomly without the error correction performance degradation under SC decoding. Thus, the permutations set is constructed as a subset of such permutations. Nevertheless, one needs to construct a frozen bits set having both good error correction performance under SC decoding and a large enough automorphism group.
While optimizing polar code using GA for density evolution, one needs to choose information bits corresponding to synthetic subchannels having the largest capacity. In order to preserve the automorphism group, it is necessary to split bits indices into disjoint sets in such a way, that
[TABLE]
where is a subset of permutations, which are used for decoding. We refer as a set of all available permutations. So, the set of frozen bits is constructed as a set of sets having the lowest synthetic subchannels capacity. This construction guarantees that any permutation can be efficiently used for the considered permutation decoding method without additional optimization.
Example: Consider a polar code of length 32. Let a set of all available permutations be constructed as the subset of factor graph layers permutations . In such a case, bits indices can be splitted as
[TABLE]
It can be easily seen that a code of any dimension can be constructed using splitting (8).
Based on a splitting, the frozen bits set construction task can be solved as a knapsack problem, with weights being equal to the cardinality of the set. Value of each set can be calculated as the maximum bit error probability of synthetic bit subchannel corresponding to an index in the set. Although it is not guaranteed that it is possible to construct a polar code of a given dimension in such a manner, one can construct a polar code of a dimension and remove some bit indices from the worst value set. In such a case, permutations from the set can lead to the frozen bits set change, but the block error probability for each permutation is upper bounded by the block error probability of the code with dimension .
V Simulation results
It is assumed that the transmission is performed over a BI-AWGN channel and block error rate (BLER) is estimated. Effect of different permutations sets on the error correction performance of the considered permutation decoder is depicted in Fig. 4. The polar code of length 256 and dimension 128 obtained using the construction adopted by the 3rd Generation Partnership Project (3GPP) [13] is considered. The list size equals 16. A random permutations set contains trivial permutation and 15 random ones. Also, permutations sets optimized using (5) with the minimum Hamming distance between the elements constraint are taken into account. Simulation results demonstrate that the considered permutation decoding algorithm with the permutations set optimized with the minimum Hamming distance constraint allows getting the error correction performance close to that of the SCL decoder. Namely, performance degradation is at most 0.25 dB. The random permutations set, as well as the set optimized without minimum Hamming distance constraint, demonstrates performance degradation at least 0.5 dB for high Signal-to-Noise Ratio (SNR) region.
The error correction performance of polar codes of length 512 and dimensions 170 and 256 under the SCL and the permutation decoding algorithm with list size 16 are presented in Fig. 5 and Fig. 6 respectively. For the fixed frozen bits set scenario, indices of frozen subchannels are selected in accordance with the procedure adopted by the 3GPP [13], while the permutations set is optimized using lower bound for the error correction performance (5). Moreover, it is considered that Hamming distance between any two permutations in the permutations set is greater or equal than 5. For joint optimization scenario, the set of frozen bits is optimized using GA for density evolution, while the permutations set is a subset of all available permutations . Thus, the maximum list size equals .
In case of the predefined frozen bits set, the permutation decoder demonstrates error correction performance degradation up to 0.25 dB, while the joint optimization of both the frozen bits set and the permutations set allows getting codes having the same error correction performance under the SCL and the permutation decoding algorithms. Moreover, joint approach outperforms 3GPP polar codes in high SNR region under the proposed permutation decoding method for the considered dimensions.
VI Conclusions
A novel permutation decoding approach for polar codes is presented. The main benefit of the proposed method is absence of sorting operations making it more feasible for hardware implementation in comparison with the SCL algorithm. It is shown that it is possible to construct polar codes having similar performance under the SCL and considered permutation decoding while outperforming state-of-the-art 3GPP polar codes in high SNR region under SCL decoding with list size 16. Moreover, it is demonstrated that it is possible to optimize a permutations set for the fixed frozen bits set, with the error correction performance degradation being at most 0.25 dB. The construction of the permutations set is based on minimization of the lower bound for the error correction performance, while the exact theoretical analysis of the block error probability is an open problem.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] E. Arikan, “Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels,” IEEE Transactions on Information Theory , vol. 55, no. 7, pp. 3051–3073, July 2009.
- 2[2] I. Tal and A. Vardy, “List decoding of polar codes,” IEEE Transactions on Information Theory , vol. 61, no. 5, pp. 2213–2226, May 2015.
- 3[3] A. Balatsoukas-Stimming, M. B. Parizi, and A. Burg, “LLR-based successive cancellation list decoding of polar codes,” IEEE Transactions on Signal Processing , vol. 63, no. 19, pp. 5165–5179, Oct 2015.
- 4[4] O. Afisiadis, A. Balatsoukas-Stimming, and A. Burg, “A low-complexity improved successive cancellation decoder for polar codes,” in 2014 48th Asilomar Conference on Signals, Systems and Computers , Nov 2014, pp. 2116–2120.
- 5[5] L. Chandesris, V. Savin, and D. Declercq, “Dynamic-SC Flip decoding of polar codes,” IEEE Transactions on Communications , vol. 66, no. 6, pp. 2333–2345, June 2018.
- 6[6] P. Trifonov, “Efficient design and decoding of polar codes,” IEEE Transactions on Communications , vol. 60, no. 11, pp. 3221–3227, November 2012.
- 7[7] F. J. Mac Williams and N. J. A. Sloane, The theory of error-correcting codes . Amsterdam, The Netherlands: North-Holland, 1977.
- 8[8] M. Bardet, V. Dragoi, A. Otmani, and J. Tillich, “Algebraic properties of polar codes from a new polynomial formalism,” in 2016 IEEE International Symposium on Information Theory (ISIT) , July 2016, pp. 230–234.
