quiet/libcorrect

Reed solomon decoder fails

MageSlayer opened this issue · 4 comments

See attached diff with test where Reed-Solomon fails to recover 11 bit error even though it has 32 bits of parity (16 error bits should be guaranteed).

a.zip

Hi @MageSlayer

Thanks for the report. I'll have a closer look tonight.

Just to be clear, libcorrect's symbol size is 8 bits. With RS, an error in any symbol, even if it's only one bit, consumes one of your error budget. So I will need to look at this more closely, but it looks like in your example the error budget is 2, which could tolerate more than 2 bits of error only if these bits are located within the same 2 bytes. Is this true for your test case?

Nope, I think the error is distributed across 8 bytes.

@MageSlayer Unfortunately libcorrect can presently only do 8-bit symbols :( It looks like your use case would be well-served by 1-bit symbols. In this case I'd recommend trying libfec which I believe can do arbitraily sized symbols

Ok. Thanks.
I'll check libfec :)