Skip to content

gvrooyen/pyldpc

 
 

Repository files navigation

Simulation of LDPC Codes & Applications

version 0.7.0

In Brief:

  • Generates coding and decoding matrices.
  • Probabilistic decoding: Belief Propagation algorithm.
  • Images transmission simulation (channel model: AGWN).
  • Sound transmission simulation (channel model :AGWN).

Image coding-decoding example:

https://media.giphy.com/media/l4KicsAauqIWjeFR6/giphy.gif

https://media.giphy.com/media/l0COHC49bK6g7yIPm/giphy.gif

Sound coding-decoding example:

Sound Transmission

Installation

From pip:

$ pip install --upgrade pyldpc

Requiries: numpy, scipy, automatically installed with pip.

Tutorials:

Jupyter notebooks:

Many changes in tutorials in v.0.7.0

  • Users' Guide:

1- LDPC Coding-Decoding Simulation

2- Images Coding-DecodingTutorial

3- Sound Coding-DecodingTutorial

4- LDPC Matrices Construction Tutorial

  • For LDPC construction details:

1- pyLDPC Construction(French)

2- LDPC Images Functions Construction

3- LDPC Sound Functions Construction

version 0.7.0

Contains:
  1. Coding and decoding matrices Generators:
    • Regular parity-check matrix using Callager's method.
    • Coding Matrix G both non-systematic and systematic.
  2. Coding function adding Additive White Gaussian Noise.
  3. Decoding functions using Probabilistic Decoding (Belief propagation algorithm):
    • Default BP algorithm.
    • Full-log BP algorithm.
  4. Images transmission sub-module:
    • Coding and Decoding Grayscale and RGB Images.
    • Pixel by pixel coding & decoding (small matrices)
    • Row by row coding & decoding (large sparse matrices)
    • BER: Bit Error Rate function.
  5. Sound transmission sub-module:
    • Coding and Decoding audio files.
    • BER_audio: Bit Error Rate function.
What's new:
  • Compatibility of scipy.sparse.csr objects (CSR format) and numpy arrays.
  • Row by row image decoding (More efficient than pixel coding) using large matrices.
  • 4 times faster coding.
  • 5 to 10 times faster decoding.

In the upcoming versions:

  • Use of large matrices (csr) in sound transmission sub-module.
  • Library of ready-to-use large matrices (csr).
  • Text Transmission functions.

Contact:

Please contact [email protected] for any bug encountered / any further information.

About

Simulation of LDPC codes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 88.6%
  • Python 11.4%