Recent Releases of ldpc4qkd

ldpc4qkd - Rate Adaptive LDPC Codes for Distributed Source Coding

Header-only library for distributed source coding.

Includes

  • 6 LDPC codes including rate adaption, stored in a custom memory-efficient JSON-based format. The format has two versions, one for storing general LDPC matrices (same use-case as alist format), the other is used explicitly to store quasi-cyclic exponents for very space-efficient storage of large quasi-cyclic LDPC matrices.
  • Julia utilities to handle these file formats and generate C++ code that allows embedding LDPC codes into an executable as constant static data (both as binary matrix in CSC-storage, as well as QC-exponents directly).
  • Separate C++ implementation of syndrome encoding (binary sparse-matrix-dense-vector multiplication)
  • Ability to group and the CSC-stored QC-exponents into constexpr objects (requires C+++20)
  • Example implementation of a general Belief Propagation decoder suited for Slepian-Wolf setting. This is a single C++ header, that should be easy to use.
  • Frame error rate and critical rate simulations. These benchmarks are not yet automated and no plots are yet generated from the simulation results.

Changes from last release:

LDPC Codec that can now be directly initialized from compressed-sparse-column storage of QC-exponents

Breaking changes:

  • removes RateAdaptiveCode template parameter Bit. This is now a template parameter of underlying functions, which is more flexible (and hopefully not too much more complicated/prone to errors...)
  • (ABI-breaking) reworks underlying data representation for RateAdaptiveCode.

Non-breaking changes: - New header encoder_advanced.hpp. Enables constexpr storage of QC-exponents for a code in a grouped manner. For how to use, see unit test in testencoderadvanced.cpp. Requires C++20! - Enable construction of RateAdaptiveCode from a vector<vector<idx_t>> mother_pos_varn - Together, these also enable creating RateAdaptiveCode from QC-exponents stored statically in C++.

(see #19)

- C++
Published by adomasbaliuka almost 2 years ago

ldpc4qkd - Rate Adaptive LDPC Codes for Distributed Source Coding

Includes - 6 LDPC codes including rate adaption, stored in a custom memory-efficient JSON-based format. The format has two versions, one for storing general LDPC matrices (same use-case as alist format), the other is used explicitly to store quasi-cyclic exponents for very space-efficient storage of large quasi-cyclic LDPC matrices. - Julia utilities to handle these file formats and generate C++ code that allows embedding LDPC codes into an executable as constant static data. - Separate C++ implementation of syndrome encoding (binary sparse-matrix-dense-vector multiplication) - Example implementation of a general Belief Propagation decoder suited for Slepian-Wolf setting. This is a single C++ header, that should be easy to use. - Frame error rate and critical rate simulations . These benchmarks are not yet automated and no plots are yet generated from the simulation results.

Changes since last version

Changes default file format to JSON-based formats. Deprecates old formats.

- C++
Published by XQP-Munich almost 3 years ago

ldpc4qkd - Citable Repository of Rate Adaptive LDPC Codes for Distributed Source Coding

Includes

  • 6 LDPC codes including rate adaption, stored in a custom memory-efficient text-based format.
  • Julia utilities to deal with these file formats and generate C++ code that allows embedding LDPC codes into executables as constant static data.
  • Separate C++ implementation of syndrome encoding (binary sparse-matrix-dense-vector multiplication)
  • Example implementation of a Belief Propagation decoder suited for Slepian-Wolf setting. This is a single C++ header file, that should be easy to use.
  • Frame error rate and critical rate simulations . These benchmarks are not yet automated and no plots are yet generated from the simulation results.

Changes since last version

Adds author names in CITATION.cff file Adds Zenodo badge to README Adds descriptions to command line interfaces of simulator programs

- C++
Published by XQP-Munich over 4 years ago

ldpc4qkd -

Frame error rate and critical rate simulations now have command line interfaces. Benchmarks are not yet automated.

Contains 6 LDPC codes including rate adaption.

Improved encoder runtime performance.

- C++
Published by XQP-Munich over 4 years ago

ldpc4qkd - Full set of usable rate adapted LDPC codes

Includes 6 LDPC codes with rate adaption. Includes basic documentation how to use them.

Needs more documentation about how to use rate adaption. Missing automatic generation of benchmarks and plots showing performance.

- C++
Published by XQP-Munich over 4 years ago