Efficient Construction of Successive Cancellation Decoding of Polar Codes using Logistic regression Algorithm

In recent days, polar codes have attracted the attention of Industry and Academia. It is one of a linear block error correction codes. Polar codes are one of the capacity achieving algorithms over a wide range of channels, making them very attractive from a theoretical perspective. Polar codes are shown to be instances of concatenated codes. It has been shown that the effect of a polar code can be enhanced by showing the multistage decoding algorithm with log-likelihood based Successive List decoding (SCL). However, SCL decoders are no longer optimal in terms of frame error rate. It is believed that the machine learning based algorithm can improve the FER for the decoded bit. Thus, the logistic regression algorithm is proposed in this paper. The proposed method offers an optimized solution to the decoded bits. The simulation result shows that with sufficient training, this method can provide a lower frame error rate for different code lengths.


Introduction
In the recent past, a number of research is being done in 5G wireless networks. Various channel codes are available to encode and decode the data. Turbo code and LDPC code are the key players for 3G and 4G wireless networks. However, they are unproven codes for 5G applications. Polar code has proven to be the best in channel coding theory for 5G wireless because of its low complexity and best decoding performance. Polar code [1] is one of the best error correcting codes with an explicit and efficient construction [2] with the capacity of encoding and decoding algorithms. They can achieve the channel capacity asymptotically for the code length 'n', when the underlying channel is memory less and has a discrete input alphabet [3]. Up until now, it is proved that the polar codes are provably achieved channel capacity with tractable decoding complexity. In addition, for 5G applications, these codes are one of the best and efficient [4,5] algorithms. Therefore, they are seen as a breakthrough in coding and information theory.
2. Several techniques have been proposed to construct Successive Cancellations in polar codes. SC decoding is one of the promising algorithms which are sequential in nature that process bit by bit. A method of efficient construction of polar codes as well as degrading and upgrading is presented and analysed in [6]. Trifonov et al. [7] have shown that the approximation of Gaussian density evolution enables one to accurately predict the performance of polar codes. Improving the complexity of the channel coding for a new partial order on the synthetic channels of polar codes is presented in [8]. An approximate computation architecture and efficient channel computation for encoders and decoders for polar code are presented and subsequently implemented in [9]. It is observed that Reed Muller IOP Publishing doi:10.1088/1742-6596/1998/1/012010 2 codes have a lower probability of error than polar codes in MAP decoding. Keeping this in mind, a Reed-Muller code is attempted [10] to improve the performance of finite to polar codes. To show the advantages of short length codes, the maximization of minimum method is proposed in Bioglio et al. [11]. It is not necessary that the polar code generation with SC decoding algorithm gives the best error correction result under variants of SC decoding [12]. However, heuristic methods such as Monte-Carlo for Belief propagation algorithm [13][14][15][16][17] were implemented for polar codes and deal with these issues. Various methods were analysed in a number of research articles including [18][19][20] in which blind detection algorithms were implemented for polar codes. Artificial-intelligence based techniques have developed as the assuring components to generate a polar code. In general, both the encoding and the decoding process can experience considerable overhead and complexity, while the performance of decoders are closely attached to the characteristics of the polar code.
3. The rest of the paper is structured as follows. Section II briefly introduces the basic encoding algorithm for polar codes. Brief Introduction about the polar decoder is given in Section III. Section IV deals with the successive cancellation of decoder. Introduction about the Logistic Regression algorithm and the decoding process using Logistic Regression algorithm for the decoder, is briefed in Section V. Section VI details an implementation result. Finally, Section VII draws the conclusions.

Encoding
One of the big difference between LDPC code and polar code is the decoder. Unlike LDPC codes, Polar code decode each bit sequentially. The implementation occurs due to channel polarization. Channel polarization is a totally new effect observed by Arikan [1]. The most basic construction of the polar code is the so-called polar transform or Arikan transform, it has roots in Information theory and describes it in Information theoretic terms. The polarization (2x2) matrix or transform kernal is given as G= ቂ 1 0 1 1 ቃ . This matrix enables the encoding of a two-bit input vector u = [u0; u1] with the code word d = [d0; d1] having d0=u0 ⊕ u1 and d1=u1. Similarly, the polar transform can be performed for any power of 2 (G4,G8).This transform can also be represented using a tree format which is much like a Turner code in LDPC as in figure 1.where u1 and u2 are the leaf nodes. U 2 is the root node where the basic transform is performed. (u1 is xor-ed with u2 and u2 value is retained) In general, the polar codes are represented by PC (N, K), where K& N are the message and code word, respectively. In a polar code, the message is encoded for that its contents are first placed in the K dependable sub-channel indices corresponding to G, which initiate the information set 1. The enduring N − K bits are always set to zero. Then the encoding will be carried out with the matrix multiplication: x = uG along with the message with expanded frozen bits.

Polar Decoder
As in the encoding, the binary tree can also be used for decoding. This terminology is called simplified technique for Successive Cancellation. Successive cancellation is the first polar decoder proposed by Arikan (1).SC decoding is a very efficient decoding which is based on soft input and soft output in nature. And we ignore the soft output to make the hard decision. Normally, the decoder takes the received vector and puts out one code word. However, in the case of Successive Cancellation List decoding, it will display several possible code word lists as outputs. Typically, a number of researchers use cyclic redundancy check (CRC) for this purpose. It is another error detection code as it has very good error detection properties and simple to use. In the list decoding, the CRC is used in the physical layer.
The polar decoder receives a polar encoded message that has been transmitted over an AWGN channel. Due to the noise on the AWGN channel, the received message value contain signal offsets compared to the message that was sent. Polar Codes are designed to correct these offsets and reconstruct the correct message from the received data.
Most algorithms found were based on SC with additional complexity for better performance. Therefore, the Successive Cancellation decoding is chosen (see Figure 3) as the decoder to be constructed for this article. It was also intended to implement Successive Cancellation lists, since this has a significant code gain compared to SC.

