Ldpc Encode - Decode scheme doesnt produce expected results

8 次查看(过去 30 天)
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 个评论
Ed MrTz
Ed MrTz 2012-8-10
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
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)

类别

Help CenterFile Exchange 中查找有关 Error Detection and Correction 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by