Keywords

1 Introduction

Polar code is an error correction coding scheme proposed by Arikan [1] in 2009. Unlike low-density parity check (LDPC) codes [2] and turbo codes [3], which have been proved to reach the Shannon limit [4] through experiments, polar code is the first coding scheme that can reach the Shannon capacity through theoretical proof and have been widely concerned in both industrial and academic communities.

Successive Cancellation (SC) decoding [1] is the first decoding algorithm for polar code. This algorithm has low decoding complexity, but its disadvantage is also obvious that the decoding performance is limited in finite code length. On the basis of SC, Successive Cancellation List (SCL) algorithm [5] introduces a decoding list L, which greatly improves the decoding performance at the cost of increased decoding complexity. The CRC-aided SCL(CA-SCL) [6] algorithm further improves the decoding performance of polar code by introducing cyclic redundancy check, but the issue of high complexity is still not addressed. A low complexity decoding algorithm based on parity check concatenated polar codes is proposed in [7], which performs SC decoding and SCL decoding based on parity check for information bits with different reliability respectively. The Low-complexity Successive Cancellation List Decoding of Polar Codes Based on Path Metric [8], hereinafter referred to as PM-SCL, effectively reduces the decoding complexity on the premise of achieving the same performance as SCL by performing SCL decoding before the last frozen bit and then SC decoding. Multi-segment CRC-aided and Partial Path Expansion SCL (MP-SCL) [9] algorithm introduces segmented CRC check and partial path expansion based on CA-SCL, which reduces the complexity of the decoding algorithm. However, the MP-SCL algorithm has the defects of fixed selection of partial path expansion parameters and decoding list size. If these parameters can be flexibly determined, the decoding complexity is expected to be further reduced.

Motivated by the above discussion, we propose a low-complexity polar code decoding algorithm called L-\(\alpha \)-MPSCL, which is characterized by adaptive path expansion and decoding list size. Simulation results show that through the improvement of the above two aspects, our proposed algorithm further reduces the complexity of the MP-SCL algorithm and PM-SCL algorithm on the premise of considerable performance.

2 Proposed Algorithm with Flexible Path Expansion and List Size

2.1 Partial Path Expansion Parameter Determined Based on Channel Reliability

The MP-SCL algorithm uses a parameter \(\alpha \) to represent the scale of decoding path expansion. A smaller \(\alpha \) results in a high decoding complexity and degraded bit error rate performance. In the MP-SCL algorithm, \(\alpha \) in each round of the decoding process is unique and non-adjustable, which leads to a lack of flexibility in reducing decoding complexity.

Based on the above analysis, we propose a decoding algorithm to determine partial path expansion parameter \(\alpha \) according to channel reliability. The error probability of each split sub-channel is obtained by the Gaussian approximation (GA) method [10]. The split sub-channel is divided into message channel set M and frozen channel set F. The former is used to transmit message bits and the latter is used to transmit frozen bits. The determined message channel will be further divided into less reliable message sub-channel \(M_1\) and more reliable message sub-channel \(M_2\) according to the set reliability threshold. Since the error probability of channel set \(M_2\) is lower than that of \(M_1\), the corresponding information bits on channel set \(M_2\) will be decoded more accurately under the same condition. According to the properties of channel polarization principle, the decoding performance of channel set \(M_2\) will be better than that of channel set \(M_1\).

Based on the MP-SCL algorithm [9], we can select the more reliable part \(M_2\) in the information bit channel set during each polarization code construction. This part applies a smaller \(\alpha _1\) for MP-SCL decoding, while the remaining part \(M_1\) in the information bit channel applies a larger \(\alpha _2\) for MP-SCL decoding. Therefore, the decoding complexity will be reduced. Meanwhile the impact of using lower \(\alpha _1\) on the decoding performance can be ignored, because \(\alpha _1\) is applied to the most reliable information channel. The decoding process of MP-SCL with adaptive \(\alpha \) adjustment based on channel reliability is introduced, as shown in Fig. 1 below.

Fig. 1.
figure 1

Partial Path Expansion Parameters Determined Based On Channel Reliability

2.2 Decoding List Size Adjusted According to the Segment CRC Results

