SC-Fano Decoding of Polar Codes

01/21/2019
by   Min-Oh Jeong, et al.
0

In this paper, we present a novel decoding algorithm of a polar code, named SC-Fano decoding, by appropriately incorporating the Fano sequential decoding into the standard successive-cancellation (SC) decoding. The proposed SC-Fano decoding follows the basic procedures of SC decoding with an additional operation to evaluate the reliability (or belief) of a current partial 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. In this way, SC-Fano decoding can address the inherent drawback of SC decoding such as one wrong-decision will surely lead to a wrong codeword. Compared with the other improvements of SC decoding as SC-List (SCL) and SC-Stack (SCS) decodings, SC-Fano decoding has much lower memory requirement and thus is more suitable for hardware implementations. Also, SC- Fano decoding can be viewed as an efficient implementation of SC-Flip (SCF) decoding without the cost of cyclic-redundancy-code (CRC). Simulation results show that the proposed SC-Fano decoding significantly enhances the performance of SC decoding with a similar complexity as well as achieves the performance of SCL decoding with a lower complexity.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

07/11/2020

Efficient List Decoding of Convolutional Polar Codes

An efficient implementation of min-sum SC/list decoding of convolutional...
02/22/2019

Learning to Flip Successive Cancellation Decoding of Polar Codes with LSTM Networks

The key to successive cancellation (SC) flip decoding of polar codes is ...
09/25/2019

VirtSC: Combining Virtualization Obfuscation with Self-Checksumming

Self-checksumming (SC) is a tamper-proofing technique that ensures certa...
09/22/2021

Efficient Partial Rewind of Polar Codes' Successive Cancellation-based Decoders for Re-decoding Attempts

Successive cancellation (SC) process is an essential component of variou...
12/21/2018

A Complexity Reduction Method for Successive Cancellation List Decoding

This paper introduces a hardware complexity reduction method for success...
12/20/2021

Successive Cancellation Ordered Search Decoding of Modified _N-Coset Codes

A tree search algorithm called successive cancellation ordered search (S...
07/10/2019

Modeling Semantic Compositionality with Sememe Knowledge

Semantic compositionality (SC) refers to the phenomenon that the meaning...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

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-error-rate (FER) ), 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

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 low-complexity 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 path-metric 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 where and represent the code length and the number of information bits, respectively, and denotes the information set which contains the indices of information bits. In [1], the generator matrix of a polar code is obtained by where and represent the 2-by-2 Arikan kernel and the Kronecker product, respectively, and the denotes the bit-reversal permutation matrix. Then, the polar encoding is performed as

(1)

where

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 for in that order, from the observation such as

(2)

Here, stands for the decision function as

(3)

where (called branch-metric) is efficiently computed in a recursive way (see [1] for details).

Fig. 1: The example of SC decoding for the polar code with and . Here, it estimates the wrong message-vector . The number beside the node denotes the branch-metric .

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.

Fig. 2: The example of SC-Fano decoding with for the polar code with and . Here, it estimates the correct message-vector . The number beside node denotes the path-metric .

Iii-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

(4)

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 . 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

denote an error-probability of the polarized (or synthesized) channel

. Note that it can be efficiently computed via density evolution [14]. Then, we first observe that for any length- path , the corresponding path-metric can be upper bounded as

(5)

and equivalently, we have

(6)

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 independently from the lengths of partial paths. Based on this, the proposed path-metric is obtained as

(7)

with initial-metric . Note that the path-metric in (7) is equal to

(8)

Then, from (5), we can confirm that

(9)

for any since .

Fig. 3: The flowchart of SC-Fano decoding.

