We propose a parallel decoding algorithm based on error checking and correcting to improve the performance of the short polar codes. In order to enhance the errorcorrecting capacity of the decoding algorithm, we first derive the
Due to the ability of achieving Shannon capacity and its low encoding and decoding complexity, the polar codes have received much attention in recent years [
In [
Indeed, all the decoding algorithms in [
For the decoding algorithms with serial processing, there has been the problem of error propagation except the low decoding throughput and high latency [
Motivated by aforementioned observations, we propose a parallel decoding algorithm for short polar codes based on error checking and correcting in this paper. We first classify the nodes of the proposed decoder into two categories:
An errorchecking algorithm for polar decoding based on the errorchecking equations solving is introduced; furthermore, as to enhance the accuracy of the error checking, a CRCaided optimization problem of finding the optimal solution is formulated.
To correct the checked errors, we propose a method of modifying the probability messages of the error nodes according to the maximization principle.
In order to improve the throughput of the decoding, we propose a parallel probability messages calculating method based on the decoding tree representation of the nodes.
The whole procedure of the proposed decoding algorithm is described with the form of pseudocode, and the complexity of the algorithm is also analyzed.
The finding of this paper suggests that, with the error checking and correcting, the errorcorrecting capacity of the decoding algorithm can be enhanced, which will yield a better performance at cost of certain complexity. Specifically, with the parallel probability messages calculating, the throughput of decoding is higher than the serial process based decoding algorithms. All of these results are finally proved by our simulation work.
The remainder of this paper is organized as follows. In Section
In this work, the blackboard bold letters, such as
The matrixes in this work are denoted by bold letters. The subscript of a matrix indicates its size; for example,
During the procedure of the encoding and decoding, we denote the intermediate node as
Throughout this Paper, “
A polar coding scheme can be uniquely defined by three parameters: blocklength
In practice, the polar encoding can be completed with the construction shown in Figure
Construction of the polar encoding with length
After the procedure of the polar encoding, all the bits in the codeword
At the receiver, the decoder can output the estimated codeword
For the generation matrix of the a polar code
That is to say, for the decoding of the polar codes, one will have
where
The proof of Theorem
Hence, as for the polar encoder shown in Figure
Furthermore, we have the construction of the decoder as shown in Figure
(a) Construction of polar decoding with code length
In fact, the input probability messages of the decoder depend on the transition probability
For convenience of expression, we will write the input probability messages
In practice, due to the input of frozen bits [
For the decoder of a polar code with rate
The proof of Lemma
Lemma
It can be found from the construction of the decoder in Figure
The decoding trees for the nodes
During the decoding procedure, probability messages of
To generalize the decoding tree representation for the decoding, we introduce the following Lemma.
In the decoder of a polar code with length
The proof of Lemma
Lemma
As analyzed in Section
It is noticed from Section
For any frozen node
For the proof of Theorem
Theorem
For a polar code with the frozen node set
The proof of Corollary
Corollary
As aforementioned, errors in the input nodes can be found with probability messages of the frozen node, but there still is a problem, which is how to locate the exact position of each error. To solve the problem, a parameter called
That is to say, by the parameter of error indicator, we can determine whether an input node is error or not. Hence, the above problem can be transformed into how to obtain the error indicator of each input node. Motivated by this observation, we introduce another corollary of Theorem
For any frozen node
The proof of Corollary
Corollary
We assume that frozen nodes
Furthermore, (
For a polar code with the code length
The proof of the Lemma
Lemma
For a polar code with code length
For the proof of Theorem
It is noticed from Theorem
For a polar code with code length
The proof of Corollary
It is noticed from (
For a polar code with code length
For the proof of Theorem
Theorem
Based on above results, we take (
By the element permutation of
It is noticed clearly from the above example that, with the checking of (
As the summarization of this section, we given the complete process framework of error checking by solutions of the errorchecking equations, which is shown in Algorithm
The frozen nodes set,
The probability messages set of the
The matrixes,
The error indicator vectors set,
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
In this section, we will introduce the proposed decoding algorithm in detail.
Probability messages calculating is an important aspect of a decoding algorithm. Our proposed algorithm is different from the SC and BP algorithms, because the probability messages are calculated based on the decoding tree representation of the nodes in the decoder, and for an intermediate node
Based on (
Algorithm
In fact, when there is only one error indicator vector output from Algorithm
To find the optimal error indicator vector, we will introduce a parameter called
The reliability degree indicates the reliability of the node’s decision value, and the larger the reliability degree, the higher the reliability of that value. For example, if the probability messages of the node
As aforementioned, due to the existence of
The first method is based on the fact that, when there is no noise in the channel, the reliability degree of the node will approach to infinity; that is,
To reduce the complexity, we have further introduced two simplified versions of the above method. On one hand, we just maximize the reliability degree of all the frozen nodes; hence, the target function can be written as
On the other hand, we take the maximization of the output nodes’ reliability degree as the optimization target, function of which will be given by
Hence, the problem of getting the optimal error indicator vector can be formulated as an optimization problem with the above three target functions. What is more is that, with the CRC aided, the accuracy of the optimal error indicator vector can be enhanced. Based on these observations, the finding of the optimal error indicator vector will be divided into the following steps.
Initialization: we first get number
CRCchecking: in order to get the optimal error indicator vector correctly, we further exclude some candidates from
Determination: if there are multiple candidates with a correct CRCchecking, we will further choose the optimal error indicator vector from the remaining candidates of step 2 with the formulas of (
So far, we have introduced the main steps of proposed decoding algorithm in detail, and, as the summarization of these results, we now provide the whole decoding procedure with the form of pseudocode, as shown in Algorithm
The the received vector
The decoded codeword,
(
(
(
(
(
(
(
(
(
(
In this section, the complexity of the proposed decoding algorithm is considered. We first investigate the space and time complexity of each step in Algorithm
The space and time complexity of each step in Algorithm
Step number in Algorithm 
Space complexity  Time complexity 










( 








In Table
The space and time complexity of each step in Algorithm
Step number in Algorithm 
Space complexity  Time complexity 







( 


( 


In Table
In this section, Monte Carlo simulation is provided to show the performance and complexity of the proposed decoding algorithm. In the simulation, the BPSK modulation and the additive white Gaussian noise (AWGN) channel are assumed. The code length is
To compare the performance of SC, SCL, BP, and the proposed decoding algorithms, three optimization targets with 1 bit CRC are used to get the optimal error indicator vector in our simulation, and the results are shown in Figure
Performance comparison of SC, SCL(
As it is shown from Algorithms 1, 2, and 3 in Figure
In addition, it is noted from Theorem
Performance of proposed decoding algorithm with different
To estimate the complexity of the proposed decoding algorithm, the average numbers of parameters
Average number of parameters
It is noticed from Figure
Space and time complexity comparison of SC, SCL(
In this paper, we proposed a parallel decoding algorithm based on error checking and correcting to improve the performance of the short polar codes. To enhance the errorcorrecting capacity of the decoding algorithm, we derived the errorchecking equations generated on the basis of the frozen nodes, and through delving the problem of solving these equations, we introduced the method to check the errors in the input nodes by the solutions of the equations. To further correct those checked errors, we adopted the method of modifying the probability messages of the error nodes with constant values according to the maximization principle. Due to the existence of multiple solutions of the errorchecking equations, we formulated a CRCaided optimization problem of finding the optimal solution with three different target functions, so as to improve the accuracy of error checking. Besides, in order to increase the throughput of decoding, we used a parallel method based on the decoding tree to calculate probability messages of all the nodes in the decoder. Numerical results showed that the proposed decoding algorithm achieves better performance than that of the existing decoding algorithms, where the space and time complexity were approaching to
It is worth mentioning that we only investigated the error correcting for short polar codes, while for the longlength codes, the method in this paper will yield higher complexity. Hence, in future, we will extend the idea of error correcting in this paper to the research of long code length in order to further improve the performance of polar codes.
We can get the inverse of
Based on the mathematical induction, we will have
The inverse of
Since
It is noticed from
We assume the leaf nodes number of the frozen node
Therefore, by the mathematical inducing, when
To prove Theorem
It is noticed from (
In view of the process of polar encoding, we can find that the frozen nodes in the intermediate column are generated by the linear transformation of the frozen nodes in the leftmost column. That is to say, errorchecking equation generated by the frozen nodes in the intermediate column can be linear expressed by the errorchecking equation generated by the frozen nodes in the leftmost column. Hence, we further have
Therefore, the proof of (
To prove Theorem
Based on (
With definition of variables
To take the derivative of
The authors declare that they do not have any commercial or associative interests that represent a conflict of interests in connection with the work submitted.
The authors would like to thank all the reviewers for their comments and suggestions.