A Generalization Belief Propagation Decoding Algorithm for Polar Codes Based on Particle Swarm Optimization

We propose a generalization belief propagation (BP) decoding algorithm based on particle swarm optimization (PSO) to improve the performance of the polar codes. Through the analysis of the existing BP decoding algorithm, we first introduce a probability modifying factor to each node of the BP decoder, so as to enhance the error correcting capacity of the decoding. Then, we generalize the BP decoding algorithm based on thesemodifying factors and drive the probability update equations for the proposed decoding. Based on the new probability update equations, we show the intrinsic relationship of the existing decoding algorithms. Finally, in order to achieve the best performance, we formulate an optimization problem to find the optimal probability modifying factors for the proposed decoding algorithm. Furthermore, a method based on the modified PSO algorithm is also introduced to solve that optimization problem. Numerical results show that the proposed generalization BP decoding algorithm achieves better performance than that of the existing BP decoding, which suggests the effectiveness of the proposed decoding algorithm.

Based on the successive-cancelation (SC) decoding algorithm proposed by Arıkan [1], authors of [4,5] had introduced a list successive-cancelation (SCL) decoding algorithm with consideration of  SC decoding paths, where the results showed that performance of SCL was very close to that of maximum-likelihood (ML) decoding.Then, to decrease the time complexity of the SCL, another decoding algorithm derived from SC called stack successive-cancelation (SCS) was proposed in [6].Furthermore, it was proven in [7] that, with cyclic redundancy check (CRC) aided, SCL even outperformed more than some turbo codes.However, due to the serial processing nature of the SC, all the algorithms in [4][5][6][7] would suffer a low decoding throughput and high latency.Therefore, some improved versions of SC were further proposed with the explicit aim to increase throughput and reduce the latency without sacrificing error-rate performance, such as simplified successive-cancellation (SSC) [8], maximumlikelihood SSC (ML-SSC) [9], and repetition single parity check ML-SSC (RSM-SSC) [10,11].Besides from those SC based algorithms, researchers had also investigated some other algorithms more in parallel, one typical representation of which was the belief propagation (BP) [12] decoding algorithm.With the factor graph representation of polar codes [13], authors in [14,15] showed that BP polar decoding has particular advantages with respect to the decoding throughput, while the performance was better than that of the SC and some improved SC decoding.What is more, with the minimal stopping set optimized, results of [16,17] had shown that the error floor performance of polar codes was superior to that of LDPC codes.
Indeed, all the decoding algorithms in [4][5][6][7][8][9][10][11][12][13][14][15][16][17] can improve the performance of polar codes to a certain degree.However, as the capacity achieving coding scheme, the results of those algorithms is still limited.Hence, in this paper, we propose a generalization belief propagation (BP) decoding algorithm based on particle swarm optimization (PSO) to improve the performance of the polar codes with the finite length.Based on the analysis results of the existing BP decoding algorithm, we first show that the error-correcting capacity of the BP decoding algorithm is important for performance of the decoding.Motivated by that observation, we introduce a probability modifying factor to each node of the BP decoder to enhance the reliability of the probability updated.Then, we generalize the BP decoding algorithm on the basis of these modifying factors and further drive the probability update equations for the proposed generalization BP decoding.Finally, in order to achieve the best performance, we formulate an optimization problem to find the optimal probability modifying factors for the proposed generalization BP decoding.Furthermore, a method based on the modified PSO algorithm is also introduced to solve the optimization problem.The main contributions of this paper can be summarized as follows.
(i) A generalization belief propagation (BP) decoding algorithm based on probability modifying factor is introduced.Furthermore, as to improve the performance of the proposed decoding, a BP decoding algorithm optimization problem is formulated.
(ii) A method based on the modified PSO algorithm is introduced to solve the optimization problem.
The finding of this paper suggests that with the probability modifying factor, the error-correcting capacity of the BP decoding can be enhanced, and the performance of the polar codes can be improved correspondingly, which is finally proven by the simulation results.
The remainder of this paper is organized as follows.In Section 2, we explain some notations and introduce some background on the polar codes.And in Section 3, the generalization belief propagation (BP) decoding algorithm based on the probability modifying factors is described in detail.In Section 4, we formulate and solve the optimization problem of finding the probability modifying factors.And Section 5 provides the simulation results for the complexity and bit error performance of the proposed decoding.Finally, we make some conclusions in Section 6.
When  > ,    is an empty vector.Further, given a vector set U, vector ⃗   is the th element of U. The matrices in this paper are denoted by bold letters.The subscript of a matrix indicates its size, for example, A × represents an  ×  matrix A. Specifically, the square matrices are written as A  , size of which is  × , and A −1  is the inverse of A  .Furthermore, the Kronecker product of two matrices A and B is written as A ⊗ B, and the th Kronecker power of A is A ⊗ .

