Reed-Solomon: diferència entre les revisions

De la Viquipèdia, l'enciclopèdia lliure
Contingut suprimit Contingut afegit
Línia 77: Línia 77:
[[nl:Reed-Solomoncode]]
[[nl:Reed-Solomoncode]]
[[pl:Reed–Solomon error correction]]
[[pl:Reed–Solomon error correction]]
[[ru:Код коррекции ошибок Рида-Соломона]]
[[ru:Код Рида-Соломона]]

Revisió del 14:13, 1 ago 2008

Reed-Solomon és un algorisme de correcció d'errors. Aquest codi està dintre dels codis anomenats FEC(Forward Error Correction), aixó vol dir que és el receptor el que s'encarrega de corregir els errors, no pas el emissor. Per dur a terme aquesta tasca, utilitza bytes de redundància. S'utilitza en transmissions digitals.

Una manera fàcil per definir que fa aquest codi seria: La informació és divideix en parts. Dins de cada paquet introduïm bytes d'informació redundant(X). Aixó permet al receptor poder recupera X/2 bytes d'informació útil.

Per exemple, en DVB dividim la informació en 188bytes. A cada paquet de 188 bytes, introduïm 16 bytes d'informació redundant. Aixó vol dir que el receptor pot recuperar fins a 8 bytes d'informació útil.

El codi va ser inventat per Irving S. Reed i Gustave Solomon l'any 1960.

Reed-Solomon Original

La versió pensada per Irving S.Reed i Gustave Solomon era molt senzilla. Però tenia un problema, es va comprovar que a la pràctica era ineficient si els valors dels paràmetres eran grans.

Definició Original

La idea és que a partir d'un informació, creem un polinomi. Inicialment fixem un cos finit Cq, un element primitiu α∈Cq i finalment un enter 1≤N≤q-1. Considerem la paraula

m= (m0,m1,m2,...mαq-2) la qual identificarem amb el polinomi


A partir d'aquí, es tracta de codificar m pel vector que conté les avaluacions de m(x)en cadascun dels elements Cq:

Vector-> V=(m(α0),m(α1),m(α2),...,m(αq-2))

Si considerem el teorema d'interpolació només existeix un únic polinomi de grau ≤N-1 que passi per N punts donats de Cq2d'abcisses. Qualsevol Ncoordenades de la pareula codificada V són suficientes per recuperar la informació inicial m. Llavors, encara que es perdin alguns símbols o s'hagin corromput alguns, la parauala m es podrà recuperar sempre i quan en quedin com a mínim N símbols correctes.

La finalitat és que, si el nombre d'errors és prou peti, a partir d'aquest métode podrem decodificar la informació rebuda al receptor i alhora corregir-la, recuperant la informació enviada pel emissor tal i com ha estat enviada.

Per tant, finalment definim el codi Reed-Solomoncom:

RSq(N)={(m(α0),m(α1),m(α2),...,m(αq-2))∈ Cqq-1}

Definició Actual

La definició inicial de Irving Reed i Gustave Solomon necessitava moltes interpolacions per tal de poder corregir la informació ja que per exemple si utilitzem els valors q=16 i N=7, és necessari realitzar 6435 interpolacions, fet que treu eficiencia al codi inicial.

Per aquesta raò es va decidir utilitzar un mètode més eficient, mitjançant la Transformada Discreta de Fourier. Considerem Cq un cos finit, un element primitiu α∈Cq i finalment imposem N=q-1. Considemre un altre cop la paraula m i l'avaluació en totes les potències de α, tal i com s'ha fet en el cas original. Ara definim una matriu tal i que el nombre de files i columnes van de 0 a N-1. Per ejemple: Considerem N=5

El procés d'avaluació coincideix amb la multiplicació per C_α. Llavors ho podem expressar com:

D'aquesta manera és molt més fàcil i més eficient.


Ón s'utilitza?

S'utilitza aquest codi:

-DVB (Digital Video Broadcasting).

-TDT.

-En sistemes d'emmagatzematge com DVD.


Vegeu També

Detecció d'errors

Teoria de la informació