SC-Fano Decoding of Polar Codes

For finite-length polar codes, the standard successive cancellation (SC) decoding has been improved, such as SC-List (SCL), SC-Stack (SCS), and SC-Flip (SCF) decodings. In this paper, we present an alternative improvement of SC decoding by incorporating the Fano sequential decoding into SC decoding. This is referred to as SC-Fano decoding. Specifically, it can address the major drawback of SC decoding by enabling moving-backward when the reliability of an on-going path is not good enough. The SCS and SC-Fano decodings can be viewed as the sequential decoding for polar codes. In addition, for cyclic-redundancy-check (CRC) concatenated polar codes, we enhance SC-Fano decoding by leveraging the bit-flipping idea of SCF decoding. The simulation results demonstrate that the proposed SC-Fano decoding can provide better performance-complexity tradeoff than the existing decoding methods.


I. INTRODUCTION
Polar codes, introduced by Arikan in [1], achieve the symmetric capacity of the binary-input discrete memoryless channels (BI-DMCs) under successive-cancellation (SC) decoding. However, for practical finite lengths, polar codes with SC decoding yield poor performances compared with LDPC and Turbo codes. In [2], SC list (SCL) decoding was developed, enabling to achieve the optimal maximum-likelihood (ML) performance with a sufficiently large list size. Despite its superior performance, SCL decoding suffers from high computational complexity, memory requirement, and lower decoding throughput.
Recently in [3] and [4], SC-Stack (SCS) decoding was proposed whose computational complexity can be very close to that of SC decoding in the high signal-to-noise ratio (SNR) regimes. In the operating SNR regimes (e.g., frame-errorrate (FER) < 10 −2 ), SCS decoding can have much lower decoding complexity than SCL decoding. Also, in [5] and [6], an improved path-metric and efficient stack decoding algorithm for a polar code were developed. In contrast, SCS decoding requires larger space-complexity and its performance is not poor when the stack-size is small [3], [4]. Another improvement of SC decoding, called SCFlip (SCF) decoding, was proposed in [7]. Here, SC decoding is first performed to generate an initial estimated codeword. Then, it passes the cyclic-redundancy-check (CRC), the overall decoding is completed. Otherwise, SC decoding additionally proceeds by flipping a single information-bit which is carefully chosen with log-likelihood ratios (LLRs). SCF decoding terminates either when a valid codeword is found (i.e., CRC passes) or T max additional trials are failed. Also, some improvements of SCF decoding were proposed in [8]- [12].
In this paper, we propose an alternative improvement of SC decoding, called SC-Fano decoding, by properly incorporating the Fano sequential decoding [13] into the standard SC decoding. Following the basic procedures of SC decoding, the proposed SC-Fano decoding has an additional step to evaluate the reliability (or belief) of a current path. Specifically, at every decoding stage, it decides whether to move forward along a current path or move backward to find a more likelihood path, which can overcome the major drawback of SC decoding such as one wrong-decision will destroy the overall decoding. As in the sequential decoding [13], which is one of the lowcomplexity decodings for convolutional codes, the decision at every stage is made by comparing the (partial) path-metric (e.g., the path-metric of a current path) with a dynamic threshold. As in the sequential decoding [13], defining a pathmetric plays a crucial role in the performance of SC-Fano decoding. The Fano metric, used in convolutional codes, is not appropriate for SC-Fano decoding due to the different code structures of polar and convolutional codes. We thus develop a novel (partial) path-metric suitable for the proposed SC-Fano decoding. Compared with the other improvements of SC decoding as SCL and SCS decodings, SC-Fano decoding has a lower memory requirement and thus is more suitable for hardware implementations. SC-Fano decoding can be viewed as an efficient implementation of the idea of SCF decoding without paying the cost of CRC. Namely, the former can flip an erroneous information bit immediately while the latter does it after decoding all the information bits. Finally, simulation results show that SC-Fano decoding enhances the performance of SC decoding with an almost same complexity and also achieves the performance of SCL decoding with a lower complexity.

II. PRELIMINARIES
We briefly review the polar codes and the standard SC decoding in [1]. The polar codes are uniquely defined by the (N, K, A) where N = 2 n and K represent the code length and the number of information bits, respectively, and A ⊆ {1, ..., N } denotes the information set which contains the indices of K information bits. In [1], the generator matrix of a polar code is obtained by and ⊗ represent the 2-by-2 Arikan kernel and the Kronecker product, respectively, and the B N denotes the bit-reversal permutation matrix. Then, the polar encoding is performed as where u N 1 = (u 1 , ..., u N ) represents a message-vector containing both the information bits and zero frozen bits.
Next, we explain the standard SC decoding which produces the estimated information-bitû i for i = 1, 2, .., N in that order, from the observation y N 1 = (y 1 , y 2 , ..., y N ) such aŝ Here, φ(·) stands for the decision function as where Pr(u i |y N 1 ,û i−1 1 ) (called branch-metric) is efficiently computed in a recursive way (see [1] for details).

