 Research
 Open Access
 Published:
Flexible softoutput decoding of polar codes
EURASIP Journal on Wireless Communications and Networking volume 2021, Article number: 170 (2021)
Abstract
In this research, we study softoutput decoding of polar codes. Two representative softoutput decoding algorithms are belief propagation (BP) and soft cancellation (SCAN). The BP algorithm has low latency but suffers from high computational complexity. On the other hand, the SCAN algorithm, which is proposed for reduced complexity of softoutput decoding, achieves good decoding performance but suffers from long latency. These two algorithms are suitable only for two extreme cases that need very low latency (but with high complexity) or very low complexity (but with high latency). However, many practical systems may need to work for the moderate cases (i.e., not too high latency and not too high complexity) rather than two extremes. To adapt to the various needs of the systems, we propose a very flexible softoutput decoding framework of polar codes. Depending on which system requirement is most crucial, the proposed scheme can adapt to the systems by controlling the level of parallelism. Numerical results demonstrate that the proposed scheme can effectively adapt to various system requirements by changing the level of parallelism.
Introduction
The development of polar codes by E. Arikan [1, 2] was a breakthrough in coding theory. Polar codes have been proven to achieve the capacity of symmetric binaryinput discrete memoryless channels with an explicit construction. A lengthN polar code can be efficiently decoded by a hardoutput successive cancellation (SC) decoder. The successive cancellation list (SCL) decoder [3] was later introduced achieving the maximum likelihood bound for a sufficiently large list size L at the expense of increased complexity due to the nature of the list decoding. Furthermore, concatenating a high rate outer code such as cyclic redundancy check (CRC) [3,4,5] or paritycheck [6] considerably improved the performance of polar codes. However, the sequential nature of the SC decoders limits the throughput of implementations. To increase the throughput of SC decoders, estimating simultaneously certain redundant decoding steps in SC decoding, called simplified successive cancellation [7], and several works based on that approach [8, 9] were proposed.
Another interesting decoding method of polar codes is a belief propagation (BP) decoding which was originally introduced in [1]. Although the BP decoder has insufficient performance comparing to the hardoutput decoder and high computational complexity [10], it has been widely researched thanks to the high potential of parallel implementation [11,12,13,14]. However, a number of redundant computations are required in the BP decoding, which results in high computational complexity.
To address high complexity of the BP algorithm, many methods have been studied to reduce computational complexity [15], and the soft cancellation (SCAN) decoding [16] is one of them. Following the serial message update schedule of the SC decoding, the SCAN algorithm has much lower computational complexity compared with the BP algorithm. However, at the expense of decreased complexity, the SCAN algorithm suffers from long decoding latency and low throughput.
In softoutput decoding of polar codes, the SCAN and BP algorithms can be considered as two extreme cases. With these two algorithms, the system can work well only for two cases: (i) when very low latency is demanded at the expense of very high complexity, or (ii) when very low complexity is demanded at the expense of very high latency. In practice, however, some softoutput decoders may require moderate latency and moderate computational complexity. Furthermore, such requirements might be time varying, depending on the timevarying demands of the system. It is not possible to dynamically cope with such change of system requirements with the SCAN or BP algorithms, because each of the two algorithms is fixedly (and permanently) tailored for each of two extremes.
The softoutput decoding algorithm adaptable to system requirements has not been studied yet to the best of our knowledge. In this work, we propose a decoding algorithm that can work effectively for any scenarios of system requirements including two extreme cases and any moderate (inbetween) cases. The system requirements of the proposed algorithm can be flexibly adjusted by controlling the level of parallelism.
The remainder of this paper is organized as follows. We first present the softoutput decoding and perform the extrinsic information transit (EXIT) analysis for measuring the convergence latency. We construct the proposed decoding scheme by representing the polar code as the concatenated codes in which the outer codes are processed by the SCAN decoding in parallel, and the inner code is processed by the BP decoding. The convergence behavior with the PEXIT analysis shows how latency of the proposed scheme varies with the level of parallelism. It is also shown that the expense of the decreased latency is the increased complexity.
Background
With the construction method in [1], a polar code is defined by trio: codeword length \(N=2^n\), message length K, and an information set \({\mathcal {A}}\subset [N]\) of cardinality K. Let \(u_{0}^{N1}=(u_0,\ldots,u_{N1})\) and \(x_{0}^{N1}=(x_0,\ldots,x_{N1})\) denote the data and codeword, respectively. The ith component of \(u_0^{N1}\) is set to zero for all \(i\in [N]\setminus {{\mathcal {A}}}\). Then, \(x_0^{N1}=u_0^{N1}G\), where G is the generator matrix of a polar codes (defined in [1]). Bit \(u_i\) is referred to as an information bit if \(i\in {{\mathcal {A}}}\) or a frozen bit if \(i\notin {{\mathcal {A}}}\), and the frozen bits are set to 0. The received vector is denoted by \(y_{0}^{N1}=(y_0,\ldots,y_{N1})\). The codeword \(x_{0}^{N1}\) is transmitted through the channel and the received vector \(y_{0}^{N1}\) is processed by the decoder.
Fundamentals of softoutput decoding
The softoutput decoding is performed over the factor graph, which is a graphical representation of the generator matrix interconnecting variable nodes (VNs) and check nodes (CNs). The factor graph is constructed from a protograph which serves as a blueprint. Figure 1 shows an instance of the factor graph for a rate1/2 polar code with \(N=8\) and the protograph. In Fig. 1a, the rightmost grayboxed (resp. whiteboxed) VNs represent frozen bits (resp. information bits).
The factor graph is composed of \(N(n+1)\) distinguishable nodes, divided into \(n+1\) layers indexed by \(\lambda \in \{0,\ldots ,n\}\). Each layer is composed of \(2^\lambda\) groups indexed by \(\phi \in \{0,\ldots ,2^\lambda 1\}\), and each group is composed of \(2^{n\lambda }\) nodes indexed by \(\omega \in \{0,\ldots ,2^{n\lambda }1\}\). Therefore, all the nodes in the factor graph can be identified by the trio \((\lambda , \phi , \omega )\). Node \((\lambda , \phi , \omega )\) has two associated logarithmic likelihood ratio (LLR) messages \(L_\lambda (\phi ,\omega )\) and \(B_\lambda (\phi ,\omega )\) which are passed to the right and the left, respectively. LLR updates on the protograph shown in Fig. 1b can be calculated as follows:
where \(\boxplus\) is defined as
Existing scheduling for softoutput decoding
There are many types of scheduling for softoutput decoding. First, we discuss the BPbased scheduling. Messages on the flooding BP algorithm [13] are updated in parallel, from \(\lambda =n\) to \(\lambda =0\). For each layer, Lmessages and Bmessages of each layer are updated simultaneously. Another scheduling is the roundtrip BP [10, 17] which separately computes Lmessages and Bmessages. The updates in each layer are separated to two phases. In the first phase, Bmessages are updated from \(\lambda =n1\) to \(\lambda =0\). In the second phase, Lmessages are updated from \(\lambda =1\) to \(\lambda =n\). In the BP algorithm, the latency is very low; however, the computational complexity is high.
The other wellknown scheduling is the SCAN algorithm where messages are updated by serial message updating schedule used in the SC decoding. The SCAN algorithm is implemented iteratively by omitting hard decisions on the data sequence. In the SCAN algorithm, the computational complexity is low; however, the latency is high.
EXIT analysis
For the convergence analysis of iterative decoders, the EXIT chart was introduced as a novel tool because of their simplicity and accuracy [18, 19]. The EXIT chart can also be used for code design [20]. The EXIT chart analyzes exchanges of the average extrinsic mutual information of VNs and CNs and tell when the decoding converges. The protographbased EXIT (PEXIT) analysis [21] is a modified version of the EXIT analysis. In contrast to the EXIT analysis which only treats average values, every mutual information of node is considered in the PEXIT analysis.
Let \(J(\sigma )\) denote the mutual information between a binary random variable X with \(\Pr (X=+\mu )=1/2\) and \(\Pr (X=\mu )=1/2\), and a continuous Gaussian random variable Y with mean X and variance \(\sigma ^2=2\mu\). \(J(\sigma )\) is given by [18]
Consider a VN with degree \(d_v\) and a CN with degree \(d_c\). Let \(I_{Evg}\) (resp. \(I_{Ecg}\)) be the mutual information between the gth output message of the VN (resp. CN) and the associated codeword bit. For an additive white Gaussian noise (AWGN) channel, the EXIT function of the PEXIT analysis for the gth message is given by [21]
where \(I_{Avk}\) (resp. \(I_{Ack}\)) is a priori mutual information related to the message received by the VN (resp. CN) on its kth edge and \(I_{ch}\) is the channel mutual information. The convergence is declared if each \(I_\text {APP}(j)\), which is the mutual information between the a posteriori LLR evaluated by a VN and an associated codeword bit \(x_j\), reaches 1 as the iteration number increases.
Proposed scheme
The recursive structure makes polar codes be considered as generalized concatenated codes and the SC decoding can be interpreted as an instance of multistage decoding [22]. We consider a lengthN polar code as a concatenated code of S length(N/S) outer codes with a lengthN inner code where \(S=2^s\) denotes the number of outer codes. Figure 2 shows two different concatenated codes for a length8 polar code. Each outer code is processed by the SCAN decoder in parallel, and an inner code is decoded in the reverse order of the roundtrip BP.
The proposed decoding consists of three phases. The first phase is to update Lmessages of an inner code based on the inputs of channel LLRs. In the second phase, the messages in outer codes are updated according to the SCAN schedule using the Lmessages updated in the first phase as inputs. Each outer code updates the messages in parallel. The last phase is updating Bmessages of an inner code using the output LLRs of outer codes.
In the framework, the SCAN algorithm is viewed as the proposed scheme with \(s=0\), which is the serialized extreme, and the roundtrip BP algorithm is viewed as the proposed scheme with \(s=n1\), which is the parallelized extreme. Thus, the framework provides the explicit scheduling of softoutput polar decoding containing both cases as two extremes. In the proposed framework, we can gradually change the updating schedule from the most serial way to the most parallel way. By controlling s, we can determine how much the decoding is parallelized. Therefore, we call s the level of parallelism. The proposed scheme is described in Algorithm 1.
For example, in Fig. 2a, the SCAN algorithm makes one to update the output LLRs of \({\mathcal {C}}_0\) as the inputs LLRs of \({\mathcal {C}}_1\) first. After the decoding of \({\mathcal {C}}_1\), a decoder of \({\mathcal {C}}_0\) uses the output LLRs of \({\mathcal {C}}_1\) as input. The same goes on \({\mathcal {C}}_2\). Finally, LLRs for deciding codeword bits are updated in \({\mathcal {C}}_0\) and one iteration is concluded. Figure 2b shows a different concatenation of a length8 polar code. The input LLRs of the decoder for outer codes, \(\{L_{s}(\phi ,\omega )\}\), are updated in lines 5 and 6 of Algorithm 1. The decoding of outer codes is performed in lines 7 and 8 in parallel. The decoding of outer codes is the same as the process of the SCAN decoding. The output LLRs of the outer code is updated in lines 9 and 10.
We also study the convergence behavior obtained based on the PEXIT analysis to measure latency. The convergence is declared if each \(I_\text {APP}(j)\), which is the mutual information between the a posteriori LLR evaluated by a VN and an associated codeword bit \(x_j\), reaches 1 as the iteration number increases. To analyze the convergence behavior, we track the \(\min _{\forall j \in {\mathcal {A}}}{I_\text {APP}(j)}\). We can evaluate \(I_\text {APP}(j)\) as:
We analyze the mutual information passed to the right and the left, which are denoted by \(I^L_\lambda (\phi ,\omega )\) and \(I^B_\lambda (\phi ,\omega )\), respectively. Mutual information, paired with LLR messages denoted by the same \((\lambda ,\phi ,\omega )\) on the protograph in Fig. 1b, can be calculated based on EXIT functions [21]. Calculations of mutual information are as follows:
The process of tracking the minimum \({I_\text {APP}(j)}\) is described in Algorithm 2. The process of Algorithm 2 is very similar to Algorithm 1. First, initialize each parameter in lines 1 to 3. Update input mutual information of the decoders for outer codes, \(I^L_{\lambda +1}\), in lines 5 and 6 of Algorithm 2. The decoding of outer codes is performed in lines 7 and 8 in parallel. The output mutual information of the outer code is updated in lines 9 and 10. Then, calculate \(I_{APP}(j)\) using (1). If the value of \(I_{APP}(j)\) is 1 for all js, then it is considered the time when the decoding ends and the number l is set as the convergence iteration number \(l_s\). We can obtain \(l_s\) which is the number of iteration when the proposed scheme with s converges.
Methods
Simulations were performed over an AWGN channel with binary phase shift keying(BPSK) modulation. The polar codes with codeword length \(N=512, 1024,\) and 32, 768 and code rate \(R=1/2\) which are constructed using Gaussian approximation [22] optimized for \(E_b/N_0=2.0\) dB for \(N=512\) and 1024 and \(E_b/N_0=1.0\) dB for \(N=32,768\) were used to evaluate the performance.
Results and discussion
Error correction performance
In Figs. 3 and 4, we have plotted the frame error rate (FER) curves of the proposed scheme for six different values of s. The proposed scheme is also compared to two extreme cases of the SCAN and BP algorithms with \(10^6\) frames. The number of iterations \(l_{max}\) for each simulation is chosen to be \(4l_s\).
The proposed scheme with \(s=1\) and \(s=3\) performs similar to the SCAN (i.e., \(s=0\)) and BP (i.e., \(s=9\)) decoding, respectively. The proposed scheme with \(s=5\) and \(s=7\) performs almost the same as the BP decoding. Generally speaking, the performance of the proposed algorithm spans approximately from that of the SCAN decoding to that of the BP decoding.
Latency
We assume that decoders for lengthN polar codes have N processing units with each capable of implementing (10)–(13) in one stage, where the stage denotes the required number of serial message updates.
The SCAN decoder requires \((2N3)\) stages to terminate the message updates at each iteration.
The stages for the inner code of the proposed scheme are twice the number of the layers in the inner code. The stages for the outer codes are the same as the SCAN decoding of an N/Slength polar code. Thus, the total number of stages of the proposed scheme, \(T_s\), is given by
The convergence behavior is obtained over the same environment except that codeword length is now 32,768. The convergence trajectories for \(I_\text {APP}\) are plotted in Fig. 5. Furthermore, in Fig. 6, mutual information is tracked by PEXIT, and FER is tracked by Monte Carlo simulation. Two curves are not exactly matched but the order of latency (based on stage as we defined) with different value of s is the same for both PEXIT and simulation results. In this curve, minimum \(I_{APP}=1\) and FER=\(10^{1}\) at \(E_b/N_0=2\)dB when \(N=1024\) were used for the standards for successful decoding, respectively. From the convergence behavior, we confirm that the proposed scheme with the higher level of parallelism has the lower latency.
Complexity
Each iteration of the proposed scheme and the SCAN algorithm has the same computational complexity because each message is updated only once. Therefore, the computational complexity of the proposed decoding is only dominated by the number of iterations.
Figure 7 shows the values of latency and computational complexity of the proposed scheme with \(N=32,768\) that are respectively normalized by their corresponding values of the SCAN algorithm (i.e., \(s=0\)). Each point shows a normalized value when the decoding converges as the level of parallelism s increases. The proposed decoding flexibly decreases latency compared to the SCAN algorithm at the cost of the computational complexity.
Conclusion
In this work, we propose the framework of softoutput polar decoding adaptable to system requirements. In the proposed framework, decoding of a polar code is divided into parallel SCAN decoding of outer codes and roundtrip BP decoding of one inner code. By intelligently controlling the level of parallelism, various system requirements can be adaptively satisfied by the proposed algorithm. Thus, the proposed algorithm can work effectively for any scenarios of system requirements including two extreme cases and any moderate (inbetween) cases. Numerical results show that the proposed scheme can change latency and computational complexity as a tradeoff. This flexibility renders the proposed scheme adaptable to various needs of the systems.
Availability of data and materials
All data generated or analyzed during this study are included in this paper.
Abbreviations
 AWGN:

