Alur program simulasi Reed-Solomon secara umum adalah sebagai berikut, program memiliki input data berupa suatu ECG database. ECG database
akan dipotong dalam ukuran pola data ECG. User dapat melakukan pratinjau terhadap ECG yang akan dijadikan data dalam simulasi. Proses selanjutnya,
program akan melakukan pemotongan terhadap data ECG sesuai dengan ukuran pola serta dimensi dari Reed Solomon yang akan dibuat.
Selanjutnya, data akan mengalami penyandian Reed Solomon. Input data yang telah disandikan tersebut akan mengalami suatu pemberian error secara
otomatis dan acak. Pemberian error disimulasikan pada kanal AWGN. Hal tersebut dimaksudkan untuk memberikan gambaran pengiriman datadalam sebuah
kanal dan data mengalami error. Selanjutnya, program akan mendeteksi apakah terdapat error atau tidak.
Jika terjadi error pada data, program akan menginformasikan dan melakukan pengkoreksian terhadap input data yang salah tersebut. Hasil data yang telah
dikoreksi tersebut akan diubah kembali menjadi bentuk ECG. Selain itu, hasil yang diperoleh berupabit error rate dan parameter-parameter hasil penyandian.
Program simulasi Reed Solomon ini menghasilkan nilai bit error rate
BER sebagai perbandingan antara jumlah error pada data dengan jumlah keseluruhan data. Program menampilkan sebuah grafik dengan 2 buah komponen.
Pada sumbu Y merupakan besaran nilai SER dan sumbu X merupakan besaran nilai dari signal to noise ratio SNR. Nilai SNR menggunakan rentang antara 1
– 20 .
Kedua parameter keluaran dari program simulasi Reed-Solomon ini digunakan sebagai analisa unjuk kerja dari reed solomon codes. Luaran dari
program ini diharapkan mampu memperlihatkan perubahan 1 simbol data terhadap data elektrokardiogram yang ditransmisikan.
3.2 Rancangan Model Sistem
Program simulasi Reed Solomon ini merupakan hasil dari sebuah rancangan suatu model yang terdiri dari beberapa rangkaian sistem. Rancangan
model sistem yang disimulasikan disajikan dalam Gambar 3.2.
Sinyal ECG Analog
Encoder Reed Solomon Code
Modulator QAM
Demodulator QAM
Decoder Reed Solomon Code
Sinyal ECG Analog
Kanal AWGN
Noise AWGN
Gambar 3.2 Rancangan model sistem program simulasi Reed Solomon Dalam Gambar 3.2 terlihat bahwa model sistem yang akan disimulasikan
memiliki banyak komponen. Komponen awal berupa sinyal ECG Analog. Sinyal analog kemudian akan diolah sedemikian rupa. Komponen selanjutnya berupa
encoder Reed Solomon code. Encoder tersebut akan menyandikan ECG. Proses
selanjutnya data akan mengalami modulasi dalam modulator QAM. Data yang telah disandikan tersebut selanjutnya akan masuk ke dalam sebuah kanal AWGN.
Data yang dikirimkan akan mengalamai error dalam kanal tersebut dan selanjutnya akan diterima oleh demodulator QAM dan akan mengalami proses
modulasi. Data yang sudah didemodulasi kemudian diterima olehdecoder Reed Solomon.Proses-proses yang dilakukan dalam decoder ini antara lain
pendeteksian error, koreksi error, beserta penghitungan SER Symbol Error Rate.
Selanjutnya akan diubah menjadi menjadi analog.
3.3 Perancangan penyandian Reed Solomon
Proses encode menggunakan Reed Solomon yang didasarkan pada Galois Field
GF2
5
= GF32,GF2
6
= GF64, dan GF2
7
= GF128. Nilai dari GF tersebut akan digunakan sebagai ukuran panjang dari codeword atau n.Nilai
Galois Field diatas digunakan sebagai nilai variabel yang dalam proses
penyandian. Penjelasan untuk masing-masing Galois Field yang digunakan adalah sebagai berikut.
1. Galois Field GF2
5
= GF32 GF32 menggunakan polinomial primitif dengan Px = 1+x
2
+x
5
, kode n,k yang dihasilkan adalah 31, 31-2t. Nilai ndan kdan tsemua mengacuke
sejumlah5-bitsimbol.Berdasarkan perhitungan diatas, diperoleh dimensi n,k yang digunakan dalam simulasi adalah 31,27 codeword dengan jumlah data
yang bisa dikoreksi t=2.Ukuran codeword keseluruhan adalah 5×31 =155bit. Rancangan rangkaian register untuk penyandian RS dalam simulasi ini
digambarkan dalamGambar 3.3.
Gambar 3.3 menunjukkan rangkaian register dengan polinomial Px = 1 + x
2
+x
5
. Langkah-langkah yang dijalankan dalam register geser yaitu pertama- tama, input data akan memasuki register geser n - k . Selanjutnya, data
mengalami pergeseran dan akan mengisi setiap register. Ketika proses pergeseran, terdapat proses penjumlahan bit untuk setiap data yang masuk.Proses pergeseran
terjadi sampai semua input data habis. Input data yang sudah masuk tadi akan menuju ke register output dan selanjutnya akan menjadi output. Sisa data yang
berada pada register menjadi nilai bit paritas dari sandi yang akan digunakan. Proses decode merupakan proses yang terjadi setelah data penyandian
diterima oleh pihak tujuan. Proses decode memerlukan error syndrome untuk melakukan proses deteksi kesalahan.Proses penghitungan error syndrome bisa
diperoleh dengan menggunakan sebuah rangkaian. Rangkaian pembagi polinomial ini mirip dengan rangkaian encoder yang sedikit mengalami perubahan.Gambar
3.4 di bawah ini menunjukkan rangkaian pembagi untuk mencari error syndrome.
Received Codeword
Switch 1
Switch 2
+
X
5
X
4
X
3
X
2
X
1
X
+
Syndrome Register
geser
+
Gate
Data Output
Digit Parity
+
Gambar 3.3Rangkaian register geser Reed Solomon code 31,27
Gambar 3.4 Rangkaian syndrome decoder 31,27
Gambar 3.4 memberikan hasil error syndrome dari codeword yang dikirimkan oleh pemancar. Proses penghitungan syndrome ini bermula pada posisi
switch 1 dan switch 2 terbuka. Nilai register semua dalam kondisi awal nol.
Codeword yang diterima kemudian digeser pada register yang ada. Syndrome
didapat ketika semua codeword telah habis digeser. Isi dari register adalah syndrome
. Selanjutnya, switch 1 akan terbuka dan switch 2 tertutup, sehingga codeword
dapat digeser dan keluar dari register. 2. Galois FieldGF2
6
= GF64 GF64 memiliki polinimial primitif Px = 1 + x + x
6
. Untuk GF64, kode yang dihasilkan adalah n, k = 63, 63-2t, dengan n dan k serta t semua
mengacu pada sejumlah 6-bit simbol [19]. Berdasarkan perhitungan diatas, diperoleh dimensi n,k yang digunakan
dalam simulasi adalah 63,61 codeword dengan jumlah data yang bisa dikoreksi t=1.Ukuran codeword keseluruhan adalah 6×63 =378bit. Rancangan rangkaian
register untuk penyandian RS dalam simulasi ini digambarkan dalam Gambar 3.5.
Gambar 3.5 menunjukkan rangkaian register dengan polinomial Px = 1 + x + x
6
. Rangkaian tersebut memiliki 5 buah register, 2 buah adder dan sebuah gate
yang berfungsi sebagai saklar. Cara kerja dari rangkaian register untuk sandi 63,61 ini sama dengan sandi 31,25 hanya perbedaan terdapat pada jumlah
register . Sandi 63,61 juga memiliki rangkaian syndrome decoder. Gambar 3.6
menunjukkan rangkaian pembagi untuk mencari error syndrome. +
Gate
Data Output
Digit Parity
+
Register geser
Gambar 3.5 Rangkaian register geser Reed Solomon code 63,61
3. Galois Field GF2
7
= GF128 GF128 memiliki polinimial primitif Px = 1 + x
3
+ x
7
. Untuk GF128, kode yang dihasilkan adalah n, k = 127, 127-2t, dengan n dan k serta t semua
mengacu ke sejumlah 7-bit simbol. Salah satu dimensi n,k yang digunakan dalam simulasi adalah 127,119 codeword dengan jumlah data yang bisa
dikoreksi t=4.Ukuran codeword keseluruhan adalah 7×127 = 889bit. Rancangan rangkaian register untuk penyandian RS dalam simulasi ini digambarkan dalam
Gambar 3.7.
Gambar 3.7 menunjukkan rangkaian register dengan polinomial Px = 1 + x
3
+ x
7
. Rangkaian tersebut memiliki 7 buah register, 2 buah adder dan sebuah gate
yang berfungsi sebagai saklar. Sandi 127,119 juga memiliki rangkaian syndrome decoder.
Gambar 3.8 menunjukkan rangkaian pembagi untuk mencari error syndrome.
Received Codeword
Switch Switch
+ +
X X
X X
X X
X Syndrome
X
7
Register geser
+
Gate
Data Output
Digit Parity
+
Received Codeword
Switch 1
+ +
X X
X X
X X
X
Syndrome
Switch 2
Gambar 3.6 Rangkaian syndrome decoder63,61
Gambar 3.7 Rangkaian register geser Reed Solomon code 127,119
Gambar 3.8 Rangkaian syndrome decoder 127,119
Secara singkat perbedaan dari ketiga buah rancangan penyandian Reed Solomon diperlihatkan dalam Tabel 3.1.
Tabel 3.1 Perbedaan atribut penyandian Reed Solomon
Panjang Codeword
RS Codes Kemampuan
koreksi t Code rate R
31 RS31,27
2 0.87
63 RS63,61
1 0.97
127 RS127,119
4 0.94
3.4 Desain Input Data