Sunteți pe pagina 1din 6

UNIVERSITATEA POLITEHNICA BUCURETI

FACULTATEA DE TRANSPORTURI
TELECOMENZI I ELECTRONIC N
TRANSPORTURI

Teoria transmisiei informaiei

Coduri Reed Solomon

Prof. ndrumator: S.L.dr.ing. Gheorghiu Andrei

1
Student: Vian Dumitru Felix

Grupa: 8214
Codurile Reed-Solomon au fost inventate n 1960 de ctre Irvin S. Reed i Gustave
Solomon, iar aplicaia cheie a acestor coduri a fost inventarea unui algoritm eficient
de decodare de ctre Elwyn Berlekamp.

Codurile corectoare Reed-Solomon sunt utilizate pe


scar larg n sistemele de stocare n mas a datelor (CD,
DVD, DAT) pentru a corecta erorile succesive asociate
defectelor de material. Codurile mai sunt utilizate n
sistemele de comunicaii mobile i wireless, comunicaii
prin satelit, televiziunea digital sau modemuri de mare
vitez (ADSL, xDSL). Una dintre primele aplicaii ale
acestor coduri a fost codarea imaginilor planetei Uranus
transmise de ctre sonda Voyager. Variante moderne ale
codurilor RS au fost implementate pe sondele Mars
Pathfinder, Galileo etc.

Codurile Reed-Solomon (RS) fac parte din categoria codurilor ciclice, ns sunt
coduri nebinare. Spre deosebire de celelalte coduri ciclice, alfabetul codului RS nu
este cmpul binar {0, 1}, ci un cmp finit de ordin superior, numit cmp Galois i
care va fi descris n Anexa. n acest fel, cuvintele codului RS nu sunt secvene
(succesiuni) de bii, ci de caractere. Aceste caractere pot fi reprezentate, la rndul
lor, prin secvene binare, ns sunt indivizibile din punct de vedere al codrii i
decodrii Reed-Solomon.

Structural, cuvintele de cod RS au aceeai alctuire ca i cele de cod ciclic:

v = vn-1vn-2 ... v1v0 vj GF(2q, p(x)) j = 0/n-1 (1)

unde: v cuvntul de cod, format din n caractere;

vn-1vn-2 ... vk caracterele de informaie, n numr de k; vk-1vk-2 ... v0 caracterele


de control, n numr de m;

2
q ordinul cmpului;

p(x) polinomul generator al cmpului GF.

Relaia de codare are aceeai form ca i la codurile ciclice:

v(x) = i(x) xm + rest (i(x) xm/g(x))

(2)

unde g(x) este polinomul generator al codului, al crui construcie este prezentat
mai jos, iar:

i(x) = vn-1 xk-1 + vn-2 xk-2 + ... + vk+1 x + vk

(3)

este polinomul de informaie.

Prin relaia de codare (2) se obine polinomul ataat cuvntului de cod, polinom ai
crui coeficieni sunt tocmai caracterele ce alctuiesc cuvntul de cod dat de (1).
Relaia (2) indic, deasemenea, c v(x) este un multiplu al lui g(x).

Codul RS, avnd parametrii n, k i m, construit dup relaia (2), este capabil s
corecteze un numr ec de caractere eronate, unde:

2 ec = m = n-k (4)

La decodare, spre deosebire de codurile ciclice, ntr-un cuvnt de cod RS


recepionat, n vederea coreciei, este necesar att localizarea erorii, ct i
stabilirea valorii ei.

3
Polinomul generator, g(x), al codului

Pentru a se corecta t erori dintr-un cuvnt este necesar a se preciza poziia


fiecreia precum i valoarea ei. Dac ne referim la un cuvnt de lungime n, unde:

n = 2q 1

(5)

atunci informaia necesar pentru a preciza un caracter eronat ntre cele n este:

ip1 = -log2(1/n)

(6)

Pentru a include i varianta cuvnt fr eroare, considerm c n acest caz se


eroneaz un al n+1lea caracter, fictiv, astfel nct informaia necesar pentru a
preciza poziia unui caracter eronat (dintre n+1 caractere) este:

ip1 = log2(n+1)

(7)

Aceast informaie poate fi coninut de un caracter din GF(2q). Deasemenea i


valoarea erorii, , poate s fie orice caracter din GF(2q):

4
w=v+

(8)

unde: w caracterul recepionat GF(2q);

v caracterul emis GF(2q);

-valoarea erorii GF(2q)\{0}.

Incluznd i cazul eronare a caracterului fictiv, rezult c poate lua orice


valoare din GF(2q), adic 2q valori posibile. Informaia necesar pentru a preciza
valoarea ei este identic cu cea dat de (7).

n concluzie, pentru fiecare eroare ce se dorete a fi corectat este necesar o


informaie egal cu 2q bii, adic dou caractere din GF(2q). La t erori sunt
necesare 2t caractere (cantitate de informaie).

Cele 2t caractere de informaie necesare soluionrii problemei coreciei se afl


din 2t ecuaii, care nseamn tot attea legturi (proprieti) pentru cuvntul
receptionat. Aceste 2t proprieti pentru cuvintele de cod RS sunt generate prin
relaia de codare (2). Prin aceast relaie v(x) devine multiplul lui g(x), ceea ce
nseamn c rdcinile lui g vor fi i rdcini pentru v. Rezult necesitatea ca g s
aib 2t rdcini. Aceste rdcini pot fi oricare dintre cele 2q elemente ale
cmpului GF(2q). Vom alege pentru g rdcinile , 2, 3, ... 2t, datorit simplitii
i simetriei:

g(x) = (x + )(x + 2) ... (x + t) = xm + gm-1xm-1 + ... + g1x + g0

(9)

5
Aadar cuvntul de cod RS, v, rezultat prin codarea cu ajutorul relaiei (2), n care
g este dat de (9), are proprietatea c elementele , 2, 3, ... 2t sunt rdcini
pentru polinomul ataat, v(x).