Reed-Solomon ili skraćeno RS kod je kod za korekciju greške sa širokom primenom u digitalnim komunikacijama i memorijama. Red-Solomon kod se koristi za korekciju u mnogim sistemima kao što su:
- memorijski uređaji (magnetna traka, kompakt disk, DVD itd),
- bežične i mobilne komunikacije,
- satelitske komunikacije,
- digitalna televizija-DVB-T ,
- modemi velike brzine kao što su ADSL , xDSL itd
{mosimage}
Na slici iznad je prikazan tipičan sistem za korekciju greške. RS koder uzima blokove digitalnih podataka i dodaje extra redudantne bitove. Greške se dešavaju tokom prenosa ili memorisanja zbog raznih razloga. RS dekoder obrađuje svaki blok i nastoji da ispravi greške i obnovi originalne podatke. Broj i vrsta greški koje mogu biti ispravljene zavise od karakteristika samog Reed-Solomon koda.
Reed-Solomon kodiranje je podgrupa BCH kodiranja i predstavlja linearno blok kodiranje. Reed-Solomon kod je određen kao RS(n,k) sa s-bit simbola. To znači da koder uzima k simbola podataka, svaki simbol od s bitova i dodaje ispitne simbole da napravi kodnu reč od n simbola. Postoji n-k pariti simbola svaki od s bitova. Reed-Solomon dekoder može da ispravi t simbola koji sadrže greške u kodnoj reči, gde je 2t=n-k.
Dijagram ispod prikazuje tipičnu RS kodnu reč (poznatu kao planski kod, zato što su podaci na levoj strani nepromenjeni a pariti simboli su pridodati).
{mosimage}
Maksimalna dužina kodne reči sa 8-bitnim simbolima za RS kod je 255 bajta. Popularni Reed-Solomon kod je RS (255, 223) sa 8-bitnim simbolima. Svaka kodna reč sadrži 255 bajta, od kojih su 223 bajta podatci i 32 bajta su pariti. Za ovaj kod je:
n=255, k=223, s=8
2t=32, t=16
Dekoder može da ispravi bilo kojih 16 simbola greške u kodnoj reči. U prenosu TV signala putem satelita koristi se RS (204, 188,T=8) skraćeni kod (od originalnog RS (255, 239, T=8) koda). Kodovanje se obavlja nad svim transportnim paketima (dužine 188) bajta i to tako što se zaštitni bitovi (16 bajta) dodaju originalnom paketu od 188 bajta. Skraćeni RS kod se dobija tako što se na ulazu (255, 239) kodera, na mesto informacionih bajtova, u 51 bajt postavljaju sve nule. Posle procesa kodovanja ti bajtovi se eliminišu.
U RS dekoderu procedura algebarskog dekodovanja može ispraviti greške i oštećenja. Oštećenje se događa kada je pozicija pogrešnog simbola poznata. Dekoder može da ispravi t grešaka ili 2t oštećenja. Oštećene informacije mogu često biti isporučene od demodulatora u digitalnom komunikacijskom sistemu, tj. demodulator obeleži primljene simbole koji mogu da sadrže grešku.