Improved Polar Decoder Utilizing Neural Network in Fast Simplified Successive-Cancellation Decoding

Polar codes using successive-cancellation decoding always suffer from high latency for its serial nature. Fast simplified successive-cancellation decoding algorithm improves the situation in theoretically but not performs well as expected in practical for the workload of nodes identification and the existence of many short blocks. Meanwhile, Neural network (NN) based decoders have appeared as potential candidates to replace conventional decoders for polar codes. But the exponentially increasing training complexity with information bits is unacceptable which means it is only suitable for short codes. In this paper, we present an improvement that increases decoding efficiency without degrading the error-correction performance. The long polar codes are di-vided into several sub-blocks, some of which can be decoded adopting fast maximum likelihood decoding method and the remained parts are replaced by several short codes NN decoders. The result shows that time steps the proposed algorithm need only equal to 79.8% of fast simplified succes-sive-cancellation decoders require. Moreover, it has up to 21.2 times faster than successive-cancellation decoding algorithm. More importantly, the proposed algorithm decreases the hardness when applying in some degree.


Introduction
Polar code was proved to be first class capacity-achieving codes of symmetric binary-input memoryless channels using SC decoding algorithm when the code Journal of Computer and Communications length goes to infinity by Arıkan [1]. However, two problems hinder the adoption of polar codes: the error-correction performance is not reason-able for finite code length; and they suffer from high latency as well as limited throughput due to the serial nature of the SC decoding algorithm. New algorithms are proposed to improve the error-correction performance of SC decoding algorithm such as successive cancellation list (SCL) decoding algorithm [2] [3] [4] [5] [6], successive cancellation stack (SCS) decoding algorithm. But these algorithms realize better performance at the cost of higher computational complexity and lower throughput. In this work, we focus on the latency issue, which is exacerbated by the requirement of long codes since the parallel algorithms such as BP decoding achieve lower latency while introducing an unacceptable computational complexity [7].
To reduce the decoding latency without having a bad influence on the error-correction performance, simplified successive-cancellation (SSC) decoding was proposed to take advantage of rate-zero and rate-one nodes. The latency of SC decoding varied almost between two and twenty times that of SSC decoding depending on code length [8]. Further, Gabi Sarkis present a fast simplified successive-cancellation decoder (fast-SSC) that improves the decoding speed by utilizing single-parity-check (SPC) node, repetition (REP) node [9]. However, the theoretical advantages of fast simplified successive-cancellation decoder can only turn into reality when the corresponding sub-blocks are worth to be solved this way. In practical, heavy burden faced by nodes identification and presence of massive short blocks for long codes restrict the use of fast simplified successive-cancellation decoder. As a result of this, our main work is trying to solve these difficulties to enhance the decoding efficiency. Later, a new approach using NN (neural network) has been proposed to realize to decode polar codes with MAP performance for small block lengths in [10], but the NN decoder's training complexity increases exponentially with information bits in the code words limits its use. Inspired by this, NN decoding may be helpful to improve fast-SSC decoder, because NN decoder estimates the bits by passing each layer only once which promises low-latency implementations and it can avoid too short blocks according to our design.

The Fast-SSC Decoder
A fast-SSC decoder graph is built by transforming a non-bit reversed polar code graph into a binary tree of five node types: rate-0 nodes, rate-1nodes, REP nodes, SPC nodes and rate-R nodes, denoted are calculated using the min-sum (MS) approximation [11] to simplify calculation as: in which the l β are got through l α . Then after the r β have been calculated, the β values can be passed as follows: where the ⊕ is xor operation. Finally, the estimated message bits û are determined as

The Study of Fast-SSC Decoder
Although the four-types nodes can simplify decoding stage to realize lower latency, their expectation can only be fully realized when the corresponding codeword length reaches a certain length. In fact, it cannot perform quite better than SC decoding method when the sub-blocks are short while increase the workload of node type recognition in practical. So, in our work, the distribution of information bits and frozen bits of polar codes is studied to select the appropriate sub-block size.
The basic idea of polar codes is to construct a coding system in which the in- Here we count the number of four types nodes and the corresponding length of a 16,384-length polar code with code rate 0.2, 0.5, 0.8 which represents different level of code rate using GA to construct the code. The parameter noise variance 2 σ is set to 0.81 and the result is shown in Table 1.

