Advertisement

Fast and Flexible Software Polar List Decoders

  • Mathieu LéonardonEmail author
  • Adrien Cassagne
  • Camille Leroux
  • Christophe Jégo
  • Louis-Philippe Hamelin
  • Yvon Savaria
Article
  • 25 Downloads

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.

Keywords

Polar codes Adaptive successive cancellation list decoder Software implementation 5G standard Generic decoder Flexible decoder 

Notes

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.

References

  1. 1.
    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.MathSciNetCrossRefGoogle Scholar
  2. 2.
    Tal, I., & Vardy, A. (2011). List decoding of polar codes. In Proceedings of the IEEE International Symposium on Information Theory (ISIT) (pp. 1–5).Google Scholar
  3. 3.
    “3GPP TSG RAN WG1 meeting #87, Chairman’s notes of agenda item 7.1.5 Channel coding and modulation,” 2016.Google Scholar
  4. 4.
    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.CrossRefGoogle Scholar
  5. 5.
    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.CrossRefGoogle Scholar
  6. 6.
    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.
  7. 7.
    Huawei. (2013). 5G: A technology vision, Tech. Rep. [Online]. Available: https://www.huawei.com/ilink/en/download/HW_314849.
  8. 8.
    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).Google Scholar
  9. 9.
    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).Google Scholar
  10. 10.
    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.CrossRefGoogle Scholar
  11. 11.
    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).Google Scholar
  12. 12.
    Schreier, J. (1932). On tournament elimination systems. Mathesis Polska, 7, 154–160.Google Scholar
  13. 13.
    Tal, I., & Vardy, A. (2013). How to construct polar codes. IEEE Transactions on Information Theory (TIT), 59(10), 6562–6582.MathSciNetCrossRefGoogle Scholar
  14. 14.
    Trifonov, P. (2012). Efficient design and decoding of polar codes. IEEE Transactions on Communications, 60 (11), 3221–3227.CrossRefGoogle Scholar
  15. 15.
    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.MathSciNetCrossRefGoogle Scholar
  16. 16.
    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.CrossRefGoogle Scholar
  17. 17.
    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.MathSciNetCrossRefGoogle Scholar
  18. 18.
    Alamdar-Yazdi, A., & Kschischang, F. (2011). A simplified successive-cancellation decoder for polar codes. IEEE Communications Letters, 15(12), 1378–1380.CrossRefGoogle Scholar
  19. 19.
    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.CrossRefGoogle Scholar
  20. 20.
    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.CrossRefGoogle Scholar
  21. 21.
    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.CrossRefGoogle Scholar
  22. 22.
    Dahlman, E., Parkvall, S., Skold, J. (2013). 4G: LTE/LTE-advanced for mobile broadband. New York: Academic Press.Google Scholar
  23. 23.
    Wang, R., & Liu, R. (2014). A novel puncturing scheme for polar codes. IEEE Communications Letters, 18 (12), 2081–2084.CrossRefGoogle Scholar
  24. 24.
    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).Google Scholar
  25. 25.
    Miloslavskaya, V. (2015). Shortened polar codes. IEEE Transactions on Information Theory (TIT), 61(9), 4852–4865.MathSciNetCrossRefGoogle Scholar
  26. 26.
  27. 27.
    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.CrossRefGoogle Scholar
  28. 28.
    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).Google Scholar
  29. 29.
    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.Google Scholar
  30. 30.
    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).Google Scholar
  31. 31.
    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).Google Scholar
  32. 32.
    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.Google Scholar
  33. 33.
    Chase, D. (1972). Class of algorithms for decoding block codes with channel measurement information. IEEE Transactions on Information Theory (TIT), 18(1), 170–182.MathSciNetCrossRefGoogle Scholar
  34. 34.
    Knuth, D. (1973). The art of computer programming. Reading: Addison-Wesley. no. 3.zbMATHGoogle Scholar
  35. 35.
    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).Google Scholar
  36. 36.
    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).Google Scholar
  37. 37.
    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.MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2019

Authors and Affiliations

  1. 1.IMS Laboratory, UMR CNRS 5218, Bordeaux INPUniversity of BordeauxTalenceFrance
  2. 2.Polytechnique MontréalMontréalCanada
  3. 3.Inria, Bordeaux Institute of Technology, LaBRI/CNRSBordeauxFrance
  4. 4.Huawei Technologies Canada Co. LTDOttawaCanada

Personalised recommendations