Ldpc Encode - Decode scheme doesnt produce expected results

12 visualizaciones (últimos 30 días)
Alex Baz
Alex Baz el 17 de Sept. de 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 comentario
Ed MrTz
Ed MrTz el 10 de Ag. de 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!!

Iniciar sesión para comentar.

Respuestas (2)

CT
CT el 5 de Nov. de 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 el 27 de Dic. de 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)

Categorías

Más información sobre Error Detection and Correction en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by