NN-fSSC Decoder for Codes
It shows that neural networks can be used for decoding and approximate MAP performance with enough training times in [5]. Compared with other decoding algorithms, neural network decoding does not require iteration and achieve low latency for its high parallelizable structure, but the training complexity limits neural networks only suitable for short codes. Different from fast-SSC decoders that are designed to decode special constituent codes, the NN decoder here is trained to decode any node without considering the locations of frozen bit and information bit. Obviously, neural network just rightly be used to as an alternative to decode rate-R nodes, which can not only reduce the workload of node recognition, but also lower the decoding delay. In this paper we use N to denote code length, R to denote code rate, K to denote information length,  to denote free set, and  to denote frozen set. The information bit is 0 or 1 and the frozen bit is 0.
The source sequence ( ) the frozen bits. We use 1 N y to denote the output of noisy channel after modulation and the input of polar decoder. The output of the decoder is denoted by 1 K m . Then we should get the decoding results 1 K m to approximate to the original K information bits using our NN decoder, then y and m become training data in this machine learning problem.
As shown above, the NN decoding problem is a machine learning problem.
To make the trained neural network be fit for the test data when decoding, a large amount of data must be necessary. Here, we can generate enough training data labeled. Under this condition, we can train on unlimited training set by simply increasing the number of epochs ep M . The process of collecting training data for each NN decoder is shown in Figure 2. As shown in this figure, we need to add two additional layers without trainable parameters into the NN before decoding layers, one for modulation, the other for adding noise randomly. In is the ith information bit and Simulations result in Figure 3 shows that NN decoder trained has similar BER performance with these conventional decoders as long as the epochs is large.
For a long polar code, all the node types in a binary tree can be divide into two parts, type-nodes denoted where part N is the length of type-node or NN-node, NN n is the number of NN-nodes.

Performance of NN-fSSC Decoder
Although the aim of NN-fSSC is to decrease decoding latency, this cannot at the cost of error-correction performance degeneration.

Efficiency of NN-fSSC Decoder
In order to study the extent of improvement which can be achieved in decoding delay, two significant factors (code rate R and codelength N) affecting the decoding speed of fast-SSC and NN-fSSC are observed. We compare the proposed algorithm with some current algorithms, like SC and fast-SSC.
Overall, NN-fSSC decoder perform better than SC and fast-SSC decoder, where it can be observed that NN-fSSC is 4.7 to 21.2 times faster than SC, and that the latency of NN-fSSC is approximately 79.8% of the fast-SSC. Besides, the change of time steps shows a clear relationship with code rate in the decoding process. Figure 5 illustrates this trend for a polar code of length 2048 and 16,384, when the code rate is moderate, the introduction of NN can bring greater progress as there exists more short length nodes in moderate rate codes. High code rate decreases slightly more than low code rate.
Finally, to study the influence of code length N on the decoding time latency, the information throughput of nine polar codes of lengths varying from 2 10 to 2 14 is shown in Figure 6 for code rates 0.2, 0.5, and 0.8.   It shows that NN-fSSC decoder appears greater advantage with code length increasing when the code rate is same. So, the NN-fSSC decoder is more suitable for codeword which has a certain length.

Conclusions
In this paper, firstly we studied the principle of fast-SSC decoders and find that conventional fast-SSC decoders cannot perform well in practical, because lots of short sub-blocks require much work in nodes identifying. Then we divide fast-SSC decoders into groups with certain length to lower the difficult of identifying in some degree. Secondly, we train NN decoders for short polar codes. It rightly can be used to decode the sub-blocks which are not suitable for fast-SSC decoders. Finally, we propose NN-fSSC decoders combined by fast-SSC decoders and NN decoders for long polar codes. According to our simulation, NN-fSSC