37
4 BAB IV
IMPLEMENTASI SISTEM
Bab IV berisi implementasi sistem dibuat berdasar perancangan sistem pada Bab III. Spesifikasi perangkat lunak yang digunakan untuk melakukan
implementasi simulasi ini sebagai berikut : 1. Sistem operasi : Windows 7 32-bit
2. Matlab R2010a Versi : 7.10.0.499
4.1 Implementasi Proses
4.1.1 Proses Pembacaan Data ECG
Proses pembacaan data ECG adalah proses konversi data unsigned integer menjadi data array bertipe integer. Program membutuhkan file
“.dat”, file “.hea”, dan file “.atr”. File “.dat” merupakan file yang berisi sinyal ECG
dalam bentuk digital. File “.hea” merupakan file yang berisi teks singkat yang
digunakan untuk menggambarkan sinyal berisi nama atau URL dari file ”.dat”,
format penyimpanan, jumlah dan jenis sinyal, frekuensi sampling, data kalibrasi,
karakteristik, durasi rekaman dan waktu mulai [17]. File
“.atr” merupakan file yang berisi penjelasan gelombang QRS detak jangtung, menunjukkan lokasi
waktu terjadi, dan jenis ECG normal, ventricular ectopic, dll, serta penjelasan lain yang menunjukkan perubahan irama detak jantung dan kualitas sinyal.
Data ECG yang digunakan untuk pengujian adalah data ECG yang
diunduh dari MIT-BIH Arryhtymia Database [9]. Data ECG akan dibaca dengan fungsi yang diunduh dari physionet.org [18]. Fungsi program pembacaan data
ECG dinamakan
Proses_baca_data .
Kode program
Proses_baca_data dilampirkan pada lampiran 2, sedangkan hasil pembacaan data dilampirkan pada
lampiran 3.
4.1.2 Penyandian Data ECG
Proses penyandian adalah proses pengubahan data biner sesuai dengan rate encoder
. Fungsi program dinamakan encoder. Fungsi encoder mempunyai beberapa bagian yaitu proses pengubahan data ECG hasil persamaan 4.1
menjadi data biner, interleaver, dan encoder.
4.1.2.1 Proses Pengubahan Data ECG Menjadi Data Biner
Tabel 4.1 merupakan kode program yang digunakan untuk mengubah data ECG menjadi data biner. Setiap satu titik data ECG akan diubah menjadi 12 data
biner. Hasil konversi data ECG menjadi data biner akan bertipe data “string”.
Tabel 4.1 Pengubahan data
ECG
menjadi data Biner function
[dataBin]= baca_dataECG load
ECGDat ;
dataBiner= ;
for i=1:sizeDataECG:,1
dataBiner=[dataBiner,dec2binDataECGi,1,12]; end
dataBin=dataBiner;
4.1.2.2 Random Interleaver
Random interleaver digunakan untuk mengacak pola atau urutan data
biner yang dihasilkan oleh pengubah data ECG menjadi data biner. Interleaver yang digunakan merupakan fungsi yang tersedia pada Matlab. Sebelum data
masuk dalam interleaver , data “string” yang dihasilkan pengubah data biner
diproses menjadi array data biner dengan kode program pada Tabel 4.2, kemudian array data biner akan dimasukkan ke dalam interleaver.
Tabel 4.2 Pe ngubah data “string” menjadi array
tempData= ;
for i=1:lengthdataBiner
if i==lengthdataBiner
tempData=[tempData,dataBineri]; else
tempData=[tempData,dataBineri, ];
end end
temp = regexptempData, ,
split ;
dataProses = cellfunstr2num,temp; dataIntrlvr=randintrlvdataProses,1024;
4.1.2.3 Encoder Turbo Codes
Encoder turbo digunakan untuk mengkodekan data ECG yang telah
berbetuk data biner menjadi data sandi. Satu data biner akan disandikan menjadi tiga data, tiga data tersebut meliputi satu data asli dan dua data paritas. Turbo
encoder terdiri dari dua RSC. RSC pertama menghasilkan satu data asli dan satu
data paritas, RSC kedua menghasilkan satu paritas. Data hasil RSC 1 dan 2 akan digabungkan menjadi satu deret data. Hasil encoder adalah data biner bertipe
“string”. Kode program encoder dilampirkan pada lampiran 4.
4.1.3 Pengiriman Data Sandi Melalui Kanal AWGN
Pengiriman data sandi menggunakan kanal AWGN. Sebelum proses pada kanal AWGN, data akan diproses oleh modulator QAM dengan ukuran modulasi
4, 16, 32, atau 64. Data hasil modulator akan masuk ke dalam kanal AWGN. SNR yang digunakan yaitu 0 sampai 20. Setelah proses pada kanal, data akan diproses
oleh demodulator QAM. Demodulator QAM digunakan untuk menerjemahkan data kanal menjadi data biner. Kode program dilampirkan pada lampiran 5.
4.1.4 Decoder Turbo Codes
Decoder turbo codes terdiri dari 2 decoder yang menggunakan algoritma
Maximum a-posteriori Probability MAP. Decoder turbo codes merupakan
komputasi untuk menghitung matrik tranformasi, Forward Branch matrix, backward Branch
matrix, LLR, dan soft output. Kode program decoder turbo codes
dilampirkan pada lampiran 6.
4.1.4.1 Proses Penerjemahan Data Biner Menjadi Data ECG
Tabel 4.3 merupakan kode penerjemah data biner menjadi data ECG. Kode tersebut digunakan untuk mengembalikan data biner hasil decoding menjadi
data ECG. Data ECG yang diterjemahkan akan disajikan dalam bentuk grafik. Lampiran 7 merupakan data ECG hasil penerjemahan data biner menjadi data
ECG. Tabel 4.3 Fungsi konversi data biner menjadi Data ECG
dataAwal=reshapedataEncoder,3,lengthdataEncoder1,:lengthdataEncode r:,13;
i=0;a=1; while
ilengthiterasiDEC21,: indexECGa,iSNR=bi2deiterasiDEC21,[i+1:i+12],
left-msb ;
i=i+12; a=a+1;
end
4.2 Implementasi Tampilan