Background of Polar Codes.
A polar coding scheme can be uniquely defined by three parameters: block-length  = 2  , code rate  = /, and an information set I ⊂ N = {0, 1, . . .,  − 1}, where  = |I|.With these three parameters, a source binary vector  −1 0 consisting of  information bits and  −  frozen bits can be mapped a codeword  −1 0 by a linear matric B  is a bit-reversal permutation matrix defined in [1], and In practice, the construction procedure of a polar code can be divided into  = log 2  stages, as shown in Figure 1(a), where the circle nodes in the leftmost column are the input nodes of encoder, values of which are equal to binary source vector,that is, V  (0, ) =   , and the circle nodes in the rightmost column are the output nodes of encoder, V  ( − 1, ) =   .It is also noticed that, each encoding stage has /2, so-called processing units (PU) with a generation matrix of F 2 , and each PU has two input and two output variable nodes, as shown in Figure 1(b).During the process of polar encoding, based on F 2 , we have where V  (, 2) and V  (, 2 + 1) are the input nodes of the th PU in the th stage, 0 ≤  ≤  − 1, 0 ≤  ≤ /2 − 1, and similarly, V  (, 2) and V  (, 2+1) are the output nodes.After the procedure of the polar encoding, all the bits in the codeword  −1 0 are passed to the -channels, which consisted of  independent channels of , with a transition probability of (  |   ), where   is th element of the received vector  −1 0 .Then, the decoder of the receiver will output the estimated codeword x−1 0 and the estimated source binary vector û−1 0 with different decoding algorithms [4][5][6][7][8][9][10][11][12][13][14][15][16][17].

BP Decoding for Polar Codes
In this section, we will generalize the BP decoding algorithm for polar codes with the analysis of the existing polar BP decoding.

Existing BP Decoding.
The basic BP process unit (BP-PU) of polar codes is shown in Figure 2, where   (,2) and   (,2+1) are the right-to-left probability messages passed to V  (, 2) and V  (, 2 + 1);  is the iteration number. −1 (,2) and  −1 (,2+1) are the left-to-right probability messages passed from the nodes. −1 (,2) and  −1 (,2+1) are the right-to-left probability messages passed from V  (, 2) and V  (, 2 + 1) and   (,2) and   (,2+1) are the left-to-right probability messages passed to the nodes.According to the formula of total probability, there has Furthermore, based on the transition probability of the channel , that is, (  |   ), and the received vector  −1 0 , we have where (  ) and (  ) are the probability distribution functions of coded bit   and received signal sample   .In the BP I (i, 2j) Figure 2: The BP decoding algorithm for polar codes is based on the factor graph representation of the codes [13].In the algorithm, each node V  (, ) or V  (, ) is associated with two types of probability messages: left-to-right probability messages and rightto-left probability messages.Both of messages are propagated and updated iteratively between adjacent nodes in the procedure of BP.And the messages updated schedule is the same as that of [14]; that is, messages will firstly propagate from the rightmost nodes to the leftmost nodes.After arriving at the leftmost nodes, the course will be reversed, and messages propagation will move toward the rightmost nodes.This procedure makes one round iteration of BP.
Diagram of BP-PU.

