ReedSolomon block codes are popular in communications and datastorage applications. Like fire codes, ReedSolomoncode implementations append symbols to the end of a transmission to locate and correct errors during decoding. ReedSolomoncode systems' effectiveness at high data rates results from operations taking place at the codesymbol rate or at a fixed number of times per code word. Either way, the number of operations is much smaller than the number of bits. Chips that implement these types of highspeed realtime correctors are commercially available, as are DSPsoftware options.
Each RS symbol is actually a group of M bits. Just one bit error anywhere in a given symbol spoils the whole symbol. That's why RS codes are often called "bursterrorcorrecting" codes; if you're going to have bit errors, you'd like to concentrate them into as few RS symbols as possible. Many RS codes in use are "shortened", i.e., the block size, or number of symbols used: N, is smaller than the symbol size, or maximum number of symbols: 2^{M}1 would indicate.
Since RS can be done on any message length and can add any number of extra check symbols, a particular RS code will be expressed as RS (N,NR) code where N is the total number of symbols per codeword; R is the number of check symbols per codeword and; therefore, NR is the number of actual information symbols per codeword. The typical RS decoder can correct up to (NR)/2 symbol errors per block Note that "errors" and "erasures" are not the same things.
For example, digital video broadcast (DVB) specification uses a RS (204,188) code, utilizing sixteen check symbols per 188, 8bit, information symbols for a total codeword length of 204 symbols and can correct eight symbols. This means that a burst error of 57 to 64 consecutive bits can be corrected.
RS encoding then consists of the generation of these check symbols from the original data. The process is based upon finite field (also known as Galois field or GF) arithmetic. Finite fields are so named because all arithmetic is closed over the field (the result of any operation is still an element of the field). In other words, GF addition bears no resibalence to normal addition; adding two large GF values will probably get you a smaller value. Its sort of like always taking the modulo of the result (or throwing away the carry) so that the values never exceed the space available to store them. The field elements are all values from 0 to 2^{M}1. Therefore, for a bit width of 3, the field will contain the values (0,1,2,3,4,5,6,7), though not necessarily in that order.
The field polynomial, which is used to determine the order of the elements in the finite field, is generally determined by specification (the example DVB specification mentioned uses eight bit symbols {m=8} and a field polynomial of 285 per specification). Valid field polynomials are a function of the bit width to be operated on. For example, the valid field polynomials for m=3 are 11 and 13.
The generator polynomial starting root is generally determined by specification (DVB uses a generator polynomial starting at root zero), although any value in the finite field can be used.
Generally, a ReedSolomon corrector provides a number of symbol corrections, say T, in an Nsymbol code word. T is independent of the location of the errors inside the code word. When you use this method with complex interleaving, this approach can easily correct large error bursts. Further algorithm refinements allow even more correction capability if you know the error location by some other means. These "softerror" indicators can come, for example, from upstream decoding violations. It is unable to both locate and correct errors in a block that has more than T symbol errors.
See also
Books
See also:
file: /Techref/method/error/rs.htm, 7KB, , updated: 2009/1/23 11:42, local time: 2022/1/27 10:23,

©2022 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://piclist.com/techref/method/error/rs.htm"> ReedSolomon Data Link Error Detection / Correction Method </A> 
Did you find what you needed? 
PICList 2022 contributors:
o List host: MIT, Site host massmind.org, Top posters @20220127 * Page Editors: James Newton, David Cary, and YOU! * Roman Black of Black Robotics donates from sales of Linistep stepper controller kits. * Ashley Roll of Digital Nemesis donates from sales of RCL1 RS232 to TTL converters. * Monthly Subscribers: Gregg Rew. ongoing support is MOST appreciated! * Contributors: Richard Seriani, Sr. 
Welcome to piclist.com! 
.