MP-SCL algorithm segments the whole decoding process of CA-SCL according to the number of CRC segments, but the size of the decoding path L during the decoding of each segment remains unchanged, and there is no interaction for decoding information between segments. Therefore, we propose a method to dynamically adjust the size of the decoding path list based on the segment CRC results in the process of MP-SCL decoding. Specifically, let \(L_{upper}\) and \(L_{lower}\) respectively denote the upper and the lower limits of the decoding list size. \(L_{start}\) is an initial decoding list size of the decoding algorithm, where \(L_{lower}< L_{start}< L_{upper}\). After each segment decoding, a cyclic redundancy check result can be obtained.

Then, the current size of the segment decoding list L is dynamically adjusted based on the CRC result and the previous L. The operation rules of dynamic L adjustment can be summarized as follows: if at least one decoding path passes CRC check after the current segment decoding, compare the current decoding list size \(L_{cur}\) and the lower limit of decoding list \(L_{lower}\). If \(L_{cur} > L_{lower}\), we reduce \(L_{cur}\) by T times, where the specific value of T can be pre-set. If \(L_{cur}\) = \(L_{lower}\), \(L_{cur}\) will remain unchanged in the next decoding round. If the current segment decoding obtains a surviving decoding path and no path can pass CRC successfully, then compare the current decoding list L and \(L_{upper}\). If \(L_{cur}< L_{upper}\), we enlarge the size of \(L_{cur}\) by T times. If \(L_{cur}\) = \(L_{upper}\), the size of \(L_{cur}\) remains unchanged.

2.3 Overall Decoding Algorithm

Firstly, the Gaussian approximation method is adopted to obtain the error probability of each split sub-channel when constructing the polar code. We use a threshold to distinguish the reliability of the message channels. The channels with reliability values greater than the threshold are used to transmit the bits in \(M_2\). Through simulation results, it is suggested to set the threshold to [0.6,0.8]. Moreover, \(\alpha _2\) should be consistent with \(\alpha \) of the MP-SCL algorithm, and it is verified that setting \(\alpha _1\) to 0.1 is a reasonable choice. Secondly, the decoding list size adjuster determines the list size of the next segment based on the CRC result. Finally, the decoding result is obtained by integrating the decoding results of each segment. Our proposed algorithm is summarized in Algorithm 1.

figure a

3 Simulation Results

In order to evaluate the performance of our proposed decoding algorithm, We use 4 existing algorithms as comparison baselines, i.e., SCL, CA-SCL, PM-SCL and MP-SCL. Let \(\alpha \)-MPSCL represent our proposed decoding algorithm which determines partial path expansion parameters based on channel reliability, and L-\(\alpha \)-MPSCL represent the algorithm that adds the decoding list size adjuster on the basis of \(\alpha \)-MPSCL. Some simulation parameters are shown in Table 1.

Table 1. Simulation Parameters
Fig. 2.
figure 2

Comparison of the complexity of the two decoding algorithms

3.1 Decoding Complexity Comparison

The complexity of different decoding algorithms is compared in terms of the decoding paths corresponding to each bit in the decoding process.

Firstly, we simulate the decoding complexity of MP-SCL (MPSCL in simulation diagram) with partial path expansion parameter of 1.0 and \(\alpha \)-MP-SCL when the signal-to-noise ratio is equal to 2.5 dB. The corresponding simulation results with \(\alpha _1\) = 1.0 and \(\alpha _2\) = 0.1 are shown in Fig. 2 (a) and Fig. 2 (b), respectively. It can be seen that \(\alpha \)-MPSCL can reduce the complexity to a certain extent compared with the conventional MP-SCL, and the complexity is reduced more obviously when the code length is short. The reason is that: the MP-SCL decoding path corresponding to each bit increases slowly when the code length is 1024 compared with 512. After adaptive \(\alpha \) adjustment is introduced, once the \(\alpha \) becomes smaller, the average path of each bit decreases more sharply when the code length is 512 compared with 1024.

Table 2. Proportion of the number of surviving decoding paths