Iii-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 (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

indicates whether a current node is reached from a parent node (e.g., ) or a child node (e.g., ). For the case of , 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 , 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 denote the length- binary vector where if the -th information bit is decoded following the path with a lower branch-metric among two candidate paths, and , otherwise. To avoid recomputing the path metric of revisited paths, we introduce the length- vector where 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 . In Algorithm, the function 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 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 path-metric 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 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-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 .

1:Initialization: , ,
2:,
3:while  do
4:     if  then for
5:         if  then
6:              if  then
7:                  ,
8:                  if  then
9:                  else if  then
10:                  end if
11:                  if  then
12:                  end if
13:                  ,
14:              else if  then
15:                  if  then
16:                       
17:                       ,
18:                       , ,
19:                  else if  then
20:                       if  then ,
21:                       else if  then
22:                           
23:                           
24:                       end if
25:                  end if
26:              end if
27:         else if  then
28:              if  then
29:              else if  then
30:                  ,
31:              end if
32:         end if
33:     else if  then ,
34:     end if
35:end while
36:Return
Algorithm 1 SC-Fano()
1:while True do
2:     if  then
3:     else if  then
4:     end if
5:     if  then
6:         if  then , Return
7:         end if
8:     else if  then ,
9:         Return
10:     end if
11:end while
Algorithm 2 Backward movement ()
1:while  do
2:end while
3:Return
Algorithm 3 Threshold update
Example 1

In this example, we will show how the proposed SC-Fano decoding can outperform the standard SC decoding. For the comparison, we consider the polar code with the parameters . Assuming the message-vector , the polar encoding in (1) generates the codeword . Considering the additive-white-Gaussian-noise (AWGN) channel and BPSK modulation, the (noisy) received signal is given as . Figs. 1 and 2 illustrate the decoding procedures of SC and SC-Fano decodings, respectively. We used the parameter for SC-Fano decoding. This example shows that SC decoding fails to find a correct information-bit where is estimated. We notice that the failure of SC decoding is due to the wrong decision of (e.g., \⃝raisebox{-0.9pt}{2} in Fig. 1). In contrast, SC-Fano decoding can recognize this wrong decision as the path-metric is lower than the current threshold , namely, . Here, note that the dynamic threshold was updated from to because both path metrics and in Fig. 2 are lower than . Algorithm 2 makes to move backward (e.g., \⃝raisebox{-0.9pt}{3} in Fig. 2). Also, from Algorithm 1, the decoding process moves along the other path (\⃝raisebox{-0.9pt}{4} in the Fig. 2), which can eventually yield a correct information-bit .

Fig. 4: Performance comparisons of SC, SCL, SCF, and SC-Fano decodings for the length-128 polar code of the rate .

Iv Simulation Results

We compare the proposed SC-Fano decoding with the SC, SCL and SCF decodings with respect to the frame-error-rate (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 normalized complexities of SC-Fano, SCL, and SCF decodings are respectively defined as , , and , where , , , and denotes the summation of all the number of decoded bits during SC, SC-Fano, SCL, and SCF decodings, respectively. Note that is equal to the number of decoded bits (e.g., code length ). For the simulations, AWGN channel and the polar code of length 128 and code rate are assumed. For SC-Fano decoding, we considered the various parameters . Also, for SCL decoding, we used the list-sizes . In fact, SCL decoding with 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 can achieve the performance of SCL decoding with having a lower average computational complexity. Furthermore, the complexity reduction becomes a larger as grows. At , SC-Fano decoding with 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 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.

Fig. 5: Complexity comparisons of SC, SCL, SCF, and SC-Fano decodings for the length- polar code of the rate .

References

  • [1] E. Arıkan, “Channel polarization: a method for constructing capacity-achieving codes for symmetric binary-input memoryless channels,” IEEE Trans. Inf. Th., vol. 55, no. 7, pp. 3051-3073, Jul. 2009.
  • [2] I. Tal and A. Vardy, “List decoding of polar codes,” IEEE Trans. Inf. Th., vol. 61, no. 5, pp. 2213-2226, May 2015.
  • [3] K. Niu and K. Chen, “Stack decoding of polar codes,” Elect. Letters, vol. 48, no. 12, pp. 695-697, Nov. 2012.
  • [4] K. Chen, K. Niu and J. Lin, “Improved successive cancellation decoding of polar codes,” IEEE Trans. Commun., vol. 61, no. 8, pp. 3100-3107, Aug. 2013.
  • [5] V. Miloslavskaya and P. Trifonov, “Sequential Decoding of Polar Codes,” IEEE Commun. Lett., vol. 18, no. 7, pp. 1127-1130, July 2014.
  • [6] P. Trifonov, “A Score Function for Sequential Decoding of Polar Codes,” in Proc. IEEE Int. Symp. on Inf. Th. (ISIT), pp. 1470-1474, Vail, CO, 2018.
  • [7] O. Afisiadis, A. Balatsoukas-Stimming and A. Burg, “A low-complexity improved successive cancellation decoder for polar codes,” in Proc. 48th Asilomar Conf. Sig. Sys. Comput., pp. 2116-2120, Pacific Grove, CA, Nov. 2014.
  • [8] L. Chandesris, V. Savin and D. Declercq, “An improved SCFlip decoder for polar codes,” in Proc. IEEE Global Commun. Conf. (GLOBECOM), pp. 1-6, Washington, DC, Dec. 2016.
  • [9] L. Chandesris, V. Savin and D. Declercq, “Dynamic-SCFlip decoding of polar codes,” IEEE Trans. Commun., vol. 66, no. 6, pp. 2333-2345, Jun. 2018.
  • [10] C. Condo, F. Ercan and W. J. Gross, “Improved successive cancellation flip decoding of polar codes based on error distribution,” in Proc. IEEE Wire. Commun. Net. Conf. Works. (WCNCW), pp. 19-24, Barcelona, Spain, Apr. 2018.
  • [11] F. Ercan, C. Condo, S. A. Hashemi and W. J. Gross, “Partitioned successive-cancellation flip decoding of polar codes,” in Proc. IEEE Int. Conf. Commun. (ICC), pp. 1-6, May 2018.
  • [12] F. Ercan, C. Condo and W. J. Gross, “Improved bit-flipping algorithm for successive cancellation decoding of polar codes,” IEEE Trans. Commun.
  • [13]

    R. M. Fano, “A heuristic discussion of probabilistic decoding,”

    IEEE Trans. Inf. Th., vol. 9, no. 2, pp. 64-74, Apr. 1963.
  • [14] R. Mori and T. Tanaka, “Performance of polar codes with the construction using density evolution,” IEEE Commun. Lett., vol. 13, no. 7, pp. 519-521, Jul. 2009.