z = de2bizsym,left-msb; Convert integers to bits. Convert z from a matrix to a vector.
zTrans=z; dataTerimai,:=reshapezTrans,1,lengthzTrans1,:lengthzTran
s:,1; waitbaristeps;
end closehx;
messagefromkanal=dataTerima; message=messagefromkanal;
savefile = hasilpengiriman.mat; savesavefile, message;
toc
4.1.4. Implementasi Pengawasandi
Viterbi
Dua puluh satu baris data sandi yang diterima dari kanal AWGN akan di awasandikan menggunakan pengawasandi Viterbi. Rate yang digunakan pada
pengawasandi Viterbi adalah � � � , � �
� , dan � � � sesuai dengan rate dari penyandi.
Setelah data sandi telah diawasandikan, maka program akan menerjemahkan kembali data hasil awasandi menjadi data ECG.
4.1.4.1. Implementasi Pengawasandi
Viterbi Rate � � �
Lisiting program berikut merupakan kode program pengawasandi Viterbi dengan rate � �
� dengan nama fungsi Main12. Dua puluh satu baris data hasil pengiriman akan diproses baris per baris ke dalam program pengawasandi Viterbi.
Data hasil pengiriman akan dihitung dan dikoreksi menggunakan teori pada pengawasandi Viterbi dengan rate � �
� . Hasil keluaran dari program ini adalah dua puluh satu baris data yang telah dikoreksi dan data tersebut disimpan ke
dalam file “hasilpengawasandi12.mat”.
function [hdecoding,hasil]=Main12message tic
record=zeros; banyakmessage=sizemessage,1;
hx = waitbar0,Harap tunggu ...; for k=1:banyakmessage
record=InisiasiRecord12messagek,1,messagek,2,messagek,3,mes sagek,4;
for i=5:2:sizemessage,2 matrik8=Matrik812messagek,i,messagek,i+1,record;
for j=1:4 [baris,bobot]=Eliminasi12matrik8,j;
state=j; record=UbahRecord12record,matrik8,baris,bobot,state;
end end
barisk,1=Selecting12record; hasildecodingk,:=Decoding12record,barisk,1;
ukurankolomhasildecoding=sizehasildecoding,2; count=1;
h=zeros; hdecoding=zeros;
hdecoding=fliplrhasildecoding; hasil pembacaan yang telah dibalik
waitbarkbanyakmessage; end
closehx; hasil=hdecoding;
hasilpengawasandian=hasil; savefile = hasilpengawasandi12.mat;
savesavefile, hasilpengawasandian; toc
4.1.4.2. Implementasi Pengawasandi
Viterbi rate � � �
Listing program berikut merupakan kode program pengawasandi Viterbi dengan rate � �
� dengan nama fungsi Main13. Dua puluh satu baris data hasil pengiriman akan diproses baris per baris ke dalam program pengawasandi Viterbi.
Data hasil pengiriman akan dihitung dan dikoreksi menggunakan teori pada
pengawasandi Viterbi rate � � � . Hasil keluaran dari program ini adalah dua puluh
satu baris data yang telah dikoreksi dan data tersebut disimpan ke dalam file “hasilpengawasandi13.mat”.
function hasil=Main13message tic
record=zeros; banyakmessage=sizemessage,1;
hx = waitbar0,Harap tunggu ...; for k=1:banyakmessage
record=InisiasiRecord13messagek,1,messagek,2,messagek,3,mes sagek,4,messagek,5,messagek,6;
for i=7:3:sizemessage,2 matrik8=Matrik813messagek,i,messagek,i+1,messagek,i+2,recor
d; for j=1:4
[baris,bobot]=Eliminasi13matrik8,j; state=j;
record=UbahRecord13record,matrik8,baris,bobot,state; end
end barisk,1=Selecting13record;
hasildecodingk,:=Decoding13record,barisk,1; ukurankolomhasildecoding=sizehasildecoding,2;
count=1; h=zeros;
hdecoding=zeros; hdecoding=fliplrhasildecoding; hasil pembacaan yang telah
dibalik waitbarkbanyakmessage;
end closehx;
hasil=hdecoding; hasilpengawasandian=hasil;
savefile = hasilpengawasandi13.mat; savesavefile, hasilpengawasandian;
toc
4.1.4.3. Implementasi Pengawasandi