Next Article in Journal
Causality-Network-Based Critical Hazard Identification for Railway Accident Prevention: Complex Network-Based Model Development and Comparison
Next Article in Special Issue
Compression Helps Deep Learning in Image Classification
Previous Article in Journal
Information Flows of Diverse Autoencoders
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

DLSTM-Based Successive Cancellation Flipping Decoder for Short Polar Codes

1
School of Computer Science and Engineering, Shandong University of Science and Technology, Qingdao 266510, China
2
State Key Laboratory of High-End Server and Storage Technology, Jinan 250101, China
*
Author to whom correspondence should be addressed.
Entropy 2021, 23(7), 863; https://doi.org/10.3390/e23070863
Submission received: 20 May 2021 / Revised: 12 June 2021 / Accepted: 30 June 2021 / Published: 6 July 2021
(This article belongs to the Special Issue Information Theory and Deep Neural Networks)

Abstract

:
Polar code has been adopted as the control channel coding scheme for the fifth generation (5G), and the performance of short polar codes is receiving intensive attention. The successive cancellation flipping (SC flipping) algorithm suffers a significant performance loss in short block lengths. To address this issue, we propose a double long short-term memory (DLSTM) neural network to locate the first error bit. To enhance the prediction accuracy of the DLSTM network, all frozen bits are clipped in the output layer. Then, Gaussian approximation is applied to measure the channel reliability and rank the flipping set to choose the least reliable position for multi-bit flipping. To be robust under different codewords, padding and masking strategies aid the network architecture to be compatible with multiple block lengths. Numerical results indicate that the error-correction performance of the proposed algorithm is competitive with that of the CA-SCL algorithm. It has better performance than the machine learning-based multi-bit flipping SC (ML-MSCF) decoder and the dynamic SC flipping (DSCF) decoder for short polar codes.

1. Introduction

Polar codes have been proven to achieve channel capacity [1], thus were selected as the coding standard for the control channels of enhanced mobile broadband (eMBB) scenarios in 2016 [2]. Normally, the block length of the control channel is short or moderate, but Arıkan [3] proved that channel polarization occurs only when the number of channels gradually becomes larger. Therefore, the performance of polar codes is not satisfactory at short or moderate block length due to insufficient channel polarization.
The successive cancellation (SC) decoding [3] has a regular-recursive structure, but the performance is uncompetitive under the finite block length. In order to improve error-correction performance, the succession cancellation list (SCL) and the successive cancellation flipping (SC flipping) algorithms are introduced. Among them, Niu et al. proposed a cyclic redundancy check (CRC) aided SCL algorithm (CA-SCL) [4], which bridges the gap between SC and maximum-likelihood algorithms. The CA-SCL decoding improves performance compared to the conventional SCL decoding [5], but both algorithms come at the cost of high computational complexity. The SC flipping algorithm [6] can achieve a similar computational complexity as the SC decoding, which competes with the CA-SCL decoding. The flipping algorithm constructs the flipping set by the absolute value of log-likelihood ratio (LLR) to locate the first error bit, while there are additional error bits in subsequences. On this basis, a multi-bit flipping algorithm [7,8,9] was proposed to correct multiple error bits. In [8], Zhang et al. defined a set of flipping positions as the critical set (CS). The LLR value is used to determine the flipping bit, which requires sorting the LLR sequence.
Since deep learning was adopted to locate the error bit more accurately than traditional methods [6,7,8,9], many scholars have applied the neural network to decoders [10,11,12]. In [13,14], a decoder based on the convolutional neural network (CNN) is proposed to lower the bit error rate (BER). Chun-Hsiang Chen et al. applied the long short-term memory (LSTM) network to the decoder [15]. The network can efficiently extract features from the decoding and improve the accuracy of error bit prediction, but the complexity increases with the list size. In order to obtain a better flipping strategy, both the LSTM and the reinforcement learning (RL) are applied to the decoder. In [16], the LSTM network predicts the first error bit and the RL identifies other error bits or undoes the previous error flipping. Similarly, a machine learning-based multi-bit flipping SC decoding scheme (ML-MSCF) was proposed by Author17 [17], which uses both the LSTM network and the Q-Learning algorithm to achieve multi-bit flipping. However, it needs a well-trained Q-table to select the flipping bit.
The accuracy of the flipping bit greatly affects the performance of the SC flipping decoder. However, the current SC flipping works do not perform well with short codewords. The LSTM networks have achieved excellent performance in many fields [18,19]. Thus, we propose a double long short-term memory (DLSTM) network to predict the error bits. The main contributions are as follows:
  • A DLSTM-based SC flipping decoder is proposed. In addition, all frozen bits are clipping in the output layer to enhance accuracy. We construct the flipping set of the first error bit according to the probability of the network output in descending order, and attempt one-bit flipping.
  • By exploring the reliability of bit channel, we propose a novel multi-bit flipping scheme for sequences that reach the maximum number of one-bit flipping and still fail the CRC detector. The candidate bits are sorted in ascending order in terms of the reliability, and the unreliable bits are selected in priority to multi-bit flipping.
  • In order to make the proposed algorithm robust, we design the DLSTM network architecture to be compatible with multiple block lengths. We adopt a padding strategy to maintain data integrity, so that the training is not limited by the block length. A masking method is taken to skip the timestep and eliminate the effect of padded invalid data. Simulation results show that the proposed decoding scheme has better error-correction performance than the ML-MSCF decoding and DSCF decoding for short block lengths. It can approach the performance of CA-SCL (L = 8).
The remainder of the paper is organized as follows. Section 2 introduces polar codes, SC flipping decoder, and LSTM network. The proposed decoding scheme is presented in Section 3. Section 4 analyzes the decoding performance. Conclusions are drawn in Section 5.

2. Preliminary

In this paper, we use the calligraphic characters, such as X , to denote sets. We write x, x , and X to denote a scalar, a vector, and a matrix, respectively. In this section, we first review the basic of polar codes. Then, we briefly introduce the SC flipping decoder and LSTM network.

