Reed-Solomon code adalah teknik encoding yang menambahkan redundansi data untuk mendeteksi dan memperbaiki kesalahan pada bit transmisi. Teknik ini bekerja dengan mengubah data menjadi simbol-simbol dalam suatu field Galois, lalu menambahkan simbol-simbol parity untuk membentuk codeword. Proses decoding melibatkan penghitungan sindrom dan lokasi serta nilai kesalahan untuk memperbaiki codeword yang diterima.
2. INTRODUCTION TO INFORMATION CODING
Video
Digital Error
Suara Bit 0 menjadi 1
Text Bit 0 dan 1 Bit 1 menjadi 0
Gambar
teknik encoding informasi: teknik yang mengorganisir bit 0
dan 1 sehingga kesalahan yang mungkin terjadi dapat
dideteksi dan diperbaiki
3. REED SOLOMON CODE
Oleh Irving Reed dan Gustave Solomon pada tahun
1960
Bekerja dengan menambahkan informasi tambahan
(redundansi data) di dalam data asli
Systematic linear block code
Nonbinary ciclic code
Banyak digunakan untuk coding Compact Disc
4. ARCHITECTURE
Notasi : RS(n,k)
k : jumlah simbol data
n : panjang simbol codeword
2t : panjang simbol parity
Tiap simbol dikodekan sebanyak m-bit, maka
panjang codeword yang dapat dibentuk adalah
n = 2m-1
5. ARCHITECTURE
Kemampuan RS-Code
Deteksi dan koreksi hingga sebanyak t error
2t = n-k t = (n-k)/2 simbol error
Misal
m = 8 bit
n = 255, k = 223 simbol
2t = n-k = 32, t = 16
6. GALOIS FIELD
Bilangan prima p GF(p), p elemen
GF(p) pm elemen extension field
of GF(p)
GF(pm), m = bilangan bulat positif > 0
Reed-Solomon Code : GF(2m)
{0,a0,a1,a2,…,a2m+2}
7. PRIMITIVE POLYNOMIAL
Mendefinisikan finite field GF(2m)
Polinom f(x) berderajad m yang tidak bisa
direduksi dikatakan primitif jika untuk
bilangan positif terkecil n yang membagi
habis f(x) terhadap xn+1 adalah n = 2m-1
1 + x + x4
1 + x + x2 + x3 + x4
m= 4, n = 2m-1 = 15 x15+1
13. RSC ENCODING : QUOTIENT - PARITY
Polinon quotient q(x), polinom parity p(x) polinom
pesan (message) m(x)
Secara sistematik
Geser ke kanan m(x) sebanyak n-k hingga ke sisi
paling kanan kodeword, lalu tambahkan p(x) untuk
mengisi sisi paling kiri dari codeword
Xn-k.m(X) = q(X).g(X) + p(X)
p(X) = Xn-k.m(X) mod g(X)
Polinom Codeword
U(X) = p(X) + Xn-k.m(X)
18. RSC DECODING : SYNDROME
Parity check pada r(X) untuk memastikan r(X) valid
r(X) valid syndrome bernilai 0
Terbentuk dari n-k simbol
{ Si }, i = 1..n-k
Si substitusi X dengan ai, i = 1…n-k
20. RSC DECODING : ERROR PATTERN
Misal terdapat sejumlah v error pada posisi
Xj1 Xj2,…Xjv
Maka polinom error :
Bl = ajl , subtitusikan ai pada r(X) untuk i = 1..2t
21. RSC DECODING : ERROR LOCATOR
Polinom Error Locator L(X) atau (X)
L(X) = 1 + L1X + L2X2 + … + LvXv
L(X) = (1+B1X) (1+B2X) … (1+BvX)
Akar dari L(X) = 1/B1, 1/B2, … 1/Bv
Kebalikan dari akar L(X) adalah nomor lokasi error
dari error pattern e(X), maka menggunakan teknik
autoregresif modeling kita dapatkan
22. RSC DECODING : ERROR LOCATOR
Dari contoh
Penyelesaian koefisien L1 dan L2
Inv[A] = cofactor[A]/det[A]
23. RSC DECODING : ERROR LOCATOR
Sehingga kita dapatkan polinom L(X)
24. RSC DECODING : ERROR LOCATOR
Akar dari L(X) adalah posisi error pada r(X)
cara paling brute force : coba subtitusi masing2 elemen
GF pada L(X), jika L(X) bernilai 0, maka elemen
tersebut adalah akar dari L(X) lokasi error