Skip to main content

Advertisement

Log in

Fast and Flexible Software Polar List Decoders

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9

Similar content being viewed by others

Notes

  1. \(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.

  2. AFF3CT is an Open-source software (MIT license) for fast forward error correction simulations, see http://aff3ct.github.io.

References

  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.

    Article  MathSciNet  MATH  Google Scholar 

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

  3. “3GPP TSG RAN WG1 meeting #87, Chairman’s notes of agenda item 7.1.5 Channel coding and modulation,” 2016.

  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.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  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. Huawei. (2013). 5G: A technology vision, Tech. Rep. [Online]. Available: https://www.huawei.com/ilink/en/download/HW_314849.

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

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

  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.

    Article  Google Scholar 

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

  12. Schreier, J. (1932). On tournament elimination systems. Mathesis Polska, 7, 154–160.

    Google Scholar 

  13. Tal, I., & Vardy, A. (2013). How to construct polar codes. IEEE Transactions on Information Theory (TIT), 59(10), 6562–6582.

    Article  MathSciNet  MATH  Google Scholar 

  14. Trifonov, P. (2012). Efficient design and decoding of polar codes. IEEE Transactions on Communications, 60 (11), 3221–3227.

    Article  Google Scholar 

  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.

    Article  MathSciNet  MATH  Google Scholar 

  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.

    Article  Google Scholar 

  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.

    Article  MathSciNet  MATH  Google Scholar 

  18. Alamdar-Yazdi, A., & Kschischang, F. (2011). A simplified successive-cancellation decoder for polar codes. IEEE Communications Letters, 15(12), 1378–1380.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  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.

    Article  MATH  Google Scholar 

  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.

    Article  MATH  Google Scholar 

  22. Dahlman, E., Parkvall, S., Skold, J. (2013). 4G: LTE/LTE-advanced for mobile broadband. New York: Academic Press.

    Google Scholar 

  23. Wang, R., & Liu, R. (2014). A novel puncturing scheme for polar codes. IEEE Communications Letters, 18 (12), 2081–2084.

    Article  Google Scholar 

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

  25. Miloslavskaya, V. (2015). Shortened polar codes. IEEE Transactions on Information Theory (TIT), 61(9), 4852–4865.

    Article  MathSciNet  MATH  Google Scholar 

  26. “Cyclic redundancy check,” https://en.wikipedia.org/wiki/Cyclic_redundancy_check https://en.wikipedia.org/wiki/Cyclic_redundancy_check, accessed: 2017-03-13.

  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.

    Article  Google Scholar 

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

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

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

  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.

  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.

    Article  MathSciNet  MATH  Google Scholar 

  34. Knuth, D. (1973). The art of computer programming. Reading: Addison-Wesley. no. 3.

    MATH  Google Scholar 

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

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

  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.

    Article  MathSciNet  MATH  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Mathieu Léonardon.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-018-1430-3

Keywords

Navigation