This module utilizes a parallel simulator submodule. To run the experiment, specify the experiment section in the experiment JSON file.
Required parameters are:
src_dirsource dir containing code descriptioncodeJSON filename specifying codemodulationin text format. In accordance with simulation submodue implementations, supported values areBPSK,QPSK,PAM-4, andQAM-16.algorithmis the decoding algorithm. Supported values aresum_product,min_sum, andlayered_min_sum,llr_scaleis applicable to the min-sum decoding algorithms.n_iterationsis the number of decoding iterations
The JSON file specifying code contains the following parameters:
pcmis a parity check matrix (alist format)generatoris a text file containing the generator matrix (in space-separated format, seenumpy.savetxt). If the generator matrix is not specified, then simulations will use zero-codewordspunc_idxa list of punctured indices in the string format, like0:15. If this parameter is absent, no puncturing is assumed.inf_bitsspecifies indices of information bits. If this parameter is missing, then the output bit error rate will be evaluated using a whole codeword.
See main.py for more details.
See ldpc_5g.py script.
This software was tested on Ubuntu Linux and MacOS