2.1. Polar Codes

A polar code of length N with K information bits can be represented by P ( N , K ). The code rate is R = K / N , 0 < K < N . The K most reliable channels are selected to transmit the information bits and the remaining N K channels transmit the frozen bits. The set of information bit indices and frozen bit indices are denoted by A and its complement A C . The sequence u 1 N = u 1 , u 2 , , u N is obtained by mixing the information bits u A and the frozen bits u A C , and a polar codeword x 1 N is generated by generator matrix G N :
x 1 N = u 1 N G N ,
where x 1 N = { x 1 , x 2 , , x N } , G N = B N F n , n = log 2 N , B N is a N × N bit-reversal permutation matrix, and F n denotes the nth Kronecker power of F , with
F = 1 0 1 1 .
The butterfly-based decoding structure is shown in Figure 1. The SC decoding starts by computing an estimate value u ^ 1 of u 1 based only on the received value y 1 N . Then, y 1 N and u ^ i 1 are used to estimate u ^ i , i = 2 , , N . A binary input memoryless channel W n generates N sub-channels by channel splitting, defining W n i y 1 N , u ^ 1 i 1 | u i , i = 1 , , N . Let the LLR of W n i y 1 N , u ^ 1 i 1 | u i be defined as
L n i y 1 N , u ^ 1 i 1 | u i log W n i y 1 N , u ^ 1 i 1 | u i = 0 W n i y 1 N , u ^ 1 i 1 | u i = 1 .
The decision of LLR can be calculated by the f and g operations in Figure 1. The f and g operations are:
f L 1 , L 2 = sign L 1 sign L 2 min | L 1 | , | L 2 | ,
g L 1 , L 2 , u = 1 u L 1 + L 2 ,
where L 1 , L 2 R are the two inputs for the f and g operations and u 0 , 1 is the partial sum for g operation. The decision of LLR is expressed as
L N 2 i 1 y 1 N , u ^ 1 2 i 2 = f L N N 2 2 i y 1 N N 2 2 , u ^ 1 , o 2 i 2 u ^ 1 , e 2 i 2 , L N N 2 2 i y N N 2 + 1 2 + 1 N , u ^ 1 , e 2 i 2 ,
L N 2 i y 1 N , u ^ 1 2 i 1 = g L N N 2 2 i y 1 N N 2 2 , u ^ 1 , o 2 i 2 u ^ 1 , e 2 i 2 , L N N 2 2 i y N N 2 + 1 2 + 1 N , u ^ 1 , e 2 i 2 , u ^ 2 i 1 .
Finally, we obtain u ^ i as
u ^ i = 0 , L N i y 1 N , u ^ 1 i 1 0 a n d i A 1 , L N i y 1 N , u ^ 1 i 1 < 0 a n d i A 0 , i A C .

2.2. SC Flipping Decoder

The SC flipping decoder initiates a SC decoder to generate the estimated codeword u ^ 1 N . If u ^ 1 N passes the CRC detector, the decoding is successful. Otherwise, the flipping decoder is given T attempts to flip the first error bit. Algorithm 1 presents the original SC flipping algorithm, and the flipping set is denoted as V . There are two reasons for decoding failures: channel noise and error propagation. The SC flipping algorithm improves error-correction performance and restrains error propagation. However, the decoder can only eliminate the error propagation caused by the first error bit, but there may be other error bits caused by noise or follow error bits in the subsequence. The information bits { 9 , 13 } in Figure 2, for example, are error bits caused by channel noise. The SC flipping decoder tries to corrects the first error bit { 9 } caused by channel noise, and the error propagation phenomenon of { 10 , 11 } disappears, lowering the BER. However, { 13 } is still an error and the block error rate (BLER) is not lower. Therefore, we consider flipping the second error bit { 13 } to lower the BLER and BER in this paper.
Algorithm 1 The SC flipping algorithm.
Input: y 1 N , A , T
Output: u ^ 1 N
 1:
{ u ^ 1 N , LLR} ← SC ( y 1 N )
 2:
if u ^ 1 N fail CRC and T > 1  then
 3:
     V i A of T smallest LLR
 4:
    for  j 1 to T do
 5:
         u ^ 1 N ← SC ( y 1 N , V ( j ) )
 6:
        if  u ^ 1 N pass CRC then
 7:
           break
 8:
        end if
 9:
    end for
10:
end if
11:
return u ^ 1 N

2.3. LSTM Network

Compared with the traditional Recurrent Neural Network (RNN), the LSTM network is not only capable of handling long-term dependencies but also suitable for sequence-based tasks [20]. It is well known that the SC decoding generates the LLR sequences, and the LSTM networks can effectively extract features and build relationships between sequences. The structure of LSTM is shown in Figure 3, which consists of one state and three gates, namely cell state, forget gate, input gate, and output gate. The cell state c t mainly saves the long-term state. The forget gate f t determines the proportion of the previous cell state c t 1 retained to the current state c t . The input gate i t decides the proportion of the input x t of the network saved to the cell state c t . The output gate o t controls what message is output. The control of the three gates allows the LSTM network to remember more relevant messages for a long time, which is a great advantage when dealing with the LLR sequences. The gate is a fully connected layer, which can be expressed as:
gate x = σ Wx + b ,
where W is the weight matrix, x represents the input vector, b is the bias vector, and σ is the sigmoid function:
σ z = 1 1 + e z .
The output h t of the LSTM is defined by the output gate o t and the cell state c t . The cell state c t is determined by the forgot gate f t , the input gate i t , the cell state c t 1 at time t 1 , and the input cell state c t . In addition, the relationship at time t and t 1 is described as follows:
f t = σ W f · h t 1 , x t + b f i t = σ W i · h t 1 , x t + b i o t = σ W o · h t 1 , x t + b o c t = tanh W c · h t 1 , x t + b c c t = f t c t 1 + i t c t h t = o t tanh c t ,
where tanh is the activation function defined as:
tanh m = e m e m e m + e m .

3. The Proposed SC Flipping Algorithm