Analysis of BP Decoder.
It is noticed from [13][14][15][16][17], based on the BP decoding, the performance of polar codes can be improved to a certain degree.However, as the capacity achieving coding scheme, the results of those algorithms is still disappointing.Hence, we cannot help wondering why the performance of the polar codes with finite length is inferior to that of LDPC codes [16,17], and how we can improve it.To answer the questions, we need to make a further analysis of the existing BP decoder.
In fact, it is noticed from the factor graph of polar codes in [13] that the degree of the check or variable nodes in the polar BP decoder is 2 or 3.While the average degree of the LDPC codes is usually greater than 3 [12,18], which means that the error-correcting capacity of the polar BP decoding will be weaken.Hence, the performance of the polar codes is inferior to that of LDPC codes with the same length [18].As shown in Figure 3, two Tanner graphes with different degree distributions are given.We assume that there exists an error variable node V 1 in a certain iteration.Compared to the check nodes  0 and  1 in Figure 3(a), the influence of error probability messages from V 1 to  0 and  1 in Figure 3(a) is weak, because with a greater degree number, the proportion of the error probability messages in the input probability messages of  0 and  1 will be reduced.What is more, the convergence of BP decoding with a greater average degree will be quicker, which results in less computational iteration number, as shown in [12][13][14][15][16][17][18].Therefore, to improve the performance of polar BP decoding, it is important to enhance the error-correcting capacity of the algorithm.

Generalization of BP Decoding.
Motivated by aforementioned observation, in this subsection, we will introduce a generalization framework of BP decoder for polar codes.In order to improve the error-correcting capacity of polar BP decoding, twelve probability messages modifying factors are introduced to the nodes of the BP-PU shown in Figure 2. When the probability messages of a node of the BP-PU is updated, three probability messages modifying factors are added to other three nodes, respectively.

BP Decoding Algorithm Optimization
Motivated by the aforementioned conclusion, we now consider how to optimize the generalization BP decoding algorithm so as to improve the performance of the polar codes.

Messages Update Functions.
It is noticed from ( 4) and ( 6)-( 8) that, in order to enhance the reliability of messages propagation, it is important to determine the appropriate messages update functions for the generalization BP decoding algorithm.However, in general, it is difficult to find the optimal messages update functions; therefore, in this work, the messages update functions are introduced by the analysis of the construction of polar encoding.And based on (1), we have Therefore, based on the error coding theory and ( 9), we can get the messages update functions as That is to say, with the probability messages modifying factors, the new probability messages update equations will be written as Next, our task is to determine the optimal probability messages modifying factors, that is,   0(,) , . . .,   5(,) and   0(,) , . . .,   5(,) , so as to achieve the best performance.

