Fast and Flexible Software Polar List Decoders
- 25 Downloads
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.
KeywordsPolar codes Adaptive successive cancellation list decoder Software implementation 5G standard Generic decoder Flexible decoder
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.
- 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.“3GPP TSG RAN WG1 meeting #87, Chairman’s notes of agenda item 7.1.5 Channel coding and modulation,” 2016.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).Google Scholar
- 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
- 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.Schreier, J. (1932). On tournament elimination systems. Mathesis Polska, 7, 154–160.Google Scholar
- 22.Dahlman, E., Parkvall, S., Skold, J. (2013). 4G: LTE/LTE-advanced for mobile broadband. New York: Academic Press.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).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.
- 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.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).Google Scholar
- 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.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
- 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.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