Loading...
Teknologi

Proses Pendekodean Reed Solomon

Proses pendekodean Reed Solomon (decoder) melibatkan penentuan lokasi dan besaran nilai (magnitude) error yang terjadi pada polinomial penerima R(x). Lokasi dan error magnitude didapatkan dari polinomial error. Sebuah RS (n,k) mampu mendeteksi error sebesar t, jika terdapat RS (255,239) maka jumlah error yang mampu dikoreksi yaitu 8 simbol yang error (t = (n-k)/2 = 8 byte).

Pendekodean Reed Solomon mengganti simbol yang salah dengan simbol yang sebenarnya tanpa memperdulikan apakah error yang terjadi pada simbol tersebut disebabkan oleh satu bit yang rusak atau semua bit pada simbol tersebut mengalami kerusakan. Alasan inilah yang menyebabkan kode Reed Solomon dianggap lebih baik dibanding binary codes. Proses pendekodean Reed Solomon dijalankan dengan urutan sebagai berikut :


  1. Mencari sindrom error pada data

  2. Mencari error polynomial, yaitu Ω(x) dan Λ(x) untuk digunakan pada perhitungan besaran error (error magnitude) dengan algoritma Berlekamp-Massey.

  3. Mecari lokasi error dengan algoritma Chien jika terdapat sindrom error.

  4. Mencari besaran/magnitude error pada data di lokasi yang telah diperoleh sebelumnya dengan menggunakan algoritma

  5. Melakukan proses penjumlahan XOR antara nilai error yang diperoleh pada prosedur 4 dengan data pada lokasi error. Hal ini akan membuat data kembali seperti semula.

Capture-49.JPG

Gambar 2. Diagram Pendekodean Reed Solomon

  1. Sindrom Error

Pencarian sindrom error untuk menentukan apakah paket data yang diterima oleh decoder mengalami kerusakan atau tidak. Hasil pencarian sindrom akan menentukan Polinomial sindrom. Nilai sindrom ditentukan dengan menggunakan persamaan (9). Polinomial sindrom error secara umum direpresentasikan seperti pada persamaan (10).

S(n) = Capture-50.JPG (9)

S(x) = S0+ S1x+……+ S2t-1x2t-1 (10)

Dimana jika S(x) = 0, maka pada data yang diterima tidak terdapat error. Jika data mengalami error maka elemen sindrom error akan menghasilkan nilai tertentu.

Capture-51.JPG

Gambar 3. Skema Sindrom Error

  1. Polynomial Error

Polinomial error digunakan untuk mencari polinomial lokasi error dan error magnitude pada data yang diterima. Untuk mencari polinomial error digunakan algoritma Berlekamp-Massey atau Euclidean. Polinomial error (lokasi error dan error magnitude) ditentukan dengan menggunakan polinomial sindrom yang didapatkan sebelumnya. Polinomial error direprsentasikan seperti pada persamaan (11).

Λ(x)S(x) = Ω(x) mod x2t (11)

Algoritma yang digunakan pada RS (255,239) ini yaitu Berlekamp-Massey. Algoritma ini dipilih karena menggunakan teknik iterasi yang lebih efisien digunakan jika encoder–nya menggunakan teknik LFSR.

  1. Lokasi Error

Lokasi error dapat diperoleh menggunakan polinomial Λ(x) yang telah diperoleh pada tahap sebelumnya. Pencarian lokasi error ini menggunakan metode chien search dimana skemanya ditunjukkan pada gambar 4. Untuk menentukan lokasi error diperlukan nilai inverse dari galois field (2m), maka untuk RS(255,239) dibutuhkan nilai inverse dari galois field (256), setelah itu mensubitusikan satu persatu variabel x pada Λ(x) dengan nilai inverse yang didapatkan sebelumnya. Jika hasilnya memberikan nilai nol (0), maka menunjukkan bahwa data posisi yang menghasilkan nilai nol (0) memiliki error. Jika hasilnya memberikan nilai bukan nol (≠ 0) maka data pada lokasi tersebut tidak terdapat error.

Capture-52.JPG

Gambar 4. Skema Chien Search

  1. Besaran Error

Setelah lokasi error diperoleh, tahap selanjutnya adalah mencari besar error (error magnitude) pada data yang diterima dengan algoritma Forney. Untuk mencari error magnitude digunakan persamaan (12).

Capture-53.JPG(12)

Polinomial error yang didapatkan pada prosedur 2 akan digunakan pada rumus mencari besaran error yang telah diperlihatkan diatas. Nilai turunan diperoleh dengan membuat pangkat genap menjadi nol, kemudian subsitusikan x menjadi Xj-1 dan membagi persamaan dengan Xj-1. Sebelumnya telah diketahui lokasi error, maka Xj disubsitusi dengan nilai α pada lokasi error.Misalkan lokasi error terletak pada posisi 6 yang nilai inverse galois–nya (α-9), maka Xj disubsitusi dengan α9.Akhirnya akan didapatkan nilai/besarnya error.

  1. Koreksi Error

Koreksi error dapat dilakukan dengan melakukan penjumlahan XOR antara data pada lokasi error dengan besar error yang diperoleh dengan menggunakan algoritma Forney. Hasil dari penjumlahan tersebut akan menghasilkan data yang sebenarnya. Agar Pendekodean Reed Solomon (255,239) dapat mendeteksi error dengan sempurna diperlukan FIFO buffer sebagai peyimpanan data informasi yang diterima secara sementara. FIFO (First In, First Out) merupakan sebuah abstraksi yang berhubungan dengan cara mengatur dan memanipulasi data relatif terhadap waktu dan prioritas.

Tinggalkan Balasan