Probability Modifying Factors Optimization.
In practice, due to the input of frozen bits [1], there exists some socalled frozen nodes in the decoder, and values of these nodes are determined and independent of the decoding algorithm.Hence, if the decoding is correct, the probability messages of a frozen node V  (, ) or V  (, ) (the determined value of frozen nodes is 0) must satisfy the condition of (,) (0) >   (,) ( or (,) (0) >   (,) (1) .
While in practice, due to the noise of received signal, there may exist some frozen nodes unsatisfied the reliability condition.Therefore, in order to improve the accuracy of decoding, it is needed to find the optimal probability messages modifying factors such that all the frozen nodes could always satisfy the conditions of ( 12) during the procedure of BP decoding.
To achieve above goal, we introduce a pair parameters to each node in the decoder, which are called left and right reliability degrees.And for a node V  (, ) (similar to V  (, )), the left and right reliability degrees are denoted as where   (,) > 1 and   (,) > 1.The reliability degrees indicate the reliability of the node's decision value, and the larger reliability degree, the higher reliability of that value.Specially, when there is no noise in the channel, the reliability degrees of a node will approach to infinity.Based on previous observations, the problem of getting the optimal probability messages modifying factors can be formulated as an optimization problem to maximize the reliability degrees of all the node in decoder, while the target function is written as arg max where   (,) and   (,) are decided by ( 11) and ( 13)-( 14), and  is the integral value of /2; that is,  = ⌊/2⌋.

Problem Solving Based on Modified PSO Algorithm.
Based on (15), we have formulated the problem to find the optimal probability modifying factors, and in this subsection, we will consider the solution of the problem so as to get the optimized BP decoding algorithm.
Among the different global optimizers, particle swarm optimization (PSO) has demonstrated its usefulness as an optimizer capable of finding global optimum.The idea of PSO is based on simulation of simplified social models such as birds flocking and fish schooling.Like other stochastic evolutionary algorithms, PSO is independent of mathematical characteristics of objective problems.However, unlike these algorithms, with PSO, each particle has its own unique memory to "remember" its own best solution.Thus, each particle has its own "idea" of whether it has found the optimum.However, in other algorithms, previous knowledge of the problem will be destroyed once the population changes.PSO has attracted increasing attention because of its simple concept, easy implementation, and quick.These advantages allow it to be applied successfully in a variety of fields, mainly for unconstrained continuous optimization problems [19][20][21][22][23][24][25][26].Therefore, in this work, we explore the PSO algorithm with certain modification based on particle fitness evaluation to solve the problem (15).
To present our modified PSO algorithm, we first introduce some preliminary definitions and concepts used in the operation of the PSO algorithm, which is described as follows.
(1) Parameters Definitions.We consider a swarm of  particles, { ⃗ z 0 , . . ., ⃗ z −1 }, where the position of ⃗ z  = ( 0 ,  1 , . . .,  (−1) ) represents a possible solution point of those probability modifying factors in the problem (15), 0 ≤  ≤  − 1, and  is the number of the probability modifying factors.Each element of ⃗ z  is the value of a probability modifying factor; that is, 0 ≤   ≤ 1, 0 ≤  ≤  − 1.Based on the work of [19], the position of particle ⃗ z  can be updated by In ( 16), the pseudovelocity ⃗ w +1  is calculated as follows: where   is particle inertia,  indicates the iteration number, ⃗ p  represents the best ever position of particle  at iteration , and ⃗ p  represents the global best position in the swarm at iteration . 1 and  2 represent uniform random numbers between 0 and 1.It is proven in [19] that, when  1 =  2 = 2, the products,  1  1 or  2  2 , have a mean of 1.
(2) Fitness Evaluation.In general, with the parameter definitions aforementioned, we can get the global optimal solution of a optimization problem.However, in problem (15), the situation will be different, because during the procedure of the BP decoding for polar codes, a node's probability messages calculated on the basis of the probability modifying factors must satisfy the conditions of ( 12) or (14).In order to check these conditions during the decoding, we further define two functions as where V  is the frozen nodes set of the decoder, and V   is the set of frozen nodes whose probability messages based on ⃗ z   do not satisfy the condition of (12).Similarly, V  is the nonfrozen nodes set of the decoder, and V   is the set of nonfrozen nodes whose left and right reliability degrees based on ⃗ z   do not satisfy (14).Furthermore, we have the proposed decoding, which is tightly depending on the convergence time of the PSO algorithm.And the work for the time complexity optimization of the proposed algorithm will be conducted in our future research.

Conclusion
In this work, we proposed a generalization belief propagation (BP) decoding algorithm based on particle swarm optimization (PSO) to improve the performance of the polar codes.Through the analysis of the existing BP decoding algorithm for polar codes, we first introduced a probability modifying factor to each node of the BP decoder so as to enhance the error-correcting capacity of the BP decoding.Then, we generalized the BP decoding algorithm based on these modifying factors and drive the probability update equations for the proposed generalization BP decoding.Based on these new probability update equations, we further proved the intrinsic relationship of the existing decoding algorithms.Finally, in order to achieve the best performance, we formulated an optimization problem to find the optimal probability modifying factors for the proposed generalization BP decoding.Furthermore, a method based on the modified PSO algorithm was also introduced to solve the optimization problem.Numerical results showed that the proposed generalization BP decoding algorithm achieved better performance than that of the existing decoding, which suggested the effectiveness of the proposed decoding algorithm.

Figure 1 :
Figure 1: (a) Construction procedure of polar codes with  = 8.(b) Diagram of PU in code construction.

Figure 3 :
Figure 3: (a) Tanner graph with average degree less than 3. (b) Tanner graph with average degree more than 3.

Figure 4 :
Figure 4: Diagrams of the new BP-PU.

6 BERFigure 5 :
Figure 5: Comparison of BER between the proposed and existing BP decoding algorithms for polar codes with (4, 8).The maximum iteration number is set to 60.