项目作者: aff3ct

项目描述 :
A fast simulator and a library dedicated to the channel coding.
高级语言: C++
项目地址: git://github.com/aff3ct/aff3ct.git
创建时间: 2016-06-07T13:37:47Z
项目社区:https://github.com/aff3ct/aff3ct

开源协议:MIT License

下载


AFF3CT: A Fast Forward Error Correction Toolbox!

GitLab Pipeline Status
SonarQube Code Coverage
Documentation Build Status
Latest Release
DOI
License: MIT

AFF3CT is a simulator and a library dedicated to the Forward Error
Correction (FEC or channel coding). It is written in C++ and it supports
a large range of codes: from the well-spread Turbo codes to the new
Polar codes including the Low-Density Parity-Check (LDPC) codes.
AFF3CT can be used as a command line program and it simulates communication
chains based on a Monte Carlo method.

Communication Chain

It is very easy to use, for instance, to estimate the BER/FER decoding
performances of the (2048,1723) Polar code from 1.0 to 4.0 dB:

  1. aff3ct -C "POLAR" -K 1723 -N 2048 -m 1.0 -M 4.0 -s 1.0

And the output will be:

  1. # ----------------------------------------------------
  2. # ---- A FAST FORWARD ERROR CORRECTION TOOLBOX >> ----
  3. # ----------------------------------------------------
  4. # Parameters :
  5. # [...]
  6. #
  7. # The simulation is running...
  8. # ---------------------||------------------------------------------------------||---------------------
  9. # Signal Noise Ratio || Bit Error Rate (BER) and Frame Error Rate (FER) || Global throughput
  10. # (SNR) || || and elapsed time
  11. # ---------------------||------------------------------------------------------||---------------------
  12. # ----------|----------||----------|----------|----------|----------|----------||----------|----------
  13. # Es/N0 | Eb/N0 || FRA | BE | FE | BER | FER || SIM_THR | ET/RT
  14. # (dB) | (dB) || | | | | || (Mb/s) | (hhmmss)
  15. # ----------|----------||----------|----------|----------|----------|----------||----------|----------
  16. 0.25 | 1.00 || 104 | 16425 | 104 | 9.17e-02 | 1.00e+00 || 4.995 | 00h00'00
  17. 1.25 | 2.00 || 104 | 12285 | 104 | 6.86e-02 | 1.00e+00 || 13.678 | 00h00'00
  18. 2.25 | 3.00 || 147 | 5600 | 102 | 2.21e-02 | 6.94e-01 || 14.301 | 00h00'00
  19. 3.25 | 4.00 || 5055 | 2769 | 100 | 3.18e-04 | 1.98e-02 || 30.382 | 00h00'00
  20. # End of the simulation.

Features

The simulator targets high speed simulations and extensively uses parallel
techniques like SIMD, multi-threading and multi-nodes programming models.
Below, a list of the features that motivated the creation of the simulator:

  1. reproduce state-of-the-art decoding performances,
  2. explore various channel code configurations, find new trade-offs,
  3. prototype hardware implementation (fixed-point receivers, hardware in
    the loop tools),
  4. reuse tried and tested modules and add yours,
  5. alternative to MATLAB, if you seek to reduce simulations time.

BER/FER Performances

AFF3CT was first intended to be a simulator but as it developed, the need to
reuse sub-parts of the code intensified: the library was born. Below is a list
of possible applications for the library:

  1. build custom communication chains that are not possible with the
    simulator,
  2. facilitate hardware prototyping,
  3. enable various modules to be used in SDR contexts.

If you seek for using AFF3CT as a library, please refer to the
dedicated documentation page.

Installation

First make sure to have installed a C++11 compiler, CMake and Git. Then
install AFF3CT by running:

  1. git clone --recursive https://github.com/aff3ct/aff3ct.git
  2. mkdir aff3ct/build
  3. cd aff3ct/build
  4. cmake .. -DCMAKE_BUILD_TYPE="Release"
  5. make -j4

Contribute

Support

If you are having issues, please let us know on our
issue tracker.

License

The project is licensed under the MIT license.

How to cite AFF3CT

We recommend you to cite the SoftwareX journal article: A. Cassagne et al.,
AFF3CT: A Fast Forward Error Correction Toolbox!,“
Elsevier SoftwareX, 2019 [Bibtex Entry].