0% found this document useful (0 votes)
31 views4 pages

Math Quad

Uploaded by

Hari Madhavan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views4 pages

Math Quad

Uploaded by

Hari Madhavan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

DATA ERROR CORRECTION: APPLICATION OF REED SOLOMON

Let's talk about some very interesting things: quite a fascinating world of
Reed-Solomon codes, an error-correcting code that can fix errors in
transmitting data. Capable of recovering data from a scratched CD or DVD or
even a signal sent to space.

Let's start with a very concrete physical example which sets up the maths.
Suppose I wanted to send you the word 'CAT' but in transmission one letter
was lost. So, you got '_AT'. We want to make an educated guess about which
letter was lost. Reed-Solomon codes let us do just that and I'll explain what's
going on over the next three steps.

Step 1: Convert Data into Polynomials

First and foremost, it's a huge concept-changed the nature of the data-from
letters, numbers or files to a polynomial. A polynomial is simply an
expression in math terminology with terms like 3x² + 2x +1. Let's take this
apart using our word 'CAT'.

We give each letter a number. For example

C=3

A=1

T = 20

We make such a polynomial, the letters of 'CAT' standing for the coefficients
of the polynomial:
f(x) = 3x2 + 1x + 20

Step 2: Sending Duplicate Data

Sending only the letters is a bit dicey because data may get corrupted in
transit. So Reed-Solomon codes send extra information called redundancy.
That redundancy is like packing some extra snacks just in case some get
lost. In technical parlance, we calculate additional points from the polynomial
by substituting various values of 'x' and send those along also.

Let's take some x-values and evaluate our polynomial.

f(1) = 3(1)^2 + 1(1) + 20 = 24

f(2)=3(2)2+1(2)+20=38 We calculate these additional values and add them


to the original data set. If some of them is corrupted in transmission, we can
recover them also as well using the additional points.

Step 3: Error Detection – Modular Arithmetic

Suppose now that we get '_AT' with the 'C' missing. We know this much so
far. Now we have a job ahead of us: to determine where the error occurred.
Here's where modular arithmetic comes into play. Modular arithmetic is like a
clock after 12, it loops back to 1. In data transmission, it is this looping
property helps us to handle large numbers and to ensure everything falls in a
range.

Consider, for example how in modular arithmetic data might 'wrap around' a
given number so that regardless of how large it was, it always came within
our range of expectation. This is critical in Reed-Solomon codes in detecting
and isolating error.

Step 4: Lagrange Interpolation Error Correction

Now that we know something is missing, we want to recover it. That is where
Lagrange interpolation fits in. Lagrange interpolation is the mathematical
procedure used to recover missing parts of a polynomial even if some data
points are lost. Let us understand this by using the word 'CAT' once again.

Now we have all other points written in terms of 'A' and 'T', but we are
missing that 'C'. Now we are going to plot this polynomial as a curve on the
graph. We know some points of the curve-in our example, 'A' and 'T'-and
Lagrange interpolation is going to allow us to finish the rest of the curve so
that finally we can get the value of the missing point.

The Lagrange interpolation formula is defined as

f(x) = \sum_{i=0}^{n} y_i \prod_{j \neq i} \frac{x - x_j}{x_i - x_j} Practical


Example of Error Recovery Let's use this to our practical example: 'AT'. Now
we substitute the values we already know for 'A' and 'T' in Lagrange
interpolation formula that shall help us to find the unknown 'C'. Reed-
Solomon codes do just this by operating on the additional information we
have sent earlier. On our example, we recover the missing letter 'C' and get
back the original word 'CAT'. This is not only limited to words. In fact, Reed-
Solomon codes are actually used in practical terms, such as correcting
scratched parts of CDs or DVDs. For example, if some data bits become un-
readable due to scratches then the redundant data transmitted earlier helps
the system fill in the gaps and ensures that the song plays without disrupting
the sound. Real-World Applications That's why Reed-Solomon codes are
extremely useful: corrupted data no longer only can be corrected but, in fact,
recovered when part of it is lost. Such a code exists on DVDs, QR codes, and
in deep-space communications. Suppose one shoots pictures or sends data
from a remote spacecraft. Perhaps some parts get lost on their way, but
because of the existence of the Reed-Solomon code, one may recover parts
of it and view the full picture, hence. Next time you listen to that crackly CD,
read that QR code, or run your program, remind yourself of the quietly
working Reed-Solomon codes that bring all this in so perfectly like clockwork!

You might also like