LDPC decoding returning nonsense on any input
Show older comments
I am trying to encode and decode some examples using LDPC codes as preparation for my Bachelor's thesis.
I have the following example in mind:
https://hastebin.com/evexavaqug.sql
Here is my MATLAB Code to encode and then decode:
ldpcEncoder = comm.LDPCEncoder(sparse(H)); % Set up using own parity check matrix
ldpcDecoder = comm.LDPCDecoder(sparse(H)); % Set up using own parity check matrix
encData = ldpcEncoder(msg) % Encode
errData = encData;
errData(5) = 1; % Introduce error
decEncData = ldpcDecoder(encData) % Just to test
decErrData = ldpcDecoder(errData) % Actual error decode
The script successfully encodes msg (I can verify on paper and with my own Java program).
My problem is, that the decoder doesn't work. Even ldpcDecoder(encData) returns nonsense (in this case: [0 0 0 0 1 0]').
I also noticed that the decoder uses its full 50 iterations (the default max value) and then returns this nonsense.
The actual error decode returns a null vector, which is also incorrect, as it should return msg like the "test error decoding", where I am feeding in the correct message.
Am I doing something wrong here or is the function broken? My Java Program can successfully decode the same data and so can I on paper.
Accepted Answer
More Answers (0)
Categories
Find more on AI for Wireless in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
