Skip to content
Creation of LDPC codes & simulation of coding and decoding binary data. Applications to sound and image files.
Python Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci add circle and fix doc May 31, 2019
doc release 0.7.7 Jun 5, 2019
examples add first doc example Jun 1, 2019
pyldpc fix issue #1 Jun 7, 2019
.coveragerc add CIs May 31, 2019
.gitignore clean up May 31, 2019
.readthedocs.yml fix setup and add makefile May 31, 2019
.travis.yml add CIs May 31, 2019
MANIFEST.in add img data Jun 1, 2019
Makefile fix setup and add makefile May 31, 2019
README.rst add link to doc Jun 5, 2019
codecov.yml fix setup and add makefile May 31, 2019
config.yml fix setup and add makefile May 31, 2019
environment.yml fix env and setup Jun 5, 2019
requirements.txt fix setup and add makefile May 31, 2019
setup.py release 0.7.7 Jun 5, 2019

README.rst

Travis AppVeyor Codecov CircleCI ReadTheDocs

Simulation of LDPC Codes & Applications

version 0.7.7

Description:

  • Simulation of regular LDPC codes.
  • Probabilistic decoding: Belief Propagation algorithm for gaussian white noise transmission.
  • Simulation application to image and audio data.

Image coding-decoding example:

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

Sound coding-decoding example:

Sound Transmission

Installation

If you already have a working Python environment (Anaconda for e.g):

pip install --upgrade pyldpc

Otherwise, we recommend creating this minimal conda env

conda env create --file environment.yml
conda activate pyldpc-env
pip install -U pyldpc

Example

>>> import numpy as np
>>> from pyldpc import make_ldpc, encode, decode, get_message
>>> n = 15
>>> d_v = 4
>>> d_c = 5
>>> snr = 10
>>> H, G = make_ldpc(n, d_v, d_c, systematic=True, sparse=True)
>>> k = G.shape[1]
>>> v = np.random.randint(2, size=k)
>>> y = encode(G, v, snr)
>>> d = decode(H, y, snr, maxiter=100, log=True)
>>> x = get_message(G, d)
>>> assert abs(x - v).sum() == 0

Documentation

For more examples, see the pyldpc webpage.

Contact:

Please contact hicham.janati@inria.fr for any bug encountered / any further information.

You can’t perform that action at this time.