III. THE PROPOSED SC-FANO DECODING
We propose a SC-Fano decoding which can improve the performance of SC decoding with an almost same complexity. The proposed decoding is developed by appropriately combining the Fano sequential decoding [13] with SC decoding. In detail, at every SC decoding stage, SC-Fano decoding decides whether to move forward along a current path or move backward to find a more likelihood path. Here, the decision is made by comparing the proposed partial path-metric of the current path with a dynamical threshold. Our major contribution is to present the (partial) path-metric suitable for SC-Fano decoding, which is different from the conventional Fano metric used in convolutional codes [13]. In the following subsections, we will explain the proposed path-metric and the detailed descriptions of SC-Fano decoding.

A. The proposed path-metric
We propose a path-metric which will play a crucial role in SC-Fano decoding. As in the Fano sequential decoding [13], the path-metric should satisfy the following two requirements: 1) It should be able to capture the reliabilities of the associated partial paths; 2) it should be properly normalized for the fair comparisons of the partial paths having different lengths. First of all, there have been related studies focusing on the path-metric of SCS decoding (see [5] and [6] for details). Conventionally, the so-called Fano metric is employed for both the Fano sequential decoding and the stack decoding for conventional codes. In contrast, the path-metric in [5] and [6] is not suitable for the proposed SC-Fano decoding since it continuously decreases as the decoding-stage proceeds, which makes it to move backward frequently and thus can increase the decoding latency of SC-Fano decoding. Therefore, it is required to find a proper partial path-metric for SC-Fano decoding.
Toward this, since a path-metric used in SCL decoding [2] satisfies the above requirement 1), we start with this metric defined as where note that this path-metric is computed recursively. Unfortunately, this metric cannot meet the requirement 2) because it tends to decrease steadily as a (decoded) path-length grows. In other words, as the decoding-stage proceeds, the resulting path-metric is more likely to decrease, equivalently, not to to pass the dynamic threshold T . Accordingly, the overall decoding process can be stuck (i.e., moving forward and backward repeatedly). We address this problem by introducing a proper normalization term which can account for the impact of the path-length on the reliability. Let P e,j denote an error-probability of the polarized (or synthesized) channel i. Note that it can be efficiently computed via density evolution [14]. Then, we first observe that for any length-i pathû i 1 = (û 1 , ...,û i ), the corresponding path-metric can be upper bounded as  Fig. 3. The flowchart of SC-Fano decoding. and equivalently, we have Using this, we can satisfy the requirement 2 by normalizing the path-metric such that the maximum path-metric corresponding to a correct path would be log 1 = 0 independently from the lengths of partial paths. Based on this, the proposed pathmetric is obtained as with initial-metric P SC−Fano (û 0 1 ) = P SC−Fano (û 0 ) = 0. Note that the path-metric in (7) is equal to .

