Ldpc Encode - Decode scheme doesnt produce expected results

14 Ansichten (letzte 30 Tage)
Alex Baz
Alex Baz am 17 Sep. 2011
Hi,I'm using the communication toolbox to try and see how the ldpc encode/decode module works. I'm doing it as it should work in my opinion, but I guess I have an error somewhere and it'd be great if someone could point to that :)
I'm using the following code. the multiplication of H*codeword' does indeed equal all zeros (mod 2).
After the decoding process(as the codeword is entered flawlessly, no decoding error should happen) I would expect to see the decoded message equal to msg. However, that is not the case, and I cant even connect the decoded output and the original msg, they're completely different. Could anyone tell me where am I wrong?
Thanks a lot in advance, Alex
H = dvbs2ldpc(0.5)
l = fec.ldpcenc(H);
msg = randint(1,l.NumInfoBits,2);
codeword = encode(l,msg);
H * codeword'
c = fec.ldpcdec(H);
decoded = decode(c,codeword);
decoded - msg; % should be all zeros?
  1 Kommentar
Ed MrTz
Ed MrTz am 10 Aug. 2012
Hi, Alex!
I have the same doubt...cause I get the same results..... i don't recover the original msg when I decode.
Your post were from time ago.....did you find any theory?
THNX!!

Melden Sie sich an, um zu kommentieren.

Antworten (2)

CT
CT am 5 Nov. 2012
Decode expects LLR values as inputs. Try the code below instead.
decoded = decode(c,-sign(codeword-0.5));
sum(abs(decoded-msg))

Khushboo Singh
Khushboo Singh am 27 Dez. 2012
please go through this. i think its working correctly.
I = randint(1,43200);
H = dvbs2ldpc(2/3);
l = fec.ldpcenc(H);
codeword = encode(l,I);
d = fec.ldpcdec(H);
decoded = decode(d,codeword);
ans = not(xor(decoded,I)); % should be all zeros?
sparse(ans)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by