问题
I've been learning error correction mechanisms for very noisy AWGN channels. I've read about Hybrid ARQ systems that use FEC coding in conjunction with ARQ systems which sounds like a good starting point for these type of channels.
I was thinking of a setup that follows the next example:
First transmission of Packet #1 - RS(38,8) Received a NAK Second transmission of Packet #1 - additional FEC bytes such that at the receiver it gets RS(46,16) Received ACK
My question is, is it possible to pre-process the packet with 16 FEC bytes and only decode the message with 8 of the FEC bytes at the receiver?
This way it would be great as the second transmission only sends the next 8 parity bytes, reducing the overhead significantly.
回答1:
Encode the 30 byte message with the with 16 standard RS ECC bytes, but only transmit 38 bytes, the message with the first 8 ECC bytes. The receiver gets the 38 byte encoded message, appends 8 zeroes to the received message, and generates 16 syndromes. The 8 appended zeros are treated as erasures (known locations), which can be corrected in addition to any 4 errors (bytes with unknown locations) within the 38 bytes actually received. If this fails, then the missing 8 bytes are received, which will then allow any 8 of the 46 bytes to be corrected.
I'm assuming you have or can create RS ECC code that can deal with a combination of erasures (known locations) and errors (unknown locations). The process involves creating modified systems based on the known locations of the erasures, to determine the unknown locations. Then the known and unknown locations are merged and the rest of the correction proccess follows the normal steps.
来源:https://stackoverflow.com/questions/47337992/using-reed-solomon-for-incremental-redundancy