B. The SC-Fano decoding
As in SC, SCL, and SCS decodings, the proposed SC-Fano decoding is also performed based on the code tree as shown in Figs. 1 and 2. We recall that as shown in Fig. 1, SC decoding only moves forward (e.g., in the direction from the root node to leaf nodes) on the code tree such that at every decoding-stage, the path with a higher branch-metric is chosen among the two candidate paths. In contrast, SC-Fano decoding can move either forward or backward according to the corresponding path-metric and a current dynamic threshold T (see Fig. 2). The flowchart of the SC-Fano decoding is in Fig. 3, and the detailed descriptions of the proposed SC-Fano decoding are provided in Algorithms 1, 2, and 3.
Algorithm 1 describes the main structure of SC-Fano decoding. Here, a binary variable B indicates whether a current node is reached from a parent node (e.g., B = 0) or a child node (e.g., B = 1). For the case of B = 0, the path with a higher path-metric (e.g., the good path) is chosen among the two candidate paths as in the standard SC decoding. Whereas, for the case of B = 1, either the other path (e.g., the bad path) is selected or the process moves backward since in this case, the good-path has been already selected in a previous stage and the direction along that path was evaluated as not enough to be the most reliable path. Let γ = (γ 1 , ..., γ K ) denote the length-K binary vector where γ j = 1 if the j-th information bit is decoded following the path with a lower branch-metric among two candidate paths, and γ j = 0, otherwise. To avoid recomputing the path metric of revisited paths, we introduce the length-K vector β = (β 1 , ..., β K ) where β j contains the branch-metric for the decoding.
Algorithm 2 describes the procedures of the backward movements in SC-Fano decoding where it is activated only when both path metrics in a forward direction are lower than a current threshold T . In Algorithm, the function B(β, j, T, γ) provides not only the index of an immediate parent information node but also the index of proper information node which is located upper level in the code tree then the immediate parent information node. This is because the frozen node is not used by SC-Fano decoding and thus it is possible for SC-Fano decoding to move backward more than one time. Furthermore, to make SC-Fano decoding more stable, the dynamic threshold T is updated (see Algorithm 3) whenever a path is firstly established. In algorithm 1, to automatically check whether a path is firstly established or note, it is compared with the pathmetric of upper (parent) node (denoted by µ). Without this update, the decoded path can be rotated permanently around near paths, which can yield an infinite decoding process. Also, via Algorithm 2 and Algorithm 3, SC-Fano decoding can moderate the dynamic threshold T automatically according to the reliability of the received signal.
We remark that in SC-Fano decoding, there is a parameter ∆ to control the performance-complexity tradeoff. For example, the performance of SC-Fano decoding can be improved by setting a small value ∆ while the corresponding computational complexity will increase as this tends to search more nodes in the code tree. Thus, when ∆ is very small, SC-Fano decoding can achieve the performance of the optimal ML decoding. On the other hand, if we set a larger value ∆, the performance of SC-Fano decoding will be degraded while reducing the computational complexity. Namely, when ∆ is very large, SC- if max{m i,0 , m i,1 } > T then 6: if B = 0 thenû i = argmax{m i,0 , m i,1 } Fano decoding is equivalent to the standard SC decoding. Likewise the advantage of the conventional Fano decoding over the stack decoding [13], SC-Fano decoding has lower memory complexity than SCS decoding. Also, according to the previous works in [3] and [4], SC-Fano decoding has also lower memory complexity than SCL decoding. In comparison with SC decoding, SC-Fano decoding only requires the small amount of memories for partial paths' branch metrics β, indicator vector γ and some values B, T, ∆. Figs. 1 and 2 illustrate the decoding procedures of SC and SC-Fano decodings, respectively. We used the parameter ∆ = 3 for SC-Fano decoding. This example shows that SC decoding fails to find a correct information-bit whereû 4 1 = (0, 0, 1, 0) is estimated. We notice that the failure of SC decoding is due to the wrong decision ofû 2 (e.g., 2 in Fig. 1). In contrast, SC-Fano decoding can recognize this wrong decision as the path-metric is lower than the current threshold T = −3, namely, max{P(û 2 1 ,û 3 = 0), P(û 2 1 ,û 3 = 1)} = max{−3.30, −3.06} = −3.06 < T = −3. Here, note that the dynamic threshold was updated from T = 0 to T = −3 because both path metrics P(û 2 1 = (0, 0)) = −2.57 and P(û 2 1 = (0, 1)) = −2.81 in Fig. 2 are lower than T = 0. Algorithm 2 makes to move backward (e.g., 3 in Fig. 2). Also, from Algorithm 1, the decoding process moves along the other path ( 4 in the Fig. 2), which can eventually yield a correct information-bitû 4 1 = (0, 1, 0, 1).

IV. SIMULATION RESULTS
We compare the proposed SC-Fano decoding with the SC, SCL and SCF decodings with respect to the frame-errorrate (FER) performance and the average decoding complexity. Regarding the complexity comparison, we used the notion of normalized complexity which implies that the complexities of SC, SCL, and SC-Fano decodings are normalized by that of SC decoding. To be specific, the average nor- and code rate R = 1/2 are assumed. For SC-Fano decoding, we considered the various parameters ∆ = 1, 5, 10, 20. Also, for SCL decoding, we used the list-sizes L = 8, 16. In fact, SCL decoding with L = 16 almost achieves the optimal ML performance for this short-length polar code. The corresponding FER performances and decoding complexities are provided in Figs. 4 and 5, respectively. From Figs. 4 and 5, we first confirm that the parameter ∆ of SC-Fano decoding yields the performance-complexity tradeoff. Also, we observe that SC-Fano decoding with ∆ = 1 can achieve the performance of SCL decoding with L = 16 having a lower average computational complexity. Furthermore, the complexity reduction becomes a larger as SNR grows. At FER = 10 −2 , SC-Fano decoding with ∆ = 1 can considerably reduce the complexity of SCL decoding by achieving the same performance and can significantly enhance the performance of SC decoding with a comparable complexity. In addition, we can see that SC-Fano decoding shows better performance than SCF decoding without the cost of additional CRC code where the 8-bit CRC and T max = 10 are used for SCF decoding. Similarly shown in [2], the slope of SCF decoding is better than SC-Fano decoding as the concatenation of CRC code can improve the minimum distance of a polar code. We also confirmed that SC-Fano decoding together with bit-flipping idea in [7] can outperform SCF decoding at all ranges of FERs, by enhancing the slope of SC-Fano decoding. The corresponding results are not included in this paper due to the lack of space.

V. CONCLUSION
We proposed a novel decoding method of a polar code, named SC-Fano decoding, by incorporating the Fano sequential decoding into the standard SC decoding. The proposed SC-Fano decoding has much lower memory requirements than the other improvements as SCL and SCS decodings, and thus it is more suitable for hardware implementations. Via simulation results, it was shown that SC-Fano decoding improves the performance of SC decoding with a comparable complexity and also achieves the performance of SCL decoding with a lower decoding complexity. As an ongoing work, we will extend SC-Fano decoding for CRC-concatenated polar codes.