In Figure 4, we depict the frequency of errors caused by channel noise for P(64, 32) at different E b / N 0 . It can be observed that the probability of one error bit occurring in the SC decoding is about 90% at high E b / N 0 , and there are still two or three error bits at low E b / N 0 . Therefore, in order to further improve the performance of the SC decoding, we also consider multi-bit flipping. In this section, we analyze the effect of error propagation. Then, we describe the DLSTM network structure and training process. Finally, we present the proposed DLSTM-based SC flipping algorithm and a mechanism to improve the robustness of the algorithm.

3.1. Analysis of Error Propagation

In SC decoding, a polar code that is decided to be incorrect has multiple error bits. Figure 5 shows that the error bits caused by channel noise are much smaller than the error bits caused by error propagation. However, error propagation affects the BER, not the BLER. To improve the block error-correction performance, the error bits caused by the channel noise should be flipped. As observed in Figure 5, most of the error decisions are caused by the error propagation of the first error bit, thus it is required to construct a flipping set efficiently.

3.2. DLSTM Network Structure

The first error bit plays an important role in the flipping algorithm. Since the first error bit cannot be accurately located by the LLR value, we adopt the neural network to predict it. A DLSTM network structure is illustrated in Figure 6b. This network mainly consists of an input layer, a DLSTM layer, and an output layer. The DLSTM layer contains 2 N hidden LSTM units, where N is the length of a polar code. The output layer is a fully connected layer with K neurons. This K represents the classification that the DLSTM network can recognize, as well as the length of the information bits. The K neurons in output layer activated by softmax function:
s y ^ i = e y ^ i j = 0 K 1 e y ^ j ,
where y ^ i is the output of the ith neuron. With this activation function, a K-dimensional vector is produced.
The input and output of the DLSTM network are:
  • Input: The absolute value of the LLR sequence (both the information bits and the frozen bits) that fails CRC detector in the SC decoding.
  • Output: A K-dimensional vector, the element of which corresponds to the probability of error occurrence for each information bit.
The details of the DLSTM unit are shown in Figure 7. At t time, the input of the DLSTM network is [ h t 1 1 , x t ] , which represents the output h t 1 1 at t 1 time and the input x t at the current time concatenated into a vector. The vector passes through the forget gate f t 1 , the input gate i t 1 , and the output gate o t 1 in turn. h t 1 and h t 2 denote the two outputs of the DLSTM unit. The cell states c t 1 and c t 2 hold the different long-term memories. The output gate o t 1 of the DLSTM has two directions, one is transmitted the t + 1 moment and the other is the input of the next layer at t moment. Thus, the input to the second LSTM layer is [ h t 1 2 , h t 1 ] , which is different from the input to the first layer. The relationship between the inputs [ h t 1 2 , h t 1 ] and outputs h t 2 of the second LSTM layer is described as follows:
f t 2 = σ W f 2 · h t 1 2 , h t 1 + b f 2 i t 2 = σ W i 2 · h t 1 2 , h t 1 + b i 2 o t 2 = σ W o 2 · h t 1 2 , h t 1 + b o 2 c t 2 = tanh W c 2 · h t 1 2 , h t 1 + b c 2 c t 2 = f t 2 c t 1 2 + i t 2 c t 2 h t 2 = o t 2 tanh c t 2 .
Due to this unit structure, the DLSTM network structure is more favorable than the traditional LSTM. Because of the DLSTM network’s good memory characteristic, it can show superiority in extracting historical data features and can preserve long-term relevancy.

3.3. Training Process of the DLSTM Network

To obtain the training data of the DLSTM network, we carried out the simulations presented in Figure 6a. First, we obtained the polar codes according to the method in Section 2. Then, we performed the binary phase shift keying (BPSK) demodulation and incorporated additive white Gaussian noise (AWGN) channel noise. After that, 2 × 10 6 polar codes were generated and decoded by the SC decoder. If the decoding result passed the CRC detector, the decoding was successful. Otherwise, it became the training sample for the DLSTM network. The sample consists of the absolute value of the LLR sequence and one-hot encoding of the first error bit, which is denoted as D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , , ( x j , y j ) } , where j is the size of the sample, including the training set and validation set. x c , 1 c j is the input of the network. y c , 1 c j is the label and represents the expected output of the DLSTM network. The process of extracting information bits is shown in Table 1, where the binary sequence in the second row is the information pattern, in which ‘0’ denotes the frozen bit and ‘1’ denotes the information bit. The proposed algorithm clips all frozen bits in the output layer because flipping a frozen bit is useless and causes corresponding error propagation. The classification is reduced by ( N K ) / N compared to the method of Author17 [17].
In order to train a more efficient DLSTM network, the data were divided into the training set and validation set according to the ratio of 8:2. During the training, the regularization method [21] was used to prevent training overfitting. The L2-norm was applied to the weights, taking L2 = 0.008. The Adam optimizer [22] was adopted to design adaptive learning rates for different parameters because it can handle sparse gradients very well. The goal of the DLSTM network is to be a well-trained classifier where each information bit is a category. We employed the cross-entropy function to measure the loss between the expect value and the predicted value.
E x = y log y ^ + 1 y log 1 y ^ ,
where y represents the labeled data and y ^ represents the predicted value of the network. The smaller is the loss E, the better is the network trained. As the entire DLSTM is trained offline, it does not increase the SC flipping decoder complexity.

3.4. DLSTM-Based SC Flipping Algorithm

