4562 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 67, NO. 7, JULY 2019 Fast Successive-Cancellation-Based Decoders of Polar Codes Maryam Haghighi Ardakani , Muhammad Hanif , Masoud Ardakani , Senior Member, IEEE, and Chintha Tellambura , Fellow, IEEE Abstract— The successive-cancellation list (SCL) and successive-cancellation flip (SCF) decoding can be used to improve the performance of polar codes, especially for short to moderate length codes. However, their serial decoding nature results in significant decoding latencies. Implementing some operations in parallel can reduce their decoding latencies. This paper presents fast implementations of the SCL and SCF decoders. In particular, we propose fast parallel list decoders for five newly identified types of nodes in the decoding tree of a polar code, which significantly improves the decoding latency. We also present novel fast SCF decoders that decode some special nodes in the decoding tree of a polar code without serially computing bit log-likelihood ratios. Using our proposed fast parallel SCF decoders, we observed an improvement up to 81% with respect to the original SCF decoder. This significant reduction in the decoding latency is observed without sacrificing the bit-error-rate performance of the code. Index Terms— Polar codes, successive-cancellation decoder, list decoder, flip decoder, fast decoding, decoding latency. I. I NTRODUCTION P OLAR codes, discovered by Arıkan, will be used in the next generation mobile communication standards [1]. This new class of error correcting codes has an explicit construction and can achieve the symmetric capacity of mem- oryless channels under successive-cancellation (SC) decoding as the code length goes to infinity [2]. However, the error correction performance of polar codes for short to moder- ate block lengths with the SC decoder is inferior to that of the other state-of-the-art error correcting codes, such as low-density parity-check (LDPC) and turbo codes. This is due to the significant performance gap between the SC and the maximum-likelihood (ML) decoders [3]. Unfortunately, ML decoding is beset with high computational complexity, even for moderate-length polar codes. Thus, the successive- Manuscript received July 13, 2018; revised November 8, 2018 and January 19, 2019; accepted February 25, 2019. Date of publication March 19, 2019; date of current version July 13, 2019. This work was supported by the TELUS Corporation and Natural Sciences and Engineering Research Council of Canada. This paper was presented in part at the IEEE Wireless Communications and Networking Conference (WCNC) Workshop, Barcelona, Spain, April 2018. The associate editor coordinating the review of this paper and approving it for publication was P. Trifonov. (Corresponding author: Maryam Haghighi Ardakani.) The authors are with the Department of Electrical and Computer Engineering, University of Alberta, Edmonton, AB T6G 2R3, Canada (e-mail: maryam3@ualberta.ca; mhanif@ualberta.ca; ardakani@ualberta.ca; ct4@ualberta.ca). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TCOMM.2019.2906232 cancellation list (SCL) decoder and successive-cancellation flip (SCF) decoder aim to achieve low complexity. Among the existing low-complexity polar decoders, the SCL decoder achieves near ML performance even with moderate list sizes [3]. Aiding it with a cyclic-redundancy check (CRC) further improves the bit-error-rate (BER) performance beyond that of LDPC and turbo codes [3]. The SCL decoder, similar to the original SC decoder, operates serially as it estimates one bit at a time. However, unlike the latter which keeps only a single decoding path, the SCL decoder maintains a list of L most probable paths while decoding each bit [3]. The serial decoding nature of the SC and SCL decoders produce high decoding latencies. To shorten them, multiple schemes have been developed [4]–[13]. The main underlying idea behind these schemes is to parallelize some operations to increase the decoder throughput. In particular, these schemes recognize certain patterns in the codeword and implement their fast parallel decoders. For example, [4] identifies and proposes low-complexity parallel decoders for rate-0 and rate-1 nodes for the SC decoder. Similarly, [5] proposes fast decoders for single-parity-check (SPC) and repetition (REP) nodes in the decoding tree of a polar code. Recently, [6] presented fast low- complexity decoders of five nodes (type-I, type-II, type-III, type-IV, and type-V nodes) to further increase the decoding speed of the SC decoder. Fast SCL decoders follow a similar strategy to reduce decoding latency. However, unlike fast SC decoders that output only the most-probable output sequence, fast SCL decoders maintain and output a list of the most probable paths. In par- ticular, to improve the decoding speed of the SCL decoder, [10]–[12] propose list decoders for rate-0, rate-1, REP and SPC nodes. Although the SCL decoder achieves near-ML performance, compared to the SC decoder, it has higher computational and memory complexities that grow linearly with the list size. More specifically, for a code of size N the memory and computational complexities of the SC decoder are O (N ) and O (N log N ), respectively, whereas, for a list of size L, they increase to O (LN ) and O (LN log N ), respectively, in the SCL decoder. Further, fast implementations based on hard- ware unrolling result in a quadratic increase in the hardware area [14]. These shortcomings make the fast implementation of SCL decoder challenging. As such, a different approach was introduced in [15] to improve the performance of SC decoder: SC flip (SCF) decoding. 0090-6778 © 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information. Authorized licensed use limited to: UNIVERSITY OF ALBERTA. Downloaded on August 06,2020 at 00:54:07 UTC from IEEE Xplore. Restrictions apply.