.
โโโ README.md
โโโ bch.py
โโโ finitefield.py
โโโ table_probability.py
โโโ awgn.py
โโโ report
โโโ tasks
โโโ reports
This repository contains software implementation of the Bose-Chaudhuri-Hocquenghem (BCH) code systematic encoder with Berlekamp-Massey decoding algorithm over the GF(2แต).
Program can be run on both Python3 and Python2 without any third-party libraries, only standard ones.
finitefield.py
โ implementation of basic operations and basic polynomial operations in GF(2แต).bch.py
โ encoding and decoding. Verbose output can be enabled using global variableVERBOSE
from this file.table_probability.py
โ test that demonstrates the error probability table witht = (d-1)/2
andt + 1
errors in received codewords for different BCH-codes. Carried out at 10,000 iterations.awgn.py
โ simulation of data transmission over an additive white Gaussian noise channel (AWGN). Inmain
there is a sample how to execute it with multiprocessing: one process on each Eb/N0 value performs 10,000 simulations. FlagPRE_DEFINED
means to use precomputed result. FlagPLOT
is option for showing the result as plot.
It's highly recommended to run huge tests and AWGN simulations with pypy
, but not with common cpython
, for the sake of speed increasing.