Rddata akan menghasilkan data seperti pada Lampiran 1. Data pada tabel tersebut akan menjadi data penguji untuk proses penyandian.
4.1.2. Implementasi Penyandian Data ECG
Setelah data ECG dibaca dan disimpan, selanjutnya data akan disandikan ke dalam sebuah Indeks. Pada bagian ini, data ECG hasil pembacaan akan
melewati beberapa proses, yaitu proses pengubahan data ECG menjadi data biner dan proses penyandian data dengan kode konvolusi. Proses penyandian akan
menggunakan tiga jenis rate, yaitu rate 1 2 � , 1 3
� , dan 1 4 � yang performanya akan
diuji dalam tugas akhir ini.
4.1.2.1. Proses Pengubahan Data ECG Menjadi Data Biner
Listing program berikut merupakan kode program dengan nama fungsi Convertdec2bin. Data ECG yang telah dibaca nilainya akan dibulatkan terlebih
dahulu. Kemudian data hasil pembulatan dikonversi menjadi data biner dengan ukuran 12 bit. Data hasil konversi tersebut kemudian diubah ke dalam bentuk
baris agar dapat masuk ke dalam penyandi.
function message=Convertdec2bindata data=int16data; proses pembulatan data
convertmessage=dec2bindata,12; proses konversi decimal menjadi biner dengan ukuran 12 bit
message=Ecgbarisconvertmessage; data diubah menjadi bentuk baris
4.1.2.2. Penyandian Data Dengan Kode Konvolusi
Rate � � �
Listing program berikut merupakan kode program pembangkit sandi konvolusi rate 1 2
� . Penyandi konvolusi rate 1 2 � menggunakan tiga register dan
generator polinomial yang dipakai adalah adalah �
1
= [101] dan �
2
= [111] . Hasil dari penyandian berupa deretan data biner bertipe “double”.
function [hasil1,hasil2]=Generator12isiRegister1,isiRegister2,isiRegister3
r1=isiRegister1; r2=isiRegister2;
r3=isiRegister3; u1=r1+r3;
u2=r1+r2+r3; h1=modu1,2;
h2=modu2,2; hasil1=h1;
hasil2=h2;
Penyandi konvolusi dengan rate � � � digunakan untuk menyandikan data
ECG yang berbetuk data biner. Satu data biner akan disandikan menjadi empat data, yang meliputi dua data sandi dan dua data paritas. Listing program berikut
merupakan kode program fungsi penyandi konvolusi dengan rate � � � .
function [hasil,jumlah]=Encoder12message m=message;
mp=Paritasm; R1=zeros;
R2=zeros; R3=zeros;
h=zeros; for i=1:sizemp,2
R3=R2; R2=R1;
R1=mp1,sizemp,2-i+1; [h1,h2]=Generator12R1,R2,R3;
hi,1=h1; hi,2=h2;
end ha=zeros;
count=1; for i=1:sizeh,1
ha1,count=hi,1;
count=count+1; ha1,count=hi,2;
count=count+1; end
jumlah=sizeha,2; hasil=ha1,1:end-4;
hasilpenyandian=hasil; savefile = hasilpenyandian12.mat;
savesavefile, hasilpenyandian;
4.1.2.3. Penyandian Data Dengan Kode Konvolusi
Rate � � �
Listing program berikut merupakan kode program pembangkit sandi konvolusi rate 1 3
� . Penyandi konvolusi rate 1 3 � menggunakan tiga register dan
generator polinomial yang dipakai adalah adalah �
1
= [101], �
2
= [111], dan �
3
= [111]. Hasil dari penyandian berupa deretan data biner bertipe “double”.
function [hasil1,hasil2,hasil3]=Generator13isiRegister1,isiRegister2,isiRe
gister3 r1=isiRegister1;
r2=isiRegister2; r3=isiRegister3;
u1=r1+r3; u2=r1+r2+r3;
u3=r1+r2+r3; h1=modu1,2;
h2=modu2,2; h3=modu3,2;
hasil1=h1; hasil2=h2;
hasil3=h3;
Penyandi konvolusi dengan rate � � � digunakan untuk menyandikan satu
data biner menjadi sembilan data. Sembilan data tersebut meliputi tiga data sandi
dan enam data paritas. Listing program dibawah ini merupakan fungsi penyandi konvolusi dengan rate � �
� .
function [hasil,jumlah]=Encoder13message m=message;
mp=Paritasm; R1=zeros;
R2=zeros; R3=zeros;
h=zeros; for i=1:sizemp,2
R3=R2; R2=R1;
R1=mp1,sizemp,2-i+1; [h1,h2,h3]=Generator13R1,R2,R3;
hi,1=h1; hi,2=h2;
hi,3=h3; end
ha=zeros; count=1;
for i=1:sizeh,1 ha1,count=hi,1;
count=count+1; ha1,count=hi,2;
count=count+1; ha1,count=hi,3;
count=count+1; end
jumlah=sizeha,2; hasil=ha1,1:end-6;
hasilpenyandian=hasil; savefile = hasilpenyandian13.mat;
savesavefile, hasilpenyandian;
4.1.2.4. Penyandian Data Dengan Kode Konvolusi