Additive white Gaussian noise
 BP:

Belief propagation
 CN:

Check node
 CRC:

Cyclic redundancy check
 EXIT:

Extrinsic information transit
 PEXIT:

Protographbased extrinsic information transit
 SC:

Successive cancellation
 SCAN:

Soft cancellation
 SCL:

Successive cancellation list
 VN:

Variable node
References
 1.
E. Arikan, Channel polarization: a method for constructing capacityachieving codes for symmetric binaryinput memoryless channels. IEEE Trans. Inf. Theory 55(7), 3051–3073 (2009)
 2.
E. Arikan, Polar codes: a pipelined implementation, in International Symposium on Broadband Communications (ISBC) (2010)
 3.
I. Tal, A. Vardy, List decoding of polar codes. IEEE Trans. Inf. Theory 61(5), 2213–2226 (2015)
 4.
K. Niu, K. Chen, CRCaided decoding of polar codes. IEEE Commun. Lett. 16(10), 1668–1671 (2012)
 5.
B. Li, H. Shen, D. Tse, An adaptive successive cancellation list decoder for polar codes with cyclic redundancy check. IEEE Commun. Lett. 16(12), 2044–2047 (2012)
 6.
T. Wang, D. Qu, T. Jiang, Paritycheckconcatenated polar codes. IEEE Commun. Lett. 20(12), 2342–2345 (2016)
 7.
