A Method for Low Complexity Successive Cancellation List Decoding of Polar Codes
Liang Ma, Hang Li, Yuejun Wei

TL;DR
This paper introduces a low-complexity method for Successive Cancellation List decoding of polar codes that significantly reduces sorting complexity with minimal performance loss, making it more practical for 5G applications.
Contribution
The paper proposes a novel approach to reduce sorting complexity in SCL decoders by decreasing input elements, achieving up to 95% smaller sorter size without performance degradation.
Findings
Up to 95% reduction in sorter size.
Negligible performance loss.
Applicable to 5G polar code decoding.
Abstract
Polar codes have attracted a lot of attention during past few years and have been adopted as a coding scheme for 5G standard. Successive-cancellation list (SCL) decoder provides high level error-correction performance for polar codes, but the implementation complexity grows rapidly with the increase of the list size. Since the computation cost of sorting, many works focus on reducing the sorting complexity for SCL decoder. In this paper, we propose a method for SCL which directly reduce the number of input elements of sorting network without performance loss. Compared with SCL decoder, the proposed method has up to 95\% less sorter size on average, and the performance loss is negligible.
Click any figure to enlarge with its caption.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16| Syndrome | smallest 8 | smallest 4 | smallest 2 | smallest 1 | |
| 4 | - | , , , , , , , | , , , | , | |
| 3 | - | , , , | , | ||
| - | , , , | , |
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.
Taxonomy
TopicsError Correcting Code Techniques · DNA and Biological Computing · Advanced biosensing and bioanalysis techniques
A Method for Low Complexity Successive Cancellation List Decoding of Polar Codes
Liang Ma, Hang Li, and Yuejun Wei, L. Ma, H, Li and Y. Wei are with the Department of Wireless Research Institution, Shanghai Huawei Technologies Co., Ltd., Shanghai 201206, China (e-mail: [email protected]; [email protected]; [email protected]).
Abstract
Polar codes have attracted a lot of attention during past few years and have been adopted as a coding scheme for 5G standard. Successive-cancellation list (SCL) decoder provides high level error-correction performance for polar codes, but the implementation complexity grows rapidly with the increase of the list size. Since the computation cost of sorting, many works focus on reducing the sorting complexity for SCL decoder. In this paper, we propose a method for SCL which directly reduce the number of input elements of sorting network without performance loss. Compared with SCL decoder, the proposed method has up to 95% less sorter size on average, and the performance loss is negligible.
Index Terms:
Polar codes, successive cancellations list decoding, sorter.
I Introduction
Polar codes [1], as the first class of capacity achievable codes, are applied as the coding scheme of the control channels in enhanced mobile broadband (eMBB) in the 5G wireless communication system [11]. Successive cancellation (SC) algorithm is proposed in [1] with low complexity, however, it has a big performance gap compared with ML bound. In [2], SC list (SCL) decoder is proposed which significantly narrows down the performance gap. However, a large list number is required for SCL algorithm in order to achieve a relative better performance, which increases the decoding latency and resource overhead for realization.
In order to decrease the decoding latency, an SC and ML hybrid decoder is proposed [3, 4]. But the complexity is extremely high for implementation. Another method is to increase the degree of decoding parallelism by introducing specific node types, in which multiple bits are decoded simultaneously. To be specific, some simplified path metric (PM) calculations of special nodes (Rate-1, Rate-0, SPC and Rep) are adopted in [8]. For multi-bit parallel decoding, the number of splitting pathes grows exponentially with the number of information bits in the node, resulting in high computation complexity of path metric sorting.
PM sorting is studied in many literatures. Bitonic sorting network, with easy implementation and short delay, can be adopted in SCL decoder to select paths. By taking advantage of the relation of the input value, [5, 6] proposed a simplified bitonic sorter in which redundant comparators are omitted. But the simplified bitonic sorter is difficult to be adopted for multi-bit parallel decoding. A radix sorting based state machine is proposed in [7], which has lower complexity for high channel quality. [9, 10] significantly reduce the sorting network size by limiting the number of splitting pathes in Rate-1 and SPC node. But this method introduces slight performance loss and cannot process the node other than Rate-1 and SPC. Therefore, further investigation is needed to reduce the complexity of sorting network.
This paper focus on reducing sorting network size of SCL decoder. Since the input LLRs for SCL nodes are partially ordered, some paths are more likely to be valid than others. Here, we propose a method for polar SCL decoder, which uses the partial ordered property to find the paths more likely to be correct. Besides, a pattern based selection method is also proposed to further decrease the computation complexity.
The rest of the paper is organized as follows. Section II provides a background on polar codes and its decoding algorithms. In Section III, we propose an simplified SCL polar decoder. Numerical results will be shown in section IV. Finally, conclusions are drawn in Section V.
II Preliminaries
II-A Polar Codes
Polar code is a linear block code recursively concatenated by Kronecker power. An polar code can be represented as
[TABLE]
where is the input vector, is the encoded vector, \bm{G}=\left[{\begin{array}[]{*{20}{c}}1&0\\ 1&1\end{array}}\right] and denotes nth Kronecker power.
The input vector is comprised of information bits and frozen bits. The frozen bits are usually set to be a predefined value (typically 0) known by the decoder. Vector is transmitted through the channel, and the decoder receivers the Logarithmic Likelihood Ratio (LLR) vector for decoding.
II-B Successive Cancellation (SC) and Successive Cancellation list (SCL) decoding
SC decoding can be represented as a binary tree search, and each node represents a sub codeword [8]. The LLRs which is represented as go through the nodes from parents to children, and the hard estimates pass from child to parent. The left and right message and are calculated as [8]
[TABLE]
While is computed as
[TABLE]
Where denotes the node stage in binary tree, denotes the bitwise XOR, and represent the index for current decoded bit in vector . Due to the data dependency, each node receives first, than calculates , hard decides , calculates , hard decides , and finally sends .
[2] proposed SCL decoding algorithm to improve the error correction performance. The key idea is keep not only most reliable decoded sequence but also some suboptimal decoded sequences. To this purpose, a path metric (PM) is associated to each path and update at every new estimation as a cost function. For each decoding step, SCL stores a reliability metric for each path that is updated for every estimated bit according to:
[TABLE]
Where is the path index, is the calculated LLR value of bit at path , and is the estimate of bit at path .
II-C Simplified SCL
In [9], some special nodes with constituent bits are identified, and the candidate codewords corresponding to these nodes can be directly generated without traversing the binary tree. To achieve this goal, a chase decoding providing a list of candidate paths and satisfying node parity check formulas is used. denotes a candidate output codeword of target node. When starting from a source path with reliability , the reliability of the path corresponding to the output codeword is
[TABLE]
Where denotes hard-decision, denotes decoding step index, denotes the node size and is the input LLR values for the node.
III a simplified SCL polar decoder
III-A Path metric probability table
For SSCL decoder, the path metrics (PMs) in step are sorted in accending order. If the next node for decoding contains s information bits, there will be branches split from its parent path. We put PMs of these split branches into a PM table row by row. Then, sort the elements in each row in ascending order and obtain matrix PM’. denotes the elements in l-th row and j-th column for t-th node. denotes the l-th PM obtained from (t-1) step. Derived from (5) that the elements in PM’ has the following propertites:
[TABLE]
[TABLE]
,
It should be noted that the PM’ is only used for illustrate the proposed method, and in next subsection we will show that the sorting operation to get PM’ is unnecessary for real implementation.
Although we don’t know the exact relationship of size between elements in PM’. By (6) and (7), it can be found that the elements in the top left corner have a larger probability lower than the elements in the lower right corner. To verify that, numerical simulations are done to check the probability that each path is selected by a normal SCL decoder. These probabilities are written into a table called PM probability (PMP) table.
Fig. 1 shows a PMP table for as an example. The node size is fixed to 4 in Fig. 1(a) and 8 in Fig. 1(b). The probabilities of different type of nodes are drawn together. The unclassed nodes (not belong to Rate-1, Rate-0 and SPC) will be decoded by an ML decoder. Different colors represent different probabilities.The results show that SCL decoder is more likely to select the PMs in the top left corner on the ordered PM table, so a sorter for a part of PMs has potential to achieve comparable performance with a sorter for all PMs.
Three boxes in different colors are used to select part of elements in the PMP table, and the sums of the probabilities are listed in Table I. The number (x, y, z) after the blue and red boxes represent that the boxes have three levels, each of which keeps x, y and z PMs. The ratio between three levels is set as 1:1:2. From the table, it is found that stair-stepping box is more efficient than a rectangular box for selecting the correct PMs.
III-B A fast calculation of the PM table
In Fig.1, it is found that only the first few columns are needed for PS-SCL. In this part, we will illustrate how to get the smallest 1, 2, 4 or 8 path metrics without sorting all the elements.
As (5) shows, the updated PM value for the step can be calculated as a summation of the PM value in step and the BM (Branch Metric) value in . The BM is calculated as
[TABLE]
In which, is the operation step, is the path index, is the size of the node and is the bit index. is the input LLR of the i-th bit in subpath . donotes the i-th bit in sequence , and denotes the -th candidate output codeword for -th path. denotes hard-decision operation.
In the following text, we take as an example to describe the BM selection procedure. The received LLR vector of a node is , and its absolute value vector is
[TABLE]
where represents a permutation for in ascending order, which satisfies:
[TABLE]
For all the combination of the information bits, the BMs are calculated as:
[TABLE]
If the information bit number (Rate-1 node), all candidate results for BMs are listed as follows:
[TABLE]
Here, a directed graph in Fig.2 is used to indicate the relationships between the PMs, in which an arrow pointing from A to B indicates that A is larger than B. Starting from any element in the graph, all other elements that can be reached are smaller than the element itself. So, we can find the smallest 8, 4, 2 or 1 elements by traversing the directed graph. For (SPC node), similar graph can be used to find the specific smallest elements. The results are shown in table II. For , there are only 4 or 2 candidate BMs, so 4-sorter or 2-sorter can be used directly to find the smallest 1 or 2 BMs.
IV Numerical results
Numerical simulation was conducted to test the error correction performance of the PS-SCL decoder. All simulation results are for QPSK modulated random codewords transmitted over an AWGN channel. The polar codes are constructed by PW sequence in [11] with 38 bit payload, 11 bit CRC and are coded with 128 bits. In Fig.3, the node size is fixed to 4. The PS-SCL method uses a stair-stepping selections with 3 different levels, and the number of kept PMs for the 3 levels is written as level (x, y, z). The ratio of the three levels is set as 1:1:2. For example, if PS-SCL32 is used with (4, 2, 1), the kept PMs in ordered PM table should be the first 4 PMs from row 0 to row 7, the first 2 PMs from row 8 to row 15 and the first 1 PM from row 16 to row 31. The results show that at least for BLER up to 1e-4, the loss of PS-SCL decoder with level (4, 2, 1) compared with normal SCL decoder is negligible.
In Fig.4, the node size is fixed to 8. For the PS-SCL decoder with level (4, 2, 1), as the list size changes from 4 to 32, its performance loss grows from 0.02dB to 0.3dB. If we increase the selection level to (8, 4, 2), the perfromance loss turns to be negligible. Because in Fig. 1, the probability distribution becomes more dispersed when node size grows, more PMs are needed to be selected to avoid performance loss.
If a bitonic sorter is chosen, for input PMs, the total number of compare-and-select (CAS) units can be calculated by (13) from [12]. The total numbers of CAS units for some SCL decoders are shown in Table III.
[TABLE]
Comparied with normal SCL, the proposed PS-SCL has 95% less CAS units for node size 4 and 99% less CAS units for node size 8. Comparied with Fast-SSCL, PS-SCL has 65% less CAS units on average.
V Conclusion
In this work, a selection method is proposed to reduce the complexity of sorting network for polar SCL decoder. The method takes advantage of the ordered property of path metrics (PMs) to make an ordered PM table, and uses a stair-stepping box selection on PM table to find the PMs that are more likely to be selected by a normal SCL decoder. Furthermore, a fast calculation method is proposed to find these PMs easily. Compared with normal SCL decoder, the PS-SCL can reduce the compare-and-select (CAS) units of a bitonic sorter up to 95%. Numerical results show that the performance loss of the PS-SCL is negligible with a suitable selection box size. When list size or node size grows larger, a larger selection box size is needed to avoid error correction perfromance loss. Next, we will focus on designing different selecting boxes for different nodes in the future.
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, Jul. 2009
- 2[2] I. Tal, A. Vardy, ”List decoding of polar codes”, IEEE Transactions on Information Theory , vol. 61, no. 5, pp. 2213-2226, May. 2015
- 3[3] B Li, H. Shen, D. Tse, W. Tong, ”Low-latency polar codes via hybrid decoding”, 2014 8th International Symposium on Turbo Codes and Iterative Information Processing (ISTC) , Aug. 2014
- 4[4] B. Yuan, K. K. Parhi, ”Low-Latency Successive-Cancellation List Decoders for Polar Codes With Multibit Decision”, IEEE Transactions on Very Large Scale Integration (VLSI) Systems , vol. 23, no. 10, pp. 2268-2280, Oct. 2014
- 5[5] H. Li, ”Enhanced Metric Sorting for Successive Cancellation List Decoding of Polar Codes”, IEEE Communications Letters , vol. 22, no. 4, pp. 664-667, Feb. 2018
- 6[6] B. Y. Kong, H. Yoo, I C. Park, ”Efficient Sorting Architecture for Successive-Cancellation-List Decoding of Polar Codes”, IEEE Transactions on Circuits and Systems II: Express Briefs , vol. 63, no. 7, pp. 673-677, Feb. 2016
- 7[7] S. Shi, B. Han, J L Gao, Y J Wang, ”Enhanced successive cancellation list decoding of polar codes”, IEEE Communications Letters , vol. 21, no. 6, pp. 1233-1236, Mar. 2017
- 8[8] S A Hashemi, C Condo, W J. Gross, ”Fast simplified successive-cancellation list decoding of polar codes”, 2017 IEEE Wireless Communications and Networking Conference Workshops (WCNCW) , Mar. 2017
