Implementasi Proses Simulasi turbo codes untuk pengolahan data elektrokardiogram.

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