- LDPC_Matlab contains all matlab implementations of decoders and other utils required
- LDPC_Cpp contains cpp implementation of layered and flooding decoders for WLAN LDPC
-
We need a dataset of LLRs and correspoding codewords from which these LLRs are generated. This
LC_dataset.matcan be found in LDPC_Matlab/Datasets/ . It can be generated by:- run
setupfrom ./LDPC_Matlab - cd Extra
- run
LC_generateafter changing required params in the same file
- run
-
We also need the clusters and the variable nodes belongignto the cluster, and this is generated into another mat file:
LDPC_init.mat. To generate this, we need to change parameters in./cluster_create.pyfile and run it (requirements: scipy, numpy, networkx, matlab.engine)../cluster_create.pyrequires./utils.pyfor internal utility.
These 2 files are already part of ./LDPC_Matlab/Datasets/ so there is no need to generate these unless you require some parameter changes (cluster size, LLR dataset size, etc).
You can then run RELDEC from LDPC_Matlab directory. This will generate the Q table after training.
You can navigate to ./LDPC_Matlab and check for files
- ldpc_layered.m
- ldpc_reldecode.m (calls RELDEC inside to generate Q table)
- ldpc_flooding.m
These files contain all the required parameters to run an FER simulation for a given range of SNRs. Generally these files are run using a batch job over the cluster. This provides the option of using parallel computation (each FER simulation over a given SNR is independent of the other). The parfor utility provided by Matlab is used in this case.