Successive Cancellation Decoder
Because of the way the polar Codes are arranged, the received values, r, from the channel can be represented as a binary tree. In SC, each node in the binary tree has to do some operations. a) Receive some beliefs from the parent node and send some information to the left child b) Once it receives the decision from the left child, then it can send some beliefs to the right child c) After receiving the decision from the right child, it combines them and sends them to the parent node. These are the three different operations that these nodes will do. Let's start with the operation from the interior node (the nodes other than leaf nodes in the binary node). All three different operations that these interior nodes can perform are (L, R,U operations) are given in Figure 4. In this figure, the interior nodes receive some beliefs (L). Once the value is received by the left node, it will do some minsum operation (f(r1,r2)= sgn(r1)sgn(r2),min|r1||r2|) So there are m/2 beliefs will be sent to the child node. After the child on the left completes its operations, it sends the value back to the right child. Now the G operation will be performed in the right child. It is a kind of repetition-like operation. The G operation will be performed for m/2 values as follows G(r1,r2,b)= r2+(1-2b)r1 . -------------------------(1) Now the decision ‫ݑ‬ ො ଶ from the right child will send back to their parent. Now that the parent would have received the ‫ݑ‬ ො ଵ and ‫ݑ‬ ො ଶ from left and right child leaves. The parent node will perform ‫ݑ‬ ො ଵା ‫ݑ‬ ො ଶ , ‫ݑ‬ ො ଶ operation for the m value.

A) Decision in the leaf node
In the leaf node, the signal may be frozen or message bit. If the i th value is frozen then the decision‫ݑ‬ ො ଵ ൌ 0. If i is a message position ‫ݑ‬ ො ଵ ൌ 0 ݂݅ ‫ݑ‪ሺ‬ܮ‬ ଵ ሻ 0; ‫ݑ‬ ො ଵ ൌ 1 ݂݅ ‫ݑ‪ሺ‬ܮ‬ ଵ ሻ ൏ 0; here is the sequence of decoder operation 1) At every node (if not leaf) do step L and go to the left child and perform minsum operation 2) When decisions are received from the left child, do step G (repetitive operations) and go to the right child 3) When the decision is received from right child do step U(‫ݑ‬ ො ଵା ‫ݑ‬ ො ଶ , ‫ݑ‬ ො ଶ ሻ and go to parent. The SC decoding for N=8 is implemented in Figure 5.The construction of a binary tree is made of nodes and leaf nodes, where a node always has two children. A leaf node is a childless node. The operations in nodes can be divided into four states: Leaf, Left, Right and Up, where the leaves represent the decoded message bits. Let us analyze the decoding operation on this simple diagram (see Figure 6). We have to decide the value of bits 'a' and 'b' is either 0 or 1. For this purpose, we will go for the one of the best classification algorithm, Logistic regression. The next section deals with the logistic regression and the decoder based on this algorithm. In the similar way, the decoding for 8 bits (see Figure 7) and the subsequent higher order bits are calculated.

Decoding using Logistic regression
Machine learning algorithm is trained using a labelled or unlabeled training dataset to produce a set of model. This model will give a prediction. This prediction is expected to give an accurate value. One of the best algorithms for Binary classification is Regression. In our case, the decoding can be performed using Logistic regression algorithm.

Signal Classification for Decoder output
Logistic Regression is used for predicting the outcome of a categorical criterion variable after the signal is experienced with noise (LR(a)=0.2(7) and LR(b)=0.001 (8). In our case, the numerical values of 0 and 1 are assigned to the two outcomes of a binary variable. As we know, 1 stands for positive and 0 stands for negative response. Then the mean of this variable will be taken and considered as the proportion of positive responses. If p is the outcome of 1, then 1-p is 0 for the probability of 'a'. Mathematically, the transformation can be written as we model the log odds as a linear function of the explanatory variable: where ߚ ߚ ଵ the parameters of the logistic regression, x is a variable and p is a binomial proportion. To find the estimates b0 and b1, we match the '0' and '1' model equations with the corresponding data equations. Similarly, the b0 is the log odds for the '0': This is the difference between log off of 0 and 1. This way, all incoming values for the decoders are classified either as 0/1 .

Result
To illustrate the performance of the proposed polar code construction based on Logistic Regression method, different polar code constructions are evaluated under the pure Successive Cancellation decoder. The BER performance of the proposed Logistic regression algorithm and some existing SC based algorithms are simulated for different bit position (P), N = 1024, K = 512(see Figure  8) .Simulation result shows that the FER rate is better for higher bit position. The performance of FER for the learned code is simulated using Matlab (see Figure 10). As we can see in the figure, FER decreases while SNR increases for all kind of decoders. It can be also seen that expression (13) provides a very good estimate for the decoding error probability.
Further, while comparing the FER/SNR by logistic regression with SC decoder, it is found that the former performs slightly better than the SC and SCL decoder (see Figure9) and its advantage is more pronounced in the high SNR region.

Conclusion
In this work, we have constructed the Successive Cancellation technique for the polar codes. We built the Logistic Regression algorithm to support the fifth generation wireless standard. In addition, we implemented the Matlab simulation for the SC decoder. It is found that this algorithm perfectly predicts the values for the decoding. Furthermore, the simulation results show that the proposed Logistic regression based decoding algorithm has better BER and FER performance than the existing SC algorithms. However, as the complexity of the Machine learning based algorithms are more, this architecture may be further be optimized by reducing the computation complexity. This will be the object of future research.