A. AlamdarYazdi, F.R. Kschischang, A simplified successivecancellation decoder for polar codes. IEEE Commun. Lett. 15(12), 1378–1380 (2011)
 8.
H. Yoo, I.C. Park, Efficient pruning for successivecancellation decoding of polar codes. IEEE Commun. Lett. 20(12), 2362–2365 (2016)
 9.
G. Sarkis, P. Giard, A. Vardy, C. Thibeault, W.J. Gross, Fast list decoders for polar codes. IEEE J. Sel. Areas Commun. 34(2), 318–328 (2016)
 10.
Y.S. Park, Y. Tao, S. Sun, Z. Zhang, A 4.68 gb/s belief propagation polar decoder with bitsplitting register file, in: 2014 Symposium On VLSI Circuits Digest of Technical Papers. (IEEE, 2014), pp. 1–2
 11.
E. Arikan, A performance comparison of polar codes and reedmuller codes. IEEE Commun. Lett. 12(6), 447–449 (2008)
 12.
A. Eslami, H. PishroNik, On finitelength performance of polar codes: stopping sets, error floor, and concatenated design. IEEE Trans. Commun. 61(3), 919–929 (2013)
 13.
N. Hussami, S. B. Korada, R. Urbanke, Performance of polar codes for channel and source coding, in IEEE International Symposium On Information Theory, 2009. ISIT 2009. (IEEE, 2009), pp. 1488–1492
 14.
