Low Complexity List Successive Cancellation Decoding of Polar Codes
We propose a low complexity list successive cancellation (LCLSC) decoding algorithm to reduce complexity of traditional list successive cancellation (LSC) decoding of polar codes while trying to maintain the LSC decoding performance at the same time. By defining two thresholds, namely “likelihood ratio (LR) threshold” and “Bhattacharyya parameter threshold”, we classify the reliability of each received information bit and the quality of each bit channel. Based on this classification, we implement successive cancellation (SC) decoding instead of LSC decoding when the information bits from “bad” subchannels are received reliably and further attempt to skip LSC decoding for the rest information bits in order to achieve a lower complexity compared to full LSC decoding. Simulation results show that the complexity of LCLSC decoding is much lower than LSC decoding and can be close to that of SC decoding, especially in low code rate regions.
Polar codes are capacity-achieving codes for the class of binary-input discrete memoryless channels (B-DMCs). In , successive cancellation (SC) decoding is used to recover information bits. Later in , belief propagation (BP) decoding is employed to achieve better performance in BECs, but in general B-DMCs the specific schedule of the individual messages for BP decoding is a problem. Linear programming (LP) decoding is introduced afterwards without any schedule, but it does not work for other channels except BECs . Recently, list successive cancellation (LSC) decoding of polar codes is developed and shows significant performance improvement compared with SC decoding. However, much higher decoding complexity is observed for LSC  . Thus, to find a decoding algorithm with both good frame error rate (FER) performance and low complexity is an open interest. In this paper, we propose a low complexity list successive cancellation (LCLSC) decoding algorithm to significantly reduce the complexity of LSC decoding while trying to maintain its FER performance.
Ii Polar Codes and List Successive Cancellation Decoding
In , polar codes are introduced to achieve the capacity of B-DMCs by exploiting the channel polarization effect. For an polar code of information bits and encoded bits (), an invertible matrix is introduced to describe channel polarization. Here, is a matrix where and denotes the Kronecker product. Let and denote the vector of input bits and encoded bits correspondingly, while denotes the vector of channel output. For the vector channel of copies of a given B-DMC , the transition probability between and is defined as
and the subchannel with input and output has the transition probability
The polar encoding scheme is to transmit the set of information bits over most reliable subchannels out of subchannels and to use the other ones to transmit the so called “frozen” bits. Note that is labeled with respect of the sequence that information bits are decoded, i.e. is the first decoded information bit while is the last decoded information bit. This labelling is also used in and which will be introduced later. In , SC decoding is used to recover information bits , where the estimation of information bits , are successively generated by computing the likelihood ratios (LRs) :
LSC decoding is the extension of SC decoding, which is actually a breadth-first searching on the code tree with searching width . LSC decoding keeps a list of size and updates the list after each , is obtained. It is well known that the complexity of LSC decoding is with the so called “lazy copy” strategy, which is times of the complexity of SC decoding  . For more about LSC decoding, we refer readers to  .
Iii preliminaries of the proposed algorithm
LSC decoding with large list size performs significantly better than SC decoding, but its complexity is also much higher, which is a deficiency in practical implementation. In this paper, we are interested in finding a low complexity decoding algorithm that can greatly reduce the complexity of LSC decoding while trying to maintain the FER performance of LSC decoding at the same time.
For convenience, we give the definition below before introducing our proposed algorithm.
Based on channel polarization, a subchannel transmitting information bit is called a “good” subchannel if and only if its Bhattacharyya parameter and all the Bhattacharyya parameters of its subsequential decoded information bits are smaller than a threshold (i.e. the Bhattacharyya parameter threshold will be discussed later). Otherwise, the subchannel is called a “bad” one.
Then we introduce two parameters of the proposed decoding algorithm. One is called “LR threshold” , which determines whether an information bit is received reliably or not. This parameter is used to decide whether to process SC decoding or LSC decoding over based on the observation of . The other parameter is the “Bhattacharyya parameter threshold” . Based on the channel polarization effect, the set of information bits can be divided into two subsets, namely , which stands for the set of information bits that are transmitted over “bad” subchannels thus are more probable to contribute to FER, and , which stands for the set of information bits that are all transmitted over “good” subchannels thus are more reliable, given correctly estimated . The Bhattacharyya parameter threshold is used to decide the number of information bits transmitted over “bad” subchannels, which is denoted by , and .
The motivation of the proposed decoding algorithm is to reduce the LSC decoding complexity. We achieve this by two folds. For each information bit, when its estimation is reliable, we process SC decoding rather than LSC decoding. Secondly, when all information bits from “bad” subchannels are received reliably, we process SC decoding instead of LSC decoding for information bits from “good” subchannels as well.
Now we briefly describe the proposed LCLSC decoding, which is shown as Algorithm 1. After starting the decoding process, we observe the LRs of information bits in bit by bit. If the observed LR of is larger than the LR threshold , SC decoding is processed over . If is greater than for all information bits of subset (i.e. ), we process SC decoding for the rest of information bits . On the other hand, if is less than the LR threshold for any , we process LSC decoding for this information bit and the remaining information bits in .
It is clear that in the proposed decoding algorithm, we have two thresholds to determine. One is the LR threshold , the other is the Bhattacharyya parameter threshold . We discuss these two thresholds in the following sections.
Iv determining the LR threshold
As discussed above, if the LR of any information bit at the receiver is sufficiently high, i.e. larger than the LR threshold , each of the information bit over “bad” subchannels is received reliably. Then we only need to process SC decoding instead of LSC decoding since the received signal is more likely to be decoded correctly. For the purpose of determining , we introduce the Proposition below.
In a B-DMC with Bhattacharyya parameter , the upper bound of the bit error probability in estimating the channel input on the basis of the channel output via the maximun-likehood (ML) decoding is given as follows 
Based on Proposition 1, it can be concluded that the lower bound of the probability that the input bit is correctly estimated is , where denotes the Bhattacharyya parameter of the subchannel where is transmitted.
For an input bit , if the probability of determining as 0 or 1 is smaller than , we regard is not reliable and need to process LSC decoding over . On the other hand, if the probability of determining as 0 or 1 is larger than , we consider the estimation is reliable and thus employ SC decoding. Therefore, we derive the inequalities which are satisfied when the estimation is reliable
which represents the lower bound of correct decoding probability for information bit .
When either of the inequalities in (4) is satisfied, we process SC decoding instead of LSC decoding over . Thus, is defined as
which means when the observed LR is larger than 1, we process SC decoding instead of LSC decoding if the observed LR is larger than . When the observed LR is smaller than 1, we do the same if the observed LR is smaller than .
V determining the Bhattacharyya parameter threshold
In this section the Bhattacharyya parameter threshold that determines is derived. We look deeper and exploit the reliability of good polarized subchannels. In consistent with , the Bhattacharyya parameter is utilized to measure the reliability of subchannels. Based on Definition 1, can be expressed as:
Since the bit error events in SC decoding are not independent, the FER lower bound of the ML decoding is derived according to Proposition 1
In , serves as the FER upper bound of the SC decoding . Thus, we have
It is noted that consists of the Bhattacharyya parameters of different subchannels transmitting information bits. Some of them are quite small leading to reliable subchannels, others are large resulting in unreliable subchannels. As FER mainly results from subchannels with larger , we could determine the Bhattacharyya parameter threshold as the one that can approach the FER lower bound of ML decoding :
which can be explained as follows. We consider a subchannel where is transmitted. If is larger than , then we have larger than the FER lower bound of ML decoding. Thus we consider the subchannel less reliable. Therefore, to achieve a good FER performance, we should observe whether the estimation satisfies . If is satisfied, we regard is reliably recovered. Otherwise, we should process LSC decoding over to approach the FER performance of ML decoding (note LSC decoding becomes ML decoding when , and practically the performance of LSC decoding is very close to ML decoding with moderate ). If is less than , we have lower than the FER lower bound of . Therefore, is considered a more reliable subchannel and then the SC decoding is likely to provide correct estimation of the information bit, if the LR thresholds of are all satisfied. As mentioned above, the information bits in all have a Bhattacharyya parameter smaller than . Therefore, it is reasonable to process SC decoding over to approach the FER of ML decoding if the estimation of is reliable.
Based on the discussion above, the Bhattacharyya parameter threshold is determined as
and can be obtained according to (7), as is the first “good” subchannel in the decoding process.
Vi complexity analysis and simulation results
In this section we first analyze the complexity of the LCLSC decoding. Note in the LCLSC decoding, the SC decoding is processed over some (or all) information bits while the LSC decoding is processed over the rest ones. Denote as the average number of information bits over which we process SC decoding and thus is the average number of information bits over which the LSC decoding is processed. In consistent with , the computational model for complexity analysis is a single processor machine with random-access memory, and the complexities expressed are time complexities. For the decoding algorithms, the time complexities are measured with the total number of LR calculations. Note that the time complexity of SC and LSC decoding is and respectively, meaning the number of LR calculations is and correspondingly . Then the average number of LR calculations of our proposed LCLSC decoding algorithm is given by
When implementing the LCLSC decoding algorithm, there may be the case that all the information bits are recovered with SC decoding and there may also be the case that some information bits are recovered with SC while others with LSC decoding. So the complexity in (12) is actually an averaged complexity. Also, the complexity of LCLSC decoding in the Figures below are all averaged over the simulation. It is straightforward that is less than , thus the proposed LCLSC decoding has a lower decoding complexity than LSC decoding, which will be shown in the following. The saving in decoding complexity is considerable for low code rates.
Now, we present simulation results of a polar code with length 512 and different code rates. The results for the BEC with erasure rate , the BSC with cross probability 0.11 and the BAWGNC with the standard deviation of Gaussian noise are depicted. Figs 1, 2 and 3 show the FER performance of the SC, LSC and LCLSC decoding on various channels. The capacity for both the BSC and the BAWGNC is 0.5 and the codes for BSC and BAWGNC are those optimzed via Arikan’s heuristic method . In the LCLSC decoding, the LR threshold is determined by the correct decoding probability for each information bit , as discussed above. In the results of the BEC, we set in two different ways: (i) set to be its lower bound , as (5), and (ii) set to be a fixed value 0.9. As the polarization indices are not known in closed form for the BSC and the BAWGNC, is therefore set to 0.9 in those channels. List size is set to 16 in both the LSC and LCLSC decoding.
From Figs 1, 2 and 3 we can see that the LCLSC decoding has almost the same FER performance as LSC decoding and much better FER performance than SC decoding. Figs 4, 5 and 6 show the corresponding complexity of the three decoding algorithms on various channels. It is illustrated that the LCLSC decoding has a lower complexity than the LSC decoding. The complexity reduction is larger with lower code rate, as there are more “reliable” subchannels where we could process SC decoding instead of LSC decoding. Especially, in low to medium code rates, the complexity of LCLSC decoding is near to that of SC decoding with slightly degraded FER performance compared with LSC decoding.
In this paper, an LCLSC decoding algorithm that can reduce the complexity of LSC decoding was proposed. We set an LR threshold and a Bhattacharyya parameter threshold to determine the information bits over which SC decoding instead of LSC decoding could be utilized. Simulation results showed that the proposed decoding algorithm could reduce the decoding complexity of LSC decoding significantly with low code rate while almost maintaining the same FER performance.
-  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, 2009.
-  E. Arikan, “A performance comparison of polar codes and reed-muller codes”, IEEE Communications Letters, vol. 12, no. 6, pp. 447-449, 2008.
-  N. Goela, S. B. Korada and M. Gastpar, “On LP decoding of polar codes”, IEEE Information Theory Workshop (ITW), Dublin, Ireland, pp. 1-5, 2010.
-  I. Tal and A. Vardy, “List decoding of polar codes”, IEEE int. Symp. Inform. Theroy (ISIT), pp. 1-5, 2011.
-  K. Chen, K. Niu and J. R. Lin, “List successive cancellation decoding of polar codes”, Electronics Letters, vol. 48, no. 9, pp. 500-501, 2012.
-  S. Hamed Hassani, R. Mori, T. Tanaka and R. Urbanke, “Rate-Dependent Analysis of the Asymptotic Behavior of Channel Polarization”, IEEE Transactions on Information Theory, vol. 59, no. 4, pp. 2267-2276, 2013.