RS-Code
Document Sample


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.
Get documents about "