Table 2 lists the proportion of the total decoding paths of the corresponding \(\alpha \)-MP-SCL algorithm to the MP-SCL algorithm under different CRC segmentation strategies when the signal-to-noise ratio is 2.5 dB. It can be concluded that the \(\alpha \)-MP-SCL algorithm will significantly reduce the decoding complexity with the increase of the number of CRC segments.

Table 3. complexity comparison
Fig. 3.
figure 3

Comparison of total survival paths of five decoding algorithms

Table 3 shows the comparison of the total decoding paths of \(\alpha \)-MPSCL and MP-SCL under different signal-to-noise ratios when the code length is 512 and the segmentation strategy is 4 segments, 6 bits. Under the same code length and CRC segmentation strategy, the complexity decreases significantly with the increase of SNR.

When the code length is 1024 and the signal-to-noise ratio is changed from 1 dB to 3 dB, we compare the total number of surviving paths decoded by SCL, PM-SCL, MPSCL, \(\alpha \)-MPSCL and L-\(\alpha \)-MPSCL in the simulation. The results are shown in Fig. 3. The key idea of PM-SCL is to perform SCL decoding before the last frozen bit, and then perform SC decoding. Through the simulation results, it can be concluded that the decoding complexity of the proposed L-\(\alpha \)-MPSCL decoding algorithm is significantly lower than that of other decoding algorithms in the given signal-to-noise ratio range. Specifically, corresponding to the simulation diagram from top to bottom, when the signal-to-noise ratio is 3 dB, the complexity of L-\(\alpha \)-MPSCL is reduced by 73.30%, 69.29%, 43.16%, and 23.67% compared with the other four decoding algorithms.

3.2 Bit Error Rate Performance

After the simulation experiment proves that L-\(\alpha \)-MPSCL decoding algorithm can achieve significant effect in reducing complexity, the following simulation proves that L-\(\alpha \)-MPSCL has the same guarantee in bit error performance compared with other decoding algorithms. Figure 4 shows the simulation diagram of bit error rate of SCL, PM-SCL, MPSCL, \(\alpha \)-MPSCL and L-\(\alpha \)-MPSCL decoding algorithms under different signal-to-noise ratios.

Fig. 4.
figure 4

Comparison of error rate of five decoding methods

As shown in Fig. 5, the performance of bit error rate is compared between L-\(\alpha \)-MPSCL and CA-SCL compare bit error rate under code length 512 or 1024. Firstly, the bit error rate of L-\(\alpha \)-MPSCL follows the principle that the longer the polarization code length is, the lower the bit error rate is when the signal-to-noise ratio is greater than 1 dB. Secondly, L-\(\alpha \)-MPSCL algorithm has better BER performance than CA-SCL algorithm under two code lengths. From the above analysis, it can be seen that the decoding complexity of L-\(\alpha \)-MPSCL is much lower than that of CA-SCL under the same coding condition. This shows that L-\(\alpha \)-MPSCL realizes the simultaneous optimization of CA-SCL algorithm in both complexity and performance. Finally, when the code length is 512, the bit error performance of L-\(\alpha \)-MPSCL is better than CA-SCL under some signal-to-noise ratios. This shows that L-\(\alpha \)-MPSCL can improve the performance degradation of polar code under short code conditions.

Fig. 5.
figure 5

Comparison of bit error rate between CA-SCL and L-\(\alpha \)-MPSCL

4 Conclusion

Aiming at the defect of fixed selection of partial path expansion parameters in MP-SCL, we propose a polarization code decoding algorithm to determine partial path expansion parameters based on channel reliability. The algorithm determines the partial path expansion parameters of each bit through the channel reliability obtained by Gaussian approximation method, and provides the function of adaptive \(\alpha \) selection. In view of the lack of dynamics in the size of MP-SCL decoding list, the L size adjuster is introduced: after each CRC test, the verification result and \(L_{cur}\), \(L_{upper}\) and \(L_{lower}\) are introduced into the L size adjuster to dynamically adjust the L size. Simulation results show that the proposed decoding algorithm can further reduce the decoding complexity on the basis of MP-SCL while ensuring the bit error rate. Our proposed L-\(\alpha \)-MPSCL decoding algorithm provides a tradeoff between complexity and code error rate.