Abstract
Flexibility is one mandatory aspect of channel coding in modern wireless communication systems. Among other things, the channel decoder has to support several code lengths and code rates. This need for flexibility applies to polar codes that are considered for control channels in the future 5G standard. This paper presents a new generic and flexible implementation of a software Successive Cancellation List (SCL) decoder. A large set of parameters can be fine-tuned dynamically without re-compiling the software source code: the code length, the code rate, the frozen bits set, the puncturing patterns, the cyclic redundancy check, the list size, the type of decoding algorithm, the tree-pruning strategy and the data quantization. This generic and flexible SCL decoder enables to explore tradeoffs between throughput, latency and decoding performance. Several optimizations are proposed to achieve a competitive decoding speed despite the constraints induced by the genericity and the flexibility. The resulting polar list decoder is about 4 times faster than previous generic software decoders and only 2 times slower than previous non-flexible unrolled decoders. Thanks to the flexibility of the decoder, the fully adaptive SCL algorithm can be easily implemented and achieves higher throughput than any other similar decoder in the literature, up to 425 Mb/s on a single processor core for N = 2048 and K = 1723 at 4.5 dB.
Similar content being viewed by others
Notes
\(F^{\otimes 1} = \left [\begin {array}{cc} 1 & 0 \\ 1 & 1 \end {array}\right ] \) and \(\forall n > 1, F^{\otimes n} = \left [\begin {array}{cc} F^{\otimes n - 1} & 0_{n-1} \\ F^{\otimes n - 1} & F^{\otimes n - 1} \end {array}\right ]\), where n = log2(N), N is the codeword length, and 0n is a 2n-by-2n matrix of zeros.
AFF3CT is an Open-source software (MIT license) for fast forward error correction simulations, see http://aff3ct.github.io.
References
Arikan, E. (2009). Channel polarization: a method for constructing capacity-achieving codes for symmetric binary-input memoryless channels. IEEE Transactions on Information Theory (TIT), 55(7), 3051–3073.
Tal, I., & Vardy, A. (2011). List decoding of polar codes. In Proceedings of the IEEE International Symposium on Information Theory (ISIT) (pp. 1–5).
“3GPP TSG RAN WG1 meeting #87, Chairman’s notes of agenda item 7.1.5 Channel coding and modulation,” 2016.
Wübben, D., Rost, P., Bartelt, J.S., Lalam, M., Savin, V., Gorgoglione, M., Dekorsy, A., Fettweis, G. (2014). Benefits and impact of cloud computing on 5G signal processing: flexible centralization through cloud-ran. IEEE Signal Processing Magazine, 31(6), 35–44.
Rost, P., Bernardos, C.J., De Domenico, A., Di Girolamo, M., Lalam, M., Maeder, A., Sabella, D., Wübben, D. (2014). Cloud technologies for flexible 5G radio access networks. IEEE Communications Magazine, 52(5), 68–76.
Ericsson. (2015). Cloud ran - the benefits of cirtualization, centralisation and coordination, Tech. Rep. [Online]. Available: https://www.ericsson.com/assets/local/publications/white-papers/wp-cloud-ran.pdf.
Huawei. (2013). 5G: A technology vision, Tech. Rep. [Online]. Available: https://www.huawei.com/ilink/en/download/HW_314849.
Rodriguez, V.Q., & Guillemin, F. (2017). Towards the deployment of a fully centralized cloud-ran architecture. In Proceedings of the IEEE International Wireless Communications and Mobile Computing Conference (IWCMC) (pp. 1055–1060).
Nikaein, N. (2015). Processing radio access network functions in the cloud: critical issues and modeling. In Proceedings of the ACM International Workshop on Mobile Cloud Computing and Services (MCS) (pp. 36–43).
Sarkis, G., Giard, P., Vardy, A., Thibeault, C., Gross, W.J. (2016). Fast list decoders for polar codes. IEEE Journal on Selected Areas in Communications (JSAC), 34(2), 318–328.
Sarkis, G., Giard, P., Vardy, A., Thibeault, C., Gross, W.J. (2014). Increasing the speed of polar list decoders. In Proceedings of the IEEE International Workshop on Signal Processing Systems (SiPS) (pp. 1–6).
Schreier, J. (1932). On tournament elimination systems. Mathesis Polska, 7, 154–160.
Tal, I., & Vardy, A. (2013). How to construct polar codes. IEEE Transactions on Information Theory (TIT), 59(10), 6562–6582.
Trifonov, P. (2012). Efficient design and decoding of polar codes. IEEE Transactions on Communications, 60 (11), 3221–3227.
Le Gal, B., Leroux, C., Jego, C. (2015). Multi-Gb/s software decoding of polar codes. IEEE Transactions on Signal Processing (TSP), 63(2), 349–359.
Sarkis, G., Giard, P., Vardy, A., Thibeault, C., Gross, W.J. (2014). Fast polar decoders: algorithm and implementation. IEEE Journal on Selected Areas in Communications (JSAC), 32(5), 946– 957.
Balatsoukas-Stimming, A., Parizi, M.B., Burg, A. (2015). LLR-Based successive cancellation list decoding of polar codes. IEEE Transactions on Signal Processing (TSP), 63(19), 5165–5179.
Alamdar-Yazdi, A., & Kschischang, F. (2011). A simplified successive-cancellation decoder for polar codes. IEEE Communications Letters, 15(12), 1378–1380.
Li, B., Shen, H., Tse, D. (2012). An adaptive successive cancellation list decoder for polar codes with cyclic redundancy check. IEEE Communications Letters, 16(12), 2044–2047.
Matsumoto, M., & Nishimura, T. (1998). Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Transactions on Modeling and Computer Simulation (TOMACS), 8(1), 3–30.
Box, G.E.P., Muller, M.E., et al. (1958). A note on the generation of random normal deviates. The Annals of Mathematical Statistics, 29(2), 610–611.
Dahlman, E., Parkvall, S., Skold, J. (2013). 4G: LTE/LTE-advanced for mobile broadband. New York: Academic Press.
Wang, R., & Liu, R. (2014). A novel puncturing scheme for polar codes. IEEE Communications Letters, 18 (12), 2081–2084.
Niu, K., Chen, K., Lin, J.R. (2013). Beyond turbo codes: rate-compatible punctured polar codes. In Proceedings of the IEEE International Conference on Communications (ICC) (pp. 3423–3427).
Miloslavskaya, V. (2015). Shortened polar codes. IEEE Transactions on Information Theory (TIT), 61(9), 4852–4865.
“Cyclic redundancy check,” https://en.wikipedia.org/wiki/Cyclic_redundancy_check https://en.wikipedia.org/wiki/Cyclic_redundancy_check, accessed: 2017-03-13.
Zhang, Q., Liu, A., Pan, X., Pan, K. (2017). CRC Code design for list decoding of polar codes. IEEE Communications Letters, 21(6), 1229–1232.
Lin, J., Xiong, C., Yan, Z. (2014). A reduced latency list decoding algorithm for polar codes. In Proceedings of the IEEE International Workshop on Signal Processing Systems (SiPS) (pp. 1–6).
Giard, P., Sarkis, G., Leroux, C., Thibeault, C., Gross, W.J. (2016). Low-latency software polar decoders. Springer Journal of Signal Processing Systems (JSPS), 90, 31–53.
Cassagne, A., Le Gal, B., Leroux, C., Aumage, O., Barthou, D. (2015). An efficient, portable and generic library for successive cancellation decoding of polar codes. In Proceedings of the Springer International Workshop on Languages and Compilers for Parallel Computing (LCPC) (pp. 303–317).
Cassagne, A., Aumage, O., Leroux, C., Barthou, D., Le Gal, B. (2016). Energy consumption analysis of software polar decoders on low power processors. In Proceedings of the IEEE European Signal Processing Conference (EUSIPCO) (pp. 642–646).
Cassagne, A., Aumage, O., Barthou, D., Leroux, C., Jégo, C. (2018). MIPP: A portable c++ simd wrapper and its use for error correction coding in 5G standard. In Proceedings of the 2018 4th Workshop on Programming Models for SIMD/vector Processing: ACM.
Chase, D. (1972). Class of algorithms for decoding block codes with channel measurement information. IEEE Transactions on Information Theory (TIT), 18(1), 170–182.
Knuth, D. (1973). The art of computer programming. Reading: Addison-Wesley. no. 3.
Furtak, T., Amaral, J.N., Niewiadomski, R. (2007). Using SIMD registers and instructions to enable instruction-level parallelism in sorting algorithms. In Proceedings of the ACM Symposium on Parallel Algorithms and Architectures (pp. 348–357).
Shen, Y., Zhang, C., Yang, J., Zhang, S., You, X. (2016). Low-latency software successive cancellation list polar decoder using stage-located copy. In Proceedings of the IEEE International Conference on Digital Signal Processing (DSP).
Leroux, C., Raymond, A.J., Sarkis, G., Gross, W.J. (2013). A semi-parallel successive-cancellation decoder for polar codes. IEEE Transactions on Signal Processing (TSP), 61(2), 289–299.
Acknowledgements
The authors would like to thank the Natural Sciences and Engineering Research Council of Canada, Prompt, and Huawei Technologies Canada Co. Ltd. for financial support to this project. This work was also supported by a grant overseen by the French National Research Agency (ANR), ANR-15-CE25-0006-01.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Léonardon, M., Cassagne, A., Leroux, C. et al. Fast and Flexible Software Polar List Decoders. J Sign Process Syst 91, 937–952 (2019). https://doi.org/10.1007/s11265-018-1430-3
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-018-1430-3