Y. Zhang, A. Liu, X. Pan, Z. Ye, C. Gong, A modified belief propagation polar decoder. IEEE Commun. Lett. 18(7), 1091–1094 (2014)
 15.
A. Elkelesh, M. Ebada, S. Cammerer, S. ten Brink, Improving Belief Propagation decoding of polar codes using scattered EXIT charts, in 2016 IEEE Information Theory Workshop (ITW) (2016)
 16.
U.U. Fayyaz, J.R. Barry, Lowcomplexity softoutput decoding of polar codes. IEEE J. Sel. Areas Commun. 32(5), 958–966 (2014)
 17.
J. Xu, T. Che, G. Choi, XJBP: Express journey belief propagation decoding for polar codes, in Global Communications Conference (GLOBECOM), 2015 IEEE. (IEEE, 2015), pp. 1–6
 18.
S. Ten Brink, Convergence behavior of iteratively decoded parallel concatenated codes. IEEE Trans. Commun. 49(10), 1727–1737 (2001)
 19.
S. Ten Brink, G. Kramer, A. Ashikhmin, Design of lowdensity paritycheck codes for modulation and detection. IEEE Trans. Commun. 52(4), 670–678 (2004)
 20.
J.H. Shin, K. Noh, W. Sung, J. Heo, Simple and accurate design of lowdensity paritycheck codes for multiinput multioutput systems. Wirel. Pers. Commun. 62(4), 923–936 (2012)
 21.
G. Liva, M. Chiani, Protograph ldpc codes design based on exit analysis, in Global Telecommunications Conference, 2007. GLOBECOM’07. IEEE. (IEEE, 2007), pp. 3250–3254
 22.
P. Trifonov, Efficient design and decoding of polar codes. IEEE Trans. Commun. 60(11), 3221–3227 (2012)
Funding
This research was supported by the MSIT(Ministry of Science and ICT), Korea, under the ITRC(Information Technology Research Center) support program(IITP20202015000385) supervised by the IITP(Institute for Information & communications Technology Promotion). This work was supported by the ICT R&D program of MSIT/IITP. [2021001810, Development of elemental technologies for Ultrasecure Quantum Internet.
Author information
Affiliations
Contributions
SL designed the main of the algorithm, analyzed the data, and wrote this paper. JP made important revisions to the manuscript. IMK codesigned methods and gave important advice. JH gave valuable suggestions on the idea of this paper. All authors read and approved the final manuscript.
Corresponding author
Ethics declarations
Competing interests
The authors declare that they have no competing interests.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Lee, S., Park, J., Kim, IM. et al. Flexible softoutput decoding of polar codes. J Wireless Com Network 2021, 170 (2021). https://doi.org/10.1186/s1363802102042x
Received:
Accepted:
Published:
DOI: https://doi.org/10.1186/s1363802102042x
Keywords
 Polar codes
 Softoutput decoding
 Parallelization