one of possible solutions is to decode the codeword, check the syndrome, and after that encode it again with comm.BCHEncoder and generate the missing redundancy symbols. This solution improves execution time of my implementation from 43s to 0.89s.
How to get redundancy symbols (or complete codeword) after RS/BCH decoding using comm.BCHDecoder and comm.RSDecoder
2 次查看(过去 30 天)
显示 更早的评论
Is there any possibility to get redundancy symbols after RS/BCH codeword decoding? The comm.X decoder is removing the redundancy symbols after decoding, but I need that symbols to do more calculations in case if the decoder fails. Such possibility is enabled in the rsdec() and bchdec() functions, but the comm.X implementation works much faster. I am simulating millions of bits and for me the rsdec() and bchdec() functions are too slow. Here it is explained how it works:
[msg,err, CODEWORD] = rsdec(...)
msg - decoded message without redundancy symbols
err - decoding result
CODEWORD - decoded message WITH REDUNDANCY (== complete codeword, this I need in my implementation)
the comm.X implementation works like this:
[msg,err] = step(RSDecoderObject, codeword)
msg - the decoded message without redundancy
err - decoding result
The third argument is not returned from the step method comparing to the rsdec/bchdec. I was trying to modify the step method in my Matlab, but the decoding seems to be implemented as mex file and I can not change it. Is there any possibility to return the complete codeword with redundancy bits with the comm.X implementation? Any workaround? Generally the same problem I have with LDPC. From the LDPC output I need to get a complete codeword with decoded soft information (soft-input-soft-output with redundancy symbols).
回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!