We utilized the well-trained DLSTM network to determine the flipping set of the first error bit. According to Author23 [23], the channels reliability ordering can be used to determine the flipping positions in SC flipping decoder. Therefore, we adopted channel reliability to determine the multiple error bits. This method avoids the ordering of the LLRs, which reduces the complexity of SC flipping decoder. Figure 8 illustrates the process of the DLSTM-based SC flipping algorithm, which consists of the following steps.
(1) Perform the SC decoding and check whether the decoding result can pass the CRC detector. If pass, the decoding is successful. Otherwise, go to Step 2.
(2) Take advantage of the well-trained DLSTM to predict the probability of error occurring in the information bits. Then, sort their probabilities in descending order. Select the index of the T 1 maximum probability and map them to the corresponding locations of the information bits. T 1 is the maximum number of one-bit flipping and is also the size of the flipping set. Employ these locations to construct the flipping set W 1 T = ( w 1 , w 2 , , w T 1 ) , where w 1 , w 2 , , w T 1 are the candidate bits for the first error bit and the probability w 1 > w 2 > > w T 1 , and go to Step 3.
(3) Select w 1 for flipping. If the decoding fails, flip the following bits w 2 , w 3 , , w T 1 successively. If T 1 attempts are unsuccessful, then go to Step 4. Otherwise, terminate the decoding.
(4) Calculate the channel reliability of flipping set W 1 T by Gaussian approximation. For  W 1 T = ( w 1 , w 2 , , w T 1 ) , reorder into W 2 T = ( w 1 , w 2 , , w T 1 ) in ascending order according to reliability, where the reliability follows: w 1 < w 2 < < w T 1 . Select w 1 and w 2 from W 2 T to perform bit flipping at the same time. If the CRC detector fails, next select ( w 1 , w 3 ) , ( w 1 , w 4 ) , …, ( w T 1 1 , w T 1 ) in turn to flip. If T 2 attempts are unsuccessful, the decoding fails, where T 2 is the maximum number of two-bit flipping. Otherwise, the decoding is successful. The selection method is shown in Figure 9.
The pseudocode for two-bit flipping algorithm based on the DLSTM network is shown in Algorithm 2. It can be extended to multi-bit flipping in a similar way. The maximum number of candidate bits is K. The set of multi-bit flipping is denoted as W 3 T , W 4 T , …, W K T . When simultaneously flipping the least reliable 3, 4, …, K bits, the maximum number of flips is indicated as T 3 , T 4 , …, T K .
Algorithm 2 Two-bit flipping algorithm based on the DLSTM.
Input: y 1 N , W 1 T , W 2 T , T 1 , T 2
Output: u ^ 1 N
 1:
{ u ^ 1 N ,LLR} ← SC ( y 1 N )
 2:
t 1 = 0 , t 2 = 0
 3:
while u ^ 1 N fail CRC and t 1 < T 1  do
 4:
     W 1 T ← DLSTM
 5:
     u ^ 1 N ← SC flip ( y 1 N , W 1 T ( t 1 ) )
 6:
    if  u ^ 1 N pass CRC then
 7:
        break
 8:
    else
 9:
         t 1 t 1 + 1
10:
    end if
11:
end while
12:
if t 1 T 1 then
13:
     t 1 = 0
14:
    while  u ^ 1 N fail CRC do
15:
        for  i t 1 + 1 to T 1  do
16:
           if  t 2 < T 2  then
17:
                u ^ 1 N ← SC flip ( y 1 N , W 2 T ( t 1 , i ) )
18:
               if  u ^ 1 N pass CRC then
19:
                   break
20:
               else
21:
                    t 2 t 2 + 1
22:
               end if
23:
           end if
24:
        end for
25:
         t 1 t 1 + 1
26:
    end while
27:
end if
28:
return u ^ 1 N

3.5. DLSTM-Based Robustness Mechanism

Current the neural network decoders are specific, such as certain block length or signal-to-noise ratios (SNR). To make the algorithm robust, we designed a DLSTM network architecture that is compatible with multiple block lengths. For different block length polar codes P 1 ( N 1 , K 1 ) , P 2 ( N 2 , K 2 ) , P 3 ( N 3 , K 3 ) , and N 1 > N 2 > N 3 , we make the following updates to maintain the integrity of the input shape. The length N 1 of the longest codewords is taken as the standard, and padding is performed for codewords smaller than this length. One-hot encoding is done directly for labels with length K 1 . After making the length uniform for polar codes with variable length, the padding part is learned during the training, which affects the prediction results. To reduce the impact, a mask layer is added before the DLSTM layer for skipping the respective time step. During the DLSTM training, the part that is masked is not involved in the calculation. Figure 10 presents this training process. To obtain better generalization capability, we adopt an early stopping criterion. The training is stopped if the accuracy of the validation set does not improve.

4. Performance Analysis

In this section, we first give the DLSTM network training results. Then, we evaluate the decoding delay, complexity, and error-correction performance of the proposed algorithm and other existing algorithms. Simulations were performed with AWGN channel and BPSK modulation on an Intel(R) Xeon(R) Gold 6132 CPU @ 2.60 GHz server.

4.1. DLSTM Network Training Results

The DLSTM network was trained by the LLR sequences and the one-hot encoding of first error bit. The simulation parameters for P ( 64 , 32 ) are shown in Table 2. As described in Section 2, a basic LSTM unit consists of three gates and one cell state. Each gate and cell state is a fully connection layer with N (hidden size) neurons. Thus, a layer of LSTM actually has four fully connection layers. Equation (9) can also be written as
gate x t = σ W · h t 1 , x t + b .
Therefore, one layer of the basic LSTM network has 4( h s ( h s + x d )+ h s ) parameters, where h s is the size of the hidden layer and x d is the dimension of the input data. As shown in Table 2, a layer of basic LSTM has 4 × 64 × 64 + 64 + 64 = 33,024 parameters. Thus, a layer of DLSTM has 2 × 33,024 = 66,048 parameters. Dense denotes the fully connection layer. The N(hidden size)-dimensional vector output from the DLSTM network is used as the input to the dense layer, so the dense layer has ( h _ s · K + K ) parameters, where K is the number of neurons in the dense layer.
All the data are trained once for one epoch. In each epoch, the network calculates the accuracy and loss of the training set and validation set. After 30 epochs, the accuracy and loss changes for different codewords with E b / N 0 = 1.0 dB are depicted in Figure 11. It can be seen that, before five epochs, the accuracy of the validation set is higher than that of the training set. As the number of epoch increases, the accuracy of the training set starts to increase and outperform that of the validation set. Finally, the accuracy of both the validation set and training set converge to a stable value. It is observed that the DLSTM network converges and reaches a stable state after about 20 epochs.
In this paper, a flipping set of size T 1 is constructed for one-bit flipping. Figure 12 shows that, when the number of flips is smaller than the size of the CS, our flipping set has a higher accuracy in identifying the first error bit compared to the CS in [8]. Although CS contains the first incorrect hard decision with high probability, the simulation results show that superior error correction performance is achieved when the number of flips is comparable to the size of CS. Figure 13 also illustrates the comparison of identifying the first error bit at E b / N 0 = 1.0 dB. The proposed algorithm has higher accuracy than the other two algorithms within the same number of flips. At the first flip, the accuracy of the proposed algorithm is improved by 2.5% and 9.7% compared to the DL-based algorithm and the DSCF decoder, respectively. Table 3 displays the comparison of the two- and three-layer LSTMs. The accuracy of the two-layer network in predicting the first error bit is comparable, but the training parameters of the DLSTM network are reduced by about 1/3. Therefore, it is appropriate to train with a DLSTM network, which can effectively reduce the training complexity.

