The mpdecoder project provides an MATLAB class mpdecoder that allows doing message passing (MP) decoding of binary LDPC codes. The MATLAB class mpdecoder actually calls the C++ class MPDecoder through the MATLAB MEX interface, which ensures its high decoding speed.
A standalone MATLAB LDPC decoder mpdec is also provided to give a clear view of how the algorithm works. No C/C++ is involved.
Please start from the documentation file 'readme.txt'.
A MSVC++ project demonstrating the use of the C/C++ MPDecoder class is available here: https://github.com/alanzhou/MPDec
Alan ZHOU (2020). Message Passing Algorithm for Decoding Binary LDPC Codes (https://www.mathworks.com/matlabcentral/fileexchange/47383-message-passing-algorithm-for-decoding-binary-ldpc-codes), MATLAB Central File Exchange. Retrieved .
You have a problem when there is an LLR message --> check node = 0 in the 'mpdec' method. The problem is dividing by zero.
You can fix it by iterating over all the incoming messages to a check node except one, and iterating over that one too, instead of taking the product of all of them, and iterating once to divide by the iterated message value.
Is it implemented fully in matlab or a wrapper of c++ is included for integration purpose.
please try to give the flowchart if possible.
Add a note that A MSVC++ project demonstrating the use of the C/C++ MPDecoder class is available on GitHub: https://github.com/alanzhou/MPDec.