RS-Code by playboy14


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.
                                                           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)!
Basic Features of the Reed-Solomon
    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
           All valid code words are exactly
divisible by the generator polynomial. The
general form of the generator polynomial
                                               DECODERS :
This has the product form of:
                                               Basic Features of the Reed-Solomon
                                                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

                                              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
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
                                                    Memec Design Services Integrated
                                                    Silicon Systems Error Control
                                                    Coding by Shu Lin and Daniel
                                                    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 -
Figure 8: Spartan-II vs. Stand-alone

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.

To top