4.2. Decoding Complexity and Latency Analysis

The SC flipping decoder starts with the SC decoder. The complexity of SC is O ( N log N ) . In constructing the flipping set, the complexity of the sorting operation on K probabilities is O ( K log K ) . When flipping one bit, there are no more than T 1 additional attempts, and the complexity is O ( T 1 N log N ) . When flipping two bits, the T 1 candidate bits are sorted according to channel reliability with a complexity of O ( T 1 log T 1 ) . Then, no more than T 2 additional attempts are performed, and the complexity is O ( T 2 N log N ) . Finally, if T 1 > T 2 , the maximum complexity of the proposed algorithm is O ( T 1 N log N ) . Otherwise, the maximum complexity is O ( T 2 N log N ) . However, the flipping is only for the error sequence that fails the CRC detector, so the average complexity is related to the BLER. Therefore, the average complexity of the proposed algorithm is O ( ( 1 + P e ( T 1 + T 2 ) ) N log N + K log K + T 1 log T 1 ) , where P e is the BLER of the SC decoding. As shown in Figure 14, the average decoding complexity is high because P e is dramatically large at low E b / N 0 . However, P e decreases rapidly as E b / N 0 increases, and the average complexity rapidly decreases, finally converging to the complexity of the SC decoding. It can be noticed that the average decoding complexity is lower than the SCL decoding (L = 4) and the DSCF decoding and slightly higher than the ML-MSCF decoding.
It takes a lot of time to train an effective DLSTM network, but the whole training is done offline and can benefit from some acceleration platforms [24]. Therefore, the training process does not increase the decoding latency. However, the prediction time is calculated as part of the total decoding latency. Compared with the traditional approach, the prediction is an additional computational process. In Figure 15, the decoding latency represents the total time consumed for decoding as calculated by the CPU. The proposed algorithm consumes comparable time to the ML-MSCF decoder. When E b / N 0 = 1.0 dB, the consumed time is decreased by 11.41% and 27.68% compared to the DSCF decoder for both code lengths, which saves a lot of computation time by avoiding exponential and logarithmic operations, respectively. Compared to CA-SCL (L = 2), the consumed time is lowered by 3.64% at N = 32 but comparable at N = 64. Compared with CA-SCL (L = 4), the time consumption is reduced by 20.32% and 31.26%, respectively, and the time to try L decoding paths is reduced.

4.3. BER and BLER Analysis

In Figure 16 left, we compare the error-correction performance for the proposed algorithm with T 1 = 4 , T 2 = 2 , 4, and T 3 = 4 for P(32, 16). The proposed decoder adopts a 4-bit CRC and its generator polynomial is g ( x ) = x 4 + x + 1 . It can be noticed that, with continuous flipping, a lot of gain can be achieved. When BLER = 10 3 , the proposed algorithm with T 1 = 4 , T 2 = 2 , and T 1 = 4 , T 2 = 4 can achieve gains of approximately 0.32 dB and 0.57 dB than that with T 1 = 4 , respectively. At BER = 10 4 , the proposed algorithm with T 1 = 4 , T 2 = 2 , and T 1 = 4 , T 2 = 4 can obtain performance improvement of about 0.25 and 0.46 dB compared to that with T 1 = 4 , respectively. The error-correction performance of the proposed algorithm with T 1 = 4 and T 2 = 4 is close to that with T 1 = 4 , T 2 = 4 , and T 3 = 4 . This is due to the occurrence of three errors with low frequency. In Figure 16 right, the block length is changed to 64. The proposed algorithm with T 1 = 4 and T 2 = 4 is lower than that with T 1 = 4 , T 2 = 2 , and T 1 = 4 in terms of the BLER and the BER. The proposed algorithm for N = 32 has a significant performance gain compared to that for N = 64. On the one hand, the shorter is the block length, the higher is the prediction accuracy. On the other hand, the degree of channel polarization for N = 64 is better than for N = 32. A polar code with N = 64 has fewer error bits than that with N = 32.
Figure 17 left shows the BLER performance of the proposed algorithm compared with the existing algorithms for P(32, 16) with T max = 6 . It can be seen that the proposed algorithm significantly outperforms the ML-MSCF decoder and the DSCF decoder within the same number of flips. It is also more efficient than CA-SCL (L = 2, L = 4). It is close to the performance of CA-SCL (L = 8). As shown in Table 4, the proposed algorithm can achieve approximately 0.28 and 0.49 dB performance gain, but the decoding latency is increased by 5.77% and 1.16% over the ML-MSCF decoder and the DSCF decoder at BLER = 10 3 . Compared with CA-SCL (L = 2, L = 4), it can obtain performance gain of about 0.66 and 0.19 dB, and the decoding latency is reduced by 15.73% and 31.22%, respectively. The performance is slightly lower than that of CA-SCL (L = 8), but the decoding latency is decreased by 51.46%. In Figure 17 right, compared with the ML-MSCF decoder, DSCF decoder, and CA-SCL (L = 2, L = 4), the proposed algorithm has lower BER.
Figure 18 compares the BLER performance for P(64, 32) with T max = 6 . It can be noticed that the proposed algorithm has better error-correction performance than the ML-MSCF decoder, DSCF decoder, and CA-SCL (L = 2). It is close to the performance of CA-SCL (L = 4). Table 5 shows the obtained gains and reduced latency using the proposed algorithm over other algorithms at BLER = 10 3 . The proposed algorithm achieves a gain of about 0.21 dB compared to the ML-MSCF decoder, but the decoding latency is slightly increased. Compared with the DSCF decoder and the CA-SCL (L = 2) decoder, the proposed algorithm can obtain gains of about 0.36 and 0.55 dB, and decoding latency is reduced by 1.39% and 19.29%, respectively. The performance is slightly lower than that of CA-SCL (L = 4), but the decoding latency is decreased by 45.41%. This is due to multiple additional attempts when flipping one bit and selecting the most least reliable position for multi-bit flipping based on channel reliability. When the code length is 32, the proposed algorithm can approach the performance of CA-SCL (L = 8), but, when the code length is 64, it is close to the performance of CA-SCL (L = 4). This is because the accuracy of the proposed algorithm for N = 32 is higher than that for N = 64 .

