The spin-off projects are ordered by descending popularity on GitHub.
My Intrinsics++ or MIPP is a portable wrapper for vector intrinsic functions (SIMD) written in C++11. It works for SSE, AVX, AVX-512, ARM NEON and SVE (work in progress) instructions. MIPP wrapper supports simple/double precision floating-point numbers and also signed integer arithmetic (64-bit, 32-bit, 16-bit and 8-bit).
With the MIPP wrapper you do not need to write a specific intrinsic code anymore. Just use provided functions and the wrapper will automatically generates the right intrisic calls for your specific architecture.
MIPP is an important building block in AFF3CT, it enables portable and fast implementations.
Source code on GitHub »This project is a DVB-S2 SDR transceiver built with the AFF3CT library and StreamPU. It implements a full transmit/receive chain for the DVB‑S2 standard in software-defined radio (SDR).
It supports modulation and coding schemes (e.g., QPSK-S_8/9), frame generation, LDPC/BCH decoding, and optional real-radio transmission using USRP hardware.
The code provides a configurable framework to benchmark bit-error and frame-error rates, simulate AWGN channels or perform over-the-air tests. With multithreading and SIMD optimizations, the system is designed for high throughput and real-time performance. It serves researchers and practitioners in wireless communications for both simulation and experimental setups.
Source code on GitHub »StreamPU is a Domain Specific Embedded Language (DSEL) for streaming applications. It comes in the form of a C++11 library to link with. Its main features are:
The DSEL is suitable for SDR systems, audio/video processing and more generally it matches single-rate Synchronous DataFlow (SDF) streaming applications. It is used as the multi-threaded runtime of AFF3CT and DVB-S2.
Source code on GitHub » Documentation »pyAFF3CT is a Python-wrapping of the AFF3CT C++ library, enabling seamless integration of high-performance signal-processing modules into Python workflows.
It allows users to leverage AFF3CT's optimized communication-chain blocks (e.g., encoders, modulators, decoders) from Python scripts, simplifying rapid prototyping and experimentation.
The repository includes example scripts and build instructions to compile AFF3CT as a shared library and then import it in Python.
Source code on GitHub »The project is a generator for high-performance, unrolled decoder implementations of Polar codes — supporting both the Successive Cancellation (SC), CRC-Aided Successive Cancellation List (CA-SCL) algorithms and, more recently (for the ISTC'25 contest), the Adaptive CRC-Aided Successive Cancellation List (FA-SCL and PA-SCL) variants (see the modif_istc25 branch).
Given a codeword size (N), number of information bits (K), and target noise level (Eb/N0), it constructs a flat and fully unrolled C++ source file that replaces recursive calls with straight-line code to minimize latency.
The tool also implements tree-structure simplifications (e.g., Rate-0, Rate-1, Repetition, Single Parity Check nodes) and can produce Graphviz .dot files for visualization of the specialized polar decoding tree.
The polar decoder generator is designed for researchers and engineers who want maximum decoding speed and are willing to trade off generality for specialization and performance.
Source code on GitHub »PyBER is a Python-based graphical user interface tool designed to visualise the bit-error rate (BER) and frame-error rate (FER) results generated by the AFF3CT simulation toolbox.
The tool is built in Python 3 and leverages dependencies such as NumPy and PyQt5/4 for GUI functionality. Its purpose is primarily to provide a flexible and interactive way to inspect and compare simulation metrics (BER/FER) rather than perform raw simulation itself.
Note that we also support the BER/FER online comparator which serve almost the same purpose but without requiring any installation as it is a Javascript application available on the AFF3CT website.
Source code on GitHub » Use the online comparatorpyStreamPU provides a Python interface to the StreamPU runtime, enabling users to define and execute multi-threaded streaming systems in Python. It wraps the StreamPU C++ core while presenting a Pythonic API for rapid prototyping.
Installation supports building with custom C++ flags for performance tuning. Typical use includes creating arrays, applying operations in streaming pipelines (e.g., standard vector operators like x + y) within Python while leveraging the underlying C++ multi-threaded runtime.
Source code on GitHub »AMP-scheduling implements a set of scheduling strategies for partially-replicable task chains running on Asymmetric MultiProcessing (AMP) architectures (or simply heterogeneous architectures). It includes algorithms named OTAC, FERTAC, 2CATAC and HeRAD designed to allocate and replicate tasks under varying resource constraints.
The repository provides both simulation scripts and performance profiling tools to evaluate scheduler behaviour. A notable example use-case is generating and analysing schedules for the DVB‑S2 SDR receiver on four different heterogeneous computing platforms.
Source code on GitHub »PQC is a module under the AFF3CT ecosystem focused on "Post-Quantum Cryptography" building blocks. It aims to provide implementations of cryptographic primitives that resist quantum-computing threats.
As part of the broader AFF3CT framework, it complements error-correction and communication chain modules by addressing the emerging requirement for quantum-safe security. It sets the foundation for integrating post-quantum algorithms alongside FEC and SDR workflows.
Source code on GitHub »In 2025, the well known International Symposium on Topics in Coding (ISTC'25) published a call for efficient short blocklength codes (e.g. K <= 512 message bits) in term of latency and decoding performance. The AFF3CT team participated to the contest.
This project is the resulting Polar encoders and decoders, based on the fast Adaptive SCL (A-SCL, unrolled and pruned). To generate the codes, AFF3CT has been used to explore decoding performance and the Polar decoder generator has been enhanced to produce A-SCL decoders based on the SIMD Polar API.
The proposed encoders and decoders have been ranked at the first place by the competition committee: the AFF3CT team won the 2025 contest!
Source code on GitHub » ISTC'25 call » Short paper » Poster »The turbo code reader is a visualization tool that lets you explore internal decoding variables of turbo codes (such as BCJR alpha, beta, gamma) by uploading a JSON export from an AFF3CT simulation (via the --enc-json-path option). Users can navigate through frames and decoding iterations, inspect how likelihoods evolve, toggle visual options (e.g., variable radius, opacity, line thickness) and switch between natural and interleaved domains.
The goal is to provide deeper insight into the internal convergence behaviour of turbo-code decoders, enabling debugging, teaching, or research-oriented inspection of how extrinsic information flows through the decoding iterations. It complements AFF3CT's simulation capabilities by offering an interactive graphical viewer rather than purely numerical output.
Use the reader online