AFF3CT: A Fast Forward Error Correction Toolbox!

Abstract AFF3CT is an open source toolbox dedicated to Forward Error Correction (FEC or channel coding). It supports a broad range of codes: from widespread turbo codes and Low-Density Parity-Check (LDPC) codes to more recent polar codes. The toolbox is written in C++ and can be used either as a simulator to quickly evaluate algorithms characteristics, or as a library in Software Defined Radio (SDR) systems or for other specific needs. Most of the decoding algorithm implementations aim at low latency and high throughput, targeting multiple Gb/s on modern CPUs. This is crucial in both simulation and SDR use cases: Monte Carlo simulations require high performance implementation as they commonly target the estimation of approximately 1 0 12 bits. On the other hand, the implementations in real systems have to be very efficient to be competitive against dedicated hardware ones. Finally, AFF3CT emphasizes the reproducibility of state-of-the-art results by providing public references and open, modular source code.

[1]  Yvon Savaria,et al.  Improving performance of SCMA MPA decoders using estimation of conditional probabilities , 2017, 2017 15th IEEE International New Circuits and Systems Conference (NEWCAS).

[2]  V. P. Klimentyev,et al.  SCMA Codebooks Optimization Based on Genetic Algorithm , 2017 .

[3]  Bertrand Le Gal,et al.  Fast Simulation and Prototyping with AFF3CT , 2017 .

[4]  Yvon Savaria,et al.  Fast and Flexible Software Polar List Decoders , 2017, J. Signal Process. Syst..

[5]  Bertrand Le Gal,et al.  Lowering the error floor of double-binary turbo codes: The flip and check algorithm , 2016, 2016 9th International Symposium on Turbo Codes and Iterative Information Processing (ISTC).

[6]  C. E. SHANNON,et al.  A mathematical theory of communication , 1948, MOCO.

[7]  Christophe Jégo,et al.  MIPP: a Portable C++ SIMD Wrapper and its use for Error Correction Coding in 5G Standard , 2018, WPMVP@PPoPP.

[8]  Bertrand Le Gal,et al.  Beyond Gbps Turbo decoder on multi-core CPUs , 2016, 2016 9th International Symposium on Turbo Codes and Iterative Information Processing (ISTC).

[9]  Yvon Savaria,et al.  Custom Low Power Processor for Polar Decoding , 2018, 2018 IEEE International Symposium on Circuits and Systems (ISCAS).

[10]  Yan Chen,et al.  Iterative multiuser receiver in sparse code multiple access systems , 2015, 2015 IEEE International Conference on Communications (ICC).

[11]  Warren J. Gross,et al.  Asymmetric Construction of Low-Latency and Length-Flexible Polar Codes , 2019, ICC 2019 - 2019 IEEE International Conference on Communications (ICC).

[12]  T. Aulin,et al.  Continuous Phase Modulation - Part I: Full Response Signaling , 1981, IEEE Transactions on Communications.

[13]  Bertrand Le Gal,et al.  An Efficient, Portable and Generic Library for Successive Cancellation Decoding of Polar Codes , 2015, LCPC.

[14]  Bertrand Le Gal,et al.  Multi-Gb/s Software Decoding of Polar Codes , 2015, IEEE Transactions on Signal Processing.

[15]  Claude E. Shannon,et al.  The mathematical theory of communication , 1950 .

[16]  Alexander B. Sergienko,et al.  Detection of SCMA signal with channel estimation error , 2016, 2016 18th Conference of Open Innovations Association and Seminar on Information Security and Protection of Information Technology (FRUCT-ISPIT).

[17]  Bertrand Le Gal,et al.  Lowering the Error Floor of Turbo Codes With CRC Verification , 2016, IEEE Wireless Communications Letters.

[18]  Bertrand Le Gal,et al.  High data rate and flexible hardware QC-LDPC decoder for satellite optical communications , 2018, 2018 IEEE 10th International Symposium on Turbo Codes & Iterative Information Processing (ISTC).

[19]  Peter Trifonov,et al.  Efficient Design and Decoding of Polar Codes , 2012, IEEE Transactions on Communications.

[20]  T. Aulin,et al.  Continuous Phase Modulation - Part II: Partial Response Signaling , 1981, IEEE Transactions on Communications.

[21]  Gerald Matz,et al.  A 588-Gb/s LDPC Decoder Based on Finite-Alphabet Message Passing , 2018, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[22]  Shaodan Ma,et al.  A capacity-based codebook design method for sparse code multiple access systems , 2016, 2016 8th International Conference on Wireless Communications & Signal Processing (WCSP).

[23]  Florian Florian PHYSIM - A Physical Layer Simulation Software , 2018, 2018 IEEE 8th International Conference on Consumer Electronics - Berlin (ICCE-Berlin).

[24]  Xianbin Wang,et al.  Signature Design of Sparsely Spread Code Division Multiple Access Based on Superposed Constellation Distance Analysis , 2017, IEEE Access.

[25]  Hosein Nikopour,et al.  Sparse code multiple access , 2013, 2013 IEEE 24th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC).

[26]  Yan Chen,et al.  Capacity analysis for non-orthogonal overloading transmissions under constellation constraints , 2015, 2015 International Conference on Wireless Communications & Signal Processing (WCSP).

[27]  Warren J. Gross,et al.  Fast Decoding of Multi-Kernel Polar Codes , 2019, 2019 IEEE Wireless Communications and Networking Conference (WCNC).

[28]  Bertrand Le Gal,et al.  Energy consumption analysis of software polar decoders on low power processors , 2016, 2016 24th European Signal Processing Conference (EUSIPCO).

[29]  Yvon Savaria,et al.  Toward High-Performance Implementation of 5G SCMA Algorithms , 2019, IEEE Access.

[30]  Thibaud Tonnellier,et al.  Contribution to the improvement of the decoding performance of turbo codes : algorithms and architecture , 2017 .

[31]  Yvon Savaria,et al.  Transport Triggered Polar Decoders , 2018, 2018 IEEE 10th International Symposium on Turbo Codes & Iterative Information Processing (ISTC).