Algebraic Codes‎ > ‎

### Basic Algebraic ECC Concepts

 Suppose you receive a string of bits that may contain some errors such as the following: 01101101010100000100110101010101010000010101111111011101010101 How would you correct the errors? You would first need to determine which bits are in error (the Locations, Li, of the errors) . Once you know the locations of the bits in error (the Lis), you can correct those bits either by inverting them or by XORing them with 1. XORing them with 1 is the same as adding 1 modulo 2. If you XOR the bits in error with 1, we can call “1” the “error value” or error magnitude. Let’s call it the error value. Now suppose you receive a string of letters that may contain some errors such as aljfjiehbeoahteroebqpiwbbueoolxuetrdbposq7syfttxvsfdhsgtqbnfhg How would you correct the errors? Again, you would first need to determine which letters are in error (the Locations, Li, of the letters in error). Then you would need to determine what letters (the error values, Vi) you need to XOR with the letters in error to correct them. Binary BCH codes operate on strings of bits so binary BCH decoders only need to determine the error locations, Li. RS codes operate on strings of letters so RS decoders need to determine both the error locations, Li, and the error values, Vi.