Course is outlined here.
-
simulation.py
is the executable file that actually test codes for various SNR -
report/
contains LaTeX file and dependencies (plots, ...) needed for project presentation -
Makefile
makes straightforward to generate relevant plots inreport/figures/
from simulation result file withmake all
-
specs/
is the place where compressed encoding matrix for the code should be put, in order to perform simulations. A suitable Python module is embedded to ease matrix decompression for various code lengths. -
LDPC/
is a Python module that contains relevant procedures to encode and decode, given specification. Most expensive operations are written in the much faster Cython, a Python-like language that compiles to C. -
results/
contains all relevant CSV output ofsimulation.py
execution -
test-matrices.py
checks if matrices are symmetric in some sense, with a standard output report
-
put relevant compressed encoding matrices in
specs/
, as specifiedspecs/README.md
-
install needed Python packages, for example creating a virtual environment (see Unix example, where
virtualenv
command is required)
virtualenv venv/
source venv/bin/activate
pip install -r requirements.txt
- run wanted simulation, after checking its parameters (in the code)
python3 simulation.py
- check result file is created, namely
SNRvsPe.csv.gz
in our context
Private version (with licensed specs/
matrices) is here; I have done this because of parity check matrices licensing by IEEE.