Ldpc Encode - Decode scheme doesnt produce expected results

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

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!!

댓글을 달려면 로그인하십시오.

답변 (2개)

CT
CT 2012년 11월 5일

0 개 추천

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 2012년 12월 27일
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)

카테고리

도움말 센터File Exchange에서 Error Detection and Correction에 대해 자세히 알아보기

질문:

2011년 9월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by