4.4. BLER Analysis of the Algorithm with Robustness Mechanism

The proposed algorithm with robustness mechanism is compatible with different block lengths ( N 1 = 64 , N 2 = 32 , and N 3 = 16 ). The proposed decoder for N 3 = 16 with a 2-bit CRC has a generator polynomial of g ( x ) = x 2 + 1 . Figure 19 demonstrates that the BLER performance of the proposed algorithm and optimized algorithm is close for the three block lengths. The optimized algorithm has generalization ability and can break the block length constraint during neural network training. The large-scale processing capability of the neural network is also exploited.

5. Conclusions

To improve the performance of short block length, this paper proposes a DLSTM-based SC flipping algorithm for short polar codes. The DLSTM is used to predict the first error bit and construct a flipping set for the one-bit flipping, clipping all frozen bits to enhance the accuracy of prediction. For the sequences that fail CRC detector, the flipping set is resorted according to channel reliability, and the most unreliable bits are selected for multi-bit flipping. The simulation results show that the proposed algorithm has better error-correction performance compared with the ML-MSCF decoder and the DSCF decoder. In addition, when E b / N 0 = 1.0 dB, the decoding performance is close to CA-SCL (L = 8) for N = 32, and the decoding latency is reduced by 49.03%. Furthermore, to make the algorithm robust, we propose a mechanism to make it compatible with different block lengths. For future work, we will focus on multi-task neural networks to predict multiple error bits of polar codes simultaneously.

Author Contributions

Conceptualization, J.C., W.K. and X.Z.; methodology, W.K. and X.Z.; software, W.K. and X.Z.; validation, J.C., W.K. and X.Z.; formal analysis, W.K. and X.Z.; investigation, J.C. and X.Z.; resources, J.C. and W.K.; data curation, W.K. and X.Z.; writing—original draft preparation, J.C., W.K. and X.Z.; writing—review and editing, D.C. and Q.Z.; visualization, X.Z.; supervision, Q.Z.; and project administration, J.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Joint Fund for Smart Computing of Natural Science Foundation of Shandong Province (No. ZR2019LZH001) and the Shandong University Youth Innovation Supporting Program (Nos. 2019KJN020 and 2019KJN024).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare that they have no known competing financial interest or personal relationships that could have appeared to influence the work reported in this paper.

Abbreviations

The following abbreviations are used in this manuscript:
5GFifth generation
SCSuccessive cancellation
DLSTMDouble long short term memory
CRCCyclic redundancy check
LLRLog-likelihood ratio
CSCritical set
BERBit error rate
BLERBlock error rate
BPSKBinary phase shift keying
AWGNAdditive white Gaussian noise

References

  1. Arıkan, E. Channel polarization: A method for constructing capacity-achieving codes. In Proceedings of the 2008 IEEE International Symposium on Information Theory, Toronto, ON, Canada, 6–11 July 2008; pp. 1173–1177. [Google Scholar]
  2. Final Report of 3GPP TSG RAN WG1 #87 v1.0.0; Reno, USA. November 2016. Available online: https://www.3gpp.org/ftp/tsg_ran/WG1_RL1/TSGR1_87/Report/Final_Minutes_report_RAN1%2387_v100.zip (accessed on 5 January 2021).
  3. Arıkan, E. Channel Polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels. IEEE Trans. Inf. Theory 2009, 55, 3051–3073. [Google Scholar] [CrossRef]
  4. Niu, K.; Chen, K. CRC-aided decoding of polar codes. IEEE Commun. Lett. 2012, 16, 1668–1671. [Google Scholar] [CrossRef]
  5. Tal, I.; Vardy, A. How to construct polar codes. IEEE Trans. Inf. Theory 2013, 59, 6562–6582. [Google Scholar] [CrossRef] [Green Version]
  6. Afisiadis, O.; Balatsoukas-Stimming, A.; Burg, A. A low-complexity improved successive cancellation decoder for polar codes. In Proceedings of the 2014 48th Asilomar Conference on Signals, Systems and Computers, Pacific Grove, CA, USA, 2–5 November 2014; pp. 2116–2120. [Google Scholar]
  7. Chandesris, L.; Savin, V.; Declercq, D. An improved SCFlip decoder for polar codes. In Proceedings of the 2016 IEEE Global Communications Conference (GLOBECOM), Washington, DC, USA, 4–8 December 2016; pp. 1–6. [Google Scholar]
  8. Zhang, Z.; Qin, K.; Zhang, L.; Chen, G.T. Progressive bit-flipping decoding of polar codes over layered critical sets. In Proceedings of the IEEE Global Communications Conference (GLOBECOM), Singapore, 4–8 December 2017; pp. 4–8. [Google Scholar]
  9. Chandesris, L.; Savin, V.; Declercq, D. Dynamic-SCFlip decoding of polar codes. IEEE Trans. Commun. 2018, 66, 2333–2345. [Google Scholar] [CrossRef] [Green Version]
  10. Doan, N.; Ali Hashemi, S.; Gross, W.J. Neural successive cancellation decoding of polar codes. In Proceedings of the 2018 IEEE 19th International Workshop on Signal Processing Advances in Wireless Communications (SPAWC), Kalamata, Greece, 25–28 June 2018; pp. 1–5. [Google Scholar]
  11. Doan, N.; Hashemi, S.A.; Ercan, F.; Tonnellier, T.; Gross, W.J. Neural dynamic successive cancellation flip decoding of polar codes. In Proceedings of the 2019 IEEE International Workshop on Signal Processing Systems (SiPS), Nanjing, China, 20–23 October 2019; pp. 272–277. [Google Scholar]
  12. Dhok, A.; Bhole, S. ATRNN: Using seq2seq approach for decoding polar codes. In Proceedings of the 2020 International Conference on COMmunication Systems & NETworkS (COMSNETS), Bengaluru, India, 7–11 January 2020; pp. 662–665. [Google Scholar]
  13. Qin, Y.; Liu, F. Convolutional neural network-based polar decoding. In Proceedings of the 2019 2nd World Symposium on Communication Engineering (WSCE), Nagoya, Japan, 20–23 December 2019; pp. 189–194. [Google Scholar]
  14. Wen, C.; Xiong, J.; Gui, J.; Shi, J.; Wang, Y. A novel decoding scheme for polar code using convolutional neural network. In Proceedings of the 2019 IEEE International Symposium on Broadband Multimedia Systems and Broadcasting (BMSB), Jeju, Korea, 5–7 June 2019; pp. 1–5. [Google Scholar]
  15. Chen, C.; Teng, C.; Wu, A. Low-Complexity LSTM-assisted bit-flipping algorithm for successive cancellation list polar decoder. In Proceedings of the 2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Barcelona, Spain, 4–8 May 2020; pp. 1708–1712. [Google Scholar]
  16. Wang, X.; Zhang, H. Learning to flip successive cancellation decoding of polar codes with LSTM networks. In Proceedings of the 2019 IEEE 30th Annual International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC), Istanbul, Turkey, 8–11 September 2019; pp. 1–5. [Google Scholar]
  17. He, B.; Wu, S.; Deng, Y.; Yin, H.; Jiao, H.; Zhang, Q. A machine learning based multi-flips successive cancellation decoding scheme of polar codes. In Proceedings of the 2020 IEEE 91st Vehicular Technology Conference (VTC2020-Spring), Antwerp, Belgium, 25–28 May 2020; pp. 1–5. [Google Scholar]
  18. Kasongo, S.M.; Sun, Y. A Deep Long Short-Term Memory based classifier for Wireless Intrusion Detection System. ICT Express 2020. [Google Scholar] [CrossRef]
  19. Wen, G.; Qin, J.; Fu, X.; Yu, W. DLSTM: Distributed Long Short-Term Memory Neural Networks for the Internet of Things. IEEE Trans. Netw. Sci. Eng. 2021. [Google Scholar] [CrossRef]
  20. Hochreiter, S.; Schmidhuber, J. Long short-term memory. Neural Comp. 1997, 9, 1735–1780. [Google Scholar] [CrossRef] [PubMed]
  21. Yang, H.; Ma, J.H. Research on method of regularization parameter solution. Comput Meas. Control 2017, 25, 226–229. [Google Scholar]
  22. Kingma, D.P.; Ba, J.L. Adam: A method for stochastic optimization. In Proceedings of the ICLR 2015, San Diego, CA, USA, 7–9 May 2015. [Google Scholar]
  23. Zhang, Z.; Niu, K.; Dong, C. Multi-bit-flipping decoding of polar codes based on medium-level bit-channels sets. In Proceedings of the IEEE Wireless Communications and Networking Conference (WCNC), Marrakesh, Morocco, 15–18 April 2019; pp. 1–6. [Google Scholar]
  24. Shantharama, P.; Thyagaturu, A.S.; Reisslein, M. Hardware-Accelerated Platforms and Infrastructures for Network Functions: A Survey of Enabling Technologies and Research Studies. IEEE Access 2020, 8, 132021–132085. [Google Scholar] [CrossRef]
Figure 1. A butterfly-based decoder with N = 8 .
Figure 1. A butterfly-based decoder with N = 8 .
Entropy 23 00863 g001
Figure 2. The SC decoding tree for a P(16, 8).
Figure 2. The SC decoding tree for a P(16, 8).
Entropy 23 00863 g002
Figure 3. An LSTM basic unit.
Figure 3. An LSTM basic unit.
Entropy 23 00863 g003
Figure 4. Frequency of errors caused by the channel noise at different E b / N 0 for P(64, 32), 1 × 10 5 polar codes.
Figure 4. Frequency of errors caused by the channel noise at different E b / N 0 for P(64, 32), 1 × 10 5 polar codes.
Entropy 23 00863 g004
Figure 5. The percentage of error bits caused by different reasons at different E b / N 0 for P(64, 32), 1 × 10 5 polar codes.
Figure 5. The percentage of error bits caused by different reasons at different E b / N 0 for P(64, 32), 1 × 10 5 polar codes.
Entropy 23 00863 g005
Figure 6. (a) System simulation model. (b) The DLSTM network structure for predicting the first error bit of P ( 64 , 32 ) .
Figure 6. (a) System simulation model. (b) The DLSTM network structure for predicting the first error bit of P ( 64 , 32 ) .
Entropy 23 00863 g006
Figure 7. A DLSTM unit.
Figure 7. A DLSTM unit.
Entropy 23 00863 g007
Figure 8. The SC Flipping algorithm based on DLSTM.
Figure 8. The SC Flipping algorithm based on DLSTM.
Entropy 23 00863 g008
Figure 9. Diagram of two-bit flipping selection.
Figure 9. Diagram of two-bit flipping selection.
Entropy 23 00863 g009
Figure 10. Structure of the DLSTM-based robustness algorithm.
Figure 10. Structure of the DLSTM-based robustness algorithm.
Entropy 23 00863 g010
Figure 11. Convergence graph for different codewords with E b / N 0 = 1.0 dB.
Figure 11. Convergence graph for different codewords with E b / N 0 = 1.0 dB.
Entropy 23 00863 g011
Figure 12. A comparison of the CS in [8] and the flipping set in this paper for identifying the first error bit at E b / N 0 = 1.0 dB.
Figure 12. A comparison of the CS in [8] and the flipping set in this paper for identifying the first error bit at E b / N 0 = 1.0 dB.
Entropy 23 00863 g012
Figure 13. Accuracy comparison of identifying the first error bit for P ( 64 , 32 ) at E b / N 0 = 1.0 dB.
Figure 13. Accuracy comparison of identifying the first error bit for P ( 64 , 32 ) at E b / N 0 = 1.0 dB.
Entropy 23 00863 g013
Figure 14. Comparison of average normalized decoding complexity for P(64, 32) with T 1 = 4 , T 2 = 2 .
Figure 14. Comparison of average normalized decoding complexity for P(64, 32) with T 1 = 4 , T 2 = 2 .
Entropy 23 00863 g014
Figure 15. (left) Comparison of total decoding latency for P(32, 16). (right) Comparison of total decoding latency for P(64, 32).
Figure 15. (left) Comparison of total decoding latency for P(32, 16). (right) Comparison of total decoding latency for P(64, 32).
Entropy 23 00863 g015
Figure 16. (left) Performance comparison of different flip times for P(32, 16). (right) Performance comparison of different flip times for P(64, 32).
Figure 16. (left) Performance comparison of different flip times for P(32, 16). (right) Performance comparison of different flip times for P(64, 32).
Entropy 23 00863 g016
Figure 17. (left) BLER comparison of different algorithms for P(32, 16). (right) BER comparison of different algorithms for P(32, 16).
Figure 17. (left) BLER comparison of different algorithms for P(32, 16). (right) BER comparison of different algorithms for P(32, 16).
Entropy 23 00863 g017
Figure 18. BLER comparison of different algorithms for P(64, 32).
Figure 18. BLER comparison of different algorithms for P(64, 32).
Entropy 23 00863 g018
Figure 19. BLER comparison of the proposed algorithm and optimized algorithm with robustness mechanism with T max = 6 .
Figure 19. BLER comparison of the proposed algorithm and optimized algorithm with robustness mechanism with T max = 6 .
Entropy 23 00863 g019
Table 1. Extract information bits for P(16, 8).
Table 1. Extract information bits for P(16, 8).
Index0123456789101112131415
Location0000000101111111
Index of information bit 0 1234567
Table 2. Simulation parameter for P(64, 32) with E b / N 0 = 1.0 dB.
Table 2. Simulation parameter for P(64, 32) with E b / N 0 = 1.0 dB.
NameParameter
Polar codes(64,32)
Frame number2,000,000
Rate R1/2
CRC generator polynomial x 8 + x 7 + x 5 + x 4 + x 1 + 1
Batch size1000
Number of epoch30
Regularization L20.008
DLSTM66,048
Dense2080
OptimizerAdam
Table 3. Comparison of two- and three-layer LSTM networks in predicting the first error bit.
Table 3. Comparison of two- and three-layer LSTM networks in predicting the first error bit.
Polar CodesLayerAccuracyTotal Param
P ( 64 , 32 ) 257.2%77.45%87.4%92.84%68,128
357.12%77.32%87.43%92.94%101,152
P ( 16 , 8 ) 268.63%91.8%98.48%99.86%4360
368.46%91.81%98.44%99.85%6472
Table 4. The obtained gain and reduced latency by the proposed algorithm for P(32, 16) with T max = 6 and BLER = 10 3 .
Table 4. The obtained gain and reduced latency by the proposed algorithm for P(32, 16) with T max = 6 and BLER = 10 3 .
Algorithm E b / N 0 Gain (dB)Reduce Latency
proposed3.25--
ML-MSCF [17]3.530.28−5.77%
DSCF [9]3.740.49−1.16%
CA-SCL (L = 2) [4]3.910.6615.73%
CA-SCL (L = 4) [4]3.440.1931.22%
CA-SCL (L = 8) [4]3.23−0.0251.46%
Table 5. The obtained gain and reduced latency by the proposed algorithm for P(64, 32) with T max = 6 and BLER = 10 3 .
Table 5. The obtained gain and reduced latency by the proposed algorithm for P(64, 32) with T max = 6 and BLER = 10 3 .
Algorithm E b / N 0 Gain (dB)Reduce Latency
proposed3.26--
ML-MSCF [17]3.470.21−0.62%
DSCF [9]3.620.361.39%
CA-SCL (L = 2) [4]3.810.5519.29%
CA-SCL (L = 4) [4]3.24−0.0245.41%
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Cui, J.; Kong, W.; Zhang, X.; Chen, D.; Zeng, Q. DLSTM-Based Successive Cancellation Flipping Decoder for Short Polar Codes. Entropy 2021, 23, 863. https://doi.org/10.3390/e23070863

AMA Style

Cui J, Kong W, Zhang X, Chen D, Zeng Q. DLSTM-Based Successive Cancellation Flipping Decoder for Short Polar Codes. Entropy. 2021; 23(7):863. https://doi.org/10.3390/e23070863

Chicago/Turabian Style

Cui, Jianming, Wenxiu Kong, Xiaojun Zhang, Da Chen, and Qingtian Zeng. 2021. "DLSTM-Based Successive Cancellation Flipping Decoder for Short Polar Codes" Entropy 23, no. 7: 863. https://doi.org/10.3390/e23070863

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop