Course is outlined here.
-
simulation.pyis the executable file that actually test codes for various SNR -
report/contains LaTeX file and dependencies (plots, ...) needed for project presentation -
Makefilemakes 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.pyexecution -
test-matrices.pychecks 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
virtualenvcommand 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.gzin our context
Private version (with licensed specs/ matrices) is here; I have done this because of parity check matrices licensing by IEEE.