A PAPER ON REED SOLOMON ERROR CORRECTION CODE ABSTRACT: burst-type errors—in mass storage devices (hard disk drives, DVD, barcode tags), This paper explains about a code system wireless and mobile communications called Reed-Solomon code which is units, satellite links, digital TV, digital devised to address the issue of correcting video broadcasting (DVB), and modem multiple errors and theory behind Reed- technologies like xDSL ("x" referring to Solomon error correction. This coding is all the existing DSL solutions, whether used to correct errors in many systems ADSL, VDSL, SDSL, or HDSL) including Storage devices, wireless or mobile communications, Satellite communications, High-speed modems .It also explains how a variety of practical R-S encoders and decoders solutions are implemented using Xilinix Spartan-2 family FPGAs and Its applications in Figure 1: Two Points Exchanging different areas like CD player, Satellite Information transmission, Mail encoding (Post Bar, Maxi Code, Data Matrix, QR code) etc In order for the transmitted data to be and Many Other Popular Applications are corrected in the event that it acquires mentioned. Also the advantages and errors, it has to be encoded. The receiver disadvantages of RS are mentioned. uses the appended encoded bits to Spartan-2 has advantages over traditional determine and correct the errors upon ASSP like easily updating and easily reception of the transmitted signal. The debugging etc... are mentioned. number and type of errors that are correctable depend on the specific Reed- Solomon coding scheme used. 1. INTRODUCTION: A Reed-Solomon code is The code was invented in 1960 specified as RS (n, k) with s-bit symbols, by Irving S. Reed and Gustave Solomon, where n is the total number of bytes the who were then members of MIT Lincoln code word contains and k is the number of Laboratory. When it was written, digital data bytes. The number of parity bytes is technology was not advanced enough to equal to n – k, where n is 2 raised to the implement the concept. The first power of s minus one (n = 2s – 1).A Reed- application, in 1982, of RS codes in mass- Solomon decoder can correct up to t produced products was the compact disc. number of bytes, where 2t = n – k. Today RS codes are used in hard disk drive, DVD, telecommunication, and digital broadcast protocols. What is Reed-Solomon? In real world communication, errors are introduced in messages sent from one Figure 2: Reed-Solomon Code Word point to another (Figure 1). Reed-Solomon is an error-correcting coding system that Figure 2 shows a Reed-Solomon code was devised to address the issue of word in which the data is left unaltered correcting multiple errors—especially while the parity bits are suffixed to the data bits. This type of code is also known Xilinx’s Reed-Solomon encoder has as a systematic code. A well-known a number of powerful features: example of a Reed-Solomon code is • Web-based configuration and RS (255, 223) with 8-bit symbols. For this downloading capability. specific Reed-Solomon code, each code • Fully synchronous, bit-parallel word has 255 total bytes, with 223 bytes of systematic encoder data and 32 bytes for parity. This code has: • Customizable, supports several standards n = 255, k = 223, s = 8, 2t = 32, t = 16. • Optimized for Spartan-II FPGAs This means that the decoder can Power Savings Resulting from "Coding automatically correct 16 symbol errors up Gain": to 16 bytes anywhere in the code word. Besides correcting burst errors, the Reed- A Brief Summary of Reed- Solomon encoding-decoding solution Solomon Terminology: offers another significant benefit for Symbol Width is the number of bits wireless communications systems: it per symbol. allows for transmission at lower power Code Word is the block of n levels. This power saving is called "coding symbols. gain," and it allows substitution of lower- RS (n,k) code: - n is the total cost, lower-power parts in transmitter number of symbols per code word electronics. Reed-Solomon coding gain, in - k is the number of information decibels (dB), is the difference between symbols per code word. the measured power needed to transmit Code Rate is equal to k / n. and receive error-free data without r = (n – k) is the number of check encoding and the measured power needed symbols. using the Reed-Solomon coding scheme. t = (n-k)/2 is the maximum number A graphical representation of the of Symbols with errors that can be relationship for various encoding schemes corrected. is shown in Figure 4. Note that a, the non- encoded PSK, is 10.5 dB compared to 2.5 dB for e (Reed-Solomon coding)! 2. REED –SOLOMON ENCODERS: Basic Features of the Reed-Solomon Encoder: A block diagram for a basic Reed- Solomon encoder is shown in Figure 3 Figure 3: encoder Figure 4: Graph Showing Reed- Solomon’s Coding Gain Calculating the Reed-Solomon Encoder Design Parameters As seen in Figure 2, binary data is grouped with check symbols, 2t, to form a code word. The check symbols are calculated by choosing a generator polynomial g(x), then choosing the check symbols such that c(x) is divisible by g(x). Now, if c(x) is a multiple of g(x) and if g(x) has roots, then c(x) has the same roots as g(x). This fact allows the validity of the code word to be tested. All valid code words are exactly divisible by the generator polynomial. The general form of the generator polynomial is: 3.REED-SOLOMON DECODERS : This has the product form of: Basic Features of the Reed-Solomon Decoder Figure 5, a block diagram of the Reed- And when expanded has the polynomial Solomon decoder, shows the functions form of: necessary to determine if a received Reed- Solomon encoded signal has been corrupted by noise. The following is a worked-out example of calculating a generator polynomial by hand. In this example, GF (16), n = 15, k = 13, Generator_ start = 1, h = 1. From the example calculation, G0 = 8, G1 = 6, and G2 =1. Substitute these G0, G1, and G2 values in the diagram of Figure 3 to create the specific Reed-Solomon encoder. Figure 5: Decoder Block Diagram 4. REED-SOLOMON DECODER operations. Four character sets are used in APPLICATIONS: Post Bar codes, known as "A", "N", "Z" and "B" characters. A and N characters are typically used to encode postal codes and CD Player: country codes. Z characters are used for A very popular consumer application for address locators, product types, and the Reed-Solomon decoder is the CD customer and service information. B player. The Reed-Solomon encoding is characters are one bar each, and are used literally burned into the CD’s surface; the to encode base-4 machine IDs for Canada decoding happens when the CD is played Post's internal uses. back by the user. Reed-Solomon encoding is a very logical and effective solution for the problems inherent in CD storage because it makes the media very tolerant of scratches. Compare this to the old vinyl turntable records that were quite intolerant of dust and scratches. The decoding occurs in the CD player itself. The laser diode and its associated optics read the "pits" from the CD’s surface, passing the information to the Reed-Solomon decoder and then to ii) Maxi Code: It is a machine readable the other CD player system blocks for symbol system originally created and used further processing. by United Parcel Service. It resembles a barcode, but uses dots arranged in a Satellite transmission: hexagonal grid instead of bars. A Maxi Code symbol appears as a 1 inch square, One significant application of Reed– with a bull’s eye in the middle, surrounded Solomon coding was to encode the digital by a pattern of hexagonal dots. It can store pictures sent back by the Voyager space about 93 characters of information, and up probe.Voyager introduced Reed–Solomon to 8 Maxi Code symbols can be chained coding in conjunction with ML together to convey more data. The convolutional codes, a practice that has centered symmetrical bull’s eye is useful since become very widespread in deep in automatic symbol location. space and satellite (e.g., direct digital broadcasting) communications Mail encoding : Paper bar codes such as Post Bar, Maxi code, and Data Matrix use Reed–Solomon error correction to allow correct reading even if a portion of the bar code is damaged. i)Post Bar: It is the black-ink barcode iii) Data Matrix: It is a two-dimensional system used by Canada Post in its matrix barcode consisting of black and automated mail sorting and delivery white "cells" or modules arranged in either a square or rectangular pattern. Data Matrix symbols are square and made of cells .Depending on the situation a "light" module is a 0 and a "dark" module is a 1, or vice versa. Every Data Matrix is composed of two solid adjacent borders in an "L" shape (called the "finder pattern") and two other borders consisting of alternating dark and light "cells" or modules (called the "timing pattern"). Within these borders are rows and columns of cells encoding information. Many Other Popular Applications: The finder pattern is used to locate and orient the symbol while the timing pattern Reed-Solomon codes are used in a wide provides a count of the number of rows variety of commercial applications, most and columns in the symbol. As more data prominently in CDs, DVDs and Blu-ray is encoded in the symbol, the number of Discs, in data transmission technologies cells (rows and columns) will increase. such as DSL & WiMAX, in broadcast systems such as DVB (Digital Video Broadcasting} and ATSC (Advanced Television Systems Committee), and in computer applications such as RAID (Redundancy and Data Loss Recovery Capability)systems, Deep-space probe missions (Voyager, Mariner) ,Interplanetary reconnaissance (Mars Lander). 5. Spartan-II Advantages Over Traditional ASSPs iv) QR Code: It is a matrix code (or two- dimensional bar code) created by Japanese a) Easily Debugged: corporation Denso-Wave in 1994. The "QR" is derived from "Quick Response", Most stand-alone ASSPs (Application as the creator intended the code to allow Specific Standard Product) never behave its contents to be decoded at high speed. as expected, due to reasons like bugs in the QR Codes are common in Japan, where silicon, system integration issues, software they are currently the most popular type of drivers, or even user error. Whatever the two dimensional codes. Moreover, most cause, verifying and identifying device current Japanese mobile phones can read problems can be very difficult with stand- this code with their camera. alone ASSPs, but a lot easier with programmable ASSPs Created from the fabric of a proven FPGA (Field- Programmable Gate Array) technology using pre-verified silicon guaranteed to perform, the Spartan-II family narrows down potential problems to a software- configuration data into internal memory only issue. And Xilinix provides powerful cells and therefore are very easy to re- tools that tremendously improve the program in an unlimited number of times. success of the final solution. With the help Updating the functionality of an FPGA of HDL compilers, simulators, test only requires that the designer include a benches, and run-time debugging tools mechanism for updating the configuration like Chip Scope, designers can easily bit stream. Remotely updating software identify debugging problems, because with any new enhancements and bug fixes, Spartan-II is inherently reprogrammable. increases the life of the Reed-Solomon This is a tremendous value-added feature solution within any product. stand-alone ASSPs cannot offer. It is much simpler and safer to integrate a c) Spartan-II: The Clear Reed-Solomon reprogrammable Reed-Solomon solution Solution Winner: than a hard-wired solution where the functionality of the device is not under Significant features like value proposition your control. against conventional standalone ASSPs, accommodation of specification changes, b) Easily Updated: improved testing and verification, and field upgradeability as discussed above, The Spartan-II family easily show the advantages presented by Spartan- accommodates specification changes and II devices (Table 1). The cost difference can be used in high volume production. between a stand-alone ASSP and an Conflicting specifications and lack of a equivalent Spartan-II solution is also clear design direction—conditions often considerable. Therefore, the Spartan-II unavoidable in the early stages of product family is a clear winner in not only the development—create the need for Reed-Solomon solution market, but also in programmable ASSP solutions. For a variety of other traditional standalone example, suppose a new Reed-Solomon ASSP areas. encoding decoding solution is found to provide a much better code gain than the version implemented in a released device. It would be cost-prohibitive for an ASSP vendor to cater to every new specification change—but at the same time, betting on the success of only a single product might preclude them from being successful in the marketplace. These conditions create many opportunities for the Spartan-II family, the industry’s first programmable ASSP. Process technology has allowed Xilinx to offer 100,000 gates for less than $10, and this in turn allows designers to easily continue using programmable ASSPs in volume production. Spartan-II FPGAs are based on SRAM technology Table1 and are customized by loading Figure 8 shows the cost savings realized 8. References: by using the Spartan-II programmable The Spartan-II Family – The ASSP. Complete Package by Krishna Rangasayee Memec Design Services Integrated Silicon Systems Error Control Coding by Shu Lin and Daniel Costello Error Control Systems for Digital Communication and Storage by Stephen Wicker Reed-Solomon Code and the Exploration of the Solar System by Robert McEliece and Laif Swanson - www.cs.cmu.edu www.wikipedia.com Figure 8: Spartan-II vs. Stand-alone ASSPs 6.Advantages And Disadvantages: The advantages are, the RS-Code is conceptually simple and it is well-suited to applications where errors occur in bursts errors (where a series of bits in the codeword are received in error).The disadvantage is, the code is computationally more expensive than XOR based codes. 7. Conclusion: Reed-Solomon solutions are deployed in a vast number of different applications. Built on the capabilities of the Xilinix Virtex family of high-end FPGAs, powerful and cost-effective Spartan-II devices broaden the Spartan family’s profile in competing against ASICs, and are uniquely poised to penetrate the ASSP marketplace. A Spartan-II FPGA-based Reed-Solomon solution with efficient partitioning of hardware and software functions provides the necessary scalability and flexibility to handle all types of applications.
Pages to are hidden for
"RS-Code"Please download to view full document