rodsveiga / pyldpc

Creation of LDPC codes & simulation of coding and decoding binary data. Applications to sound and image files.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:

image

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.

About

Creation of LDPC codes & simulation of coding and decoding binary data. Applications to sound and image files.


Languages

Language:Python 97.9%Language:Makefile 2.1%