Skip to content

Releases: XQP-Munich/LDPC4QKD

Rate Adaptive LDPC Codes for Distributed Source Coding

02 May 16:26
79908eb
Compare
Choose a tag to compare

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 test_encoder_advanced.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)

Rate Adaptive LDPC Codes for Distributed Source Coding

17 May 09:27
6aafb99
Compare
Choose a tag to compare

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.

Citable Repository of Rate Adaptive LDPC Codes for Distributed Source Coding

21 Oct 12:07
f57ab83
Compare
Choose a tag to compare

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

v1.0.0

19 Oct 16:37
3a0dfb5
Compare
Choose a tag to compare

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.

Full set of usable rate adapted LDPC codes

22 Sep 12:49
eb4fc12
Compare
Choose a tag to compare

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.