algorithmerror-handlingerror-correctionreed-solomongalois-field

Does Reed-Solomon Error algorithm allow correction only if error occur on input data part?


Reed-Solomon algorithm is adding an additional data to the input, so potential errors (of particular size/quantity) on such damaged input can be corrected back to the original state. Correct? Does this algorithm protects also such added data not being part of the input, but used by the algorithm? If not, what happened if the error occurs in such non-input data part?


Solution

  • As long as only half or less of the added data is in error, then errors that are only in the added data can be corrected.


    With the appended data, the data + appended data form what is called a codeword, one that meets the rules for a codeword. Note there are two basic types of Reed Solomon code, the "original view" and the "BCH view". What constitutes a valid codeword depends which type of Reed Solomon code is being used. Link to Wiki article that explains this:

    https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction


    For an erasure only code, the location of all errors is determined by other means, and this case, even if all of the appended data is known to be bad, it can be corrected (or regenerated).