2.5.3 Branch Metric Calculation
Metode pada perhitungan branch metric untuk hard decision decoder dan soft decision decoder berbeda [12]. Perhitungan pada hard decision decoder
menggunakan Hamming distance. Hamming distance akan mengitung jarak antar pasangan bit masukan dan pasangan bit ideal. Oleh karena itu, branch
metric dapat mengambil nilai dari 0, 1, dan 2. Sehingga setiap pasangan bit masukan memiliki empat branch metric satu untuk masing-masing nilai
pasangan ideal. Perhitungan pada soft decision decoder menggunakan Euclidean
distance. Misalkan x menjadi bit pertama yang diterima dalam pasangan, y adalah bit yang kedua, x
dan y adalah nilai-nilai ideal. Maka branch metric
adalah:
2 2
y y
x x
M
b
− +
− =
2.12 Ketika pengawasandi menghitung 4 branch metric untuk soft decision
decoder, pengawasandi hanya perlu mengetahui perbedaan dari perhitungan metrik. Jadi, nilai branch metric tidak akan berubah jika pengawasandi
mengurangi 1 nilai dari semua 4 branch metric, sehingga:
; 2
2
2 2
2 2
y yy
y x
xx x
M
b
+ −
+ +
− =
2.13 atau
. 2
2
2 2
2 2
yy y
xx x
y x
M M
b b
− +
− =
− −
=
2.14
b
M
dapat dihitung tanpa perkalian di level perangkat keras.
2
x
dan
2
y
dihitung terlebih dahulu dan perkalian x dengan
x
dan y dengan
y
dapat dilakukan dengan sangat mudah dalam perangkat keras jika
x
dan
y
adalah konstan.
2.5.4 Path Metric Calculation
Path metrics dihitung menggunakan prosedur yang disebut Add- Compare-Select ACS [12]. Prosedur ini diulang untuk setiap bagian
penyandi.
1. Add, terdapat dua keadaan pada proses sebelumnya yang berubah ke
keadaan sekarang dan terdapat pasangan bit keluaran yang terkait pada proses perubahan tersebut. Path metric baru dihitung dengan
menambahkan path metric sebelumnya dan branch metric yang sesuai. 2.
Compare – select, dua jalur yang dihasilkan dari tahap add akan dibandingkan dan salah satu jalur akan dibuang. Ketentuan yang
digunakan dalam pemilihan jalur yang akan dibuang adalah jalur yang memiliki nilai metrik yang paling besar.
Karena terdapat 2
k-1
bagian penyandi, maka terdapat 2
k-1
jalur survivor pada waktu tertentu. Perbedaan antara metric dua jalur survivor tidak dapat
melebihi
1 −
K Log
δ , dengan
δ adalah sebuah perbedaan antara maksimum dan minimum dari branch metric yang memungkinkan.
2.5.5 Traceback
Ketika pengawasandi mengawasandikan sebuah aliran data yang berkelanjutan, pengawasandi diharapkan memiliki nilai latency yang terbatas
[12]. Jalur-jalur di awal grafik menjadi milik dari jalur survivor. Bit yang telah diawasandikan sesuai dengan bagian ini dan dapat dikirim ke output.
Pengawasandian dilakukan dengan langkah berikut: 1.
Menemukan jalur survivor untuk pasangan bit masukan N+D. 2.
Melakukan Traceback dari akhir jalur survivor apapun sampai ke awal. 3.
Mengirimkan N bit ke output. 4.
Menemukan jalur survivor untuk pasangan bit masukan N lainnya. 5.
Kembali ke langkah no 2. Dalam prosedur ini, D merupakan parameter penting yang disebut
decoding depth. Sebuah decoding depth harus cukup besar untuk kualitas pengawasandian, tidak kurang dari 5K. Peningkatan D mengurangi
kemungkinan kesalahan pengawasandian, tetapi juga meningkatkan latency. Gambar 2.9 menujukkan grafik dari jalur survivor.
Gambar 2.4 Contoh grafik jalur survivor. Lingkaran biru menunjukkan
bagian penyandi. Hal ini menujukkan bahwa semua jalur survivor mempunyai awal yang umum garis merah dan hanya berbeda dibagian akhir [12].
Adapun N, menujukkan seberapa banyak bit yang di kirim ke output setelah masing-masing traceback. Sebagai contoh, jika N=1, nilai dari latency
minimal, tetapi pengawasandi perlu melacak seluruh tree setiap melangkah. Komputasi ini tidak efektif. Dalam implementasi hardware, N biasanya sama
dengan D.
16
BAB III PERANCANGAN SIMULASI KODE KONVOLUSI
3.1 Gambaran Umum Program
Gambar 3.1 memperlihatkan diagram alir program simulasi kode konvolusi secara singkat dari awal hingga akhir program dijalankan.
Mulai Data ECG
Grafik ECG dan
Probabilitas error
Selesai kanal
AWGN Pengawasandian
Viterbi Penyadian
Konvolusi
Gambar 3.1 Diagram alir model program simulasi kode konvolusi.
Dari Gambar 3.1, alir program simulasi kode konvolusi dapat dijelaskan secara umum sebagai berikut, program mendapat masukan data berupa data
ECG. Data ECG didapat dengan cara memotong ECG database dalam ukuran yang sesuai dengan ukuran masukan dari kode konvolusi. Kemudian data
ECG yang telah dipotong, dikonversi ke dalam bentuk biner. Data ECG dalam bentuk biner masuk ke dalam proses penyandian
konvolusi. Data ECG yang telah disandikan kemudian disimpan ke dalam Interleaving buffer. Selanjutnya, data ECG disandikan kembali penyadian
konvolusi. Data ECG yang telah disandikan dua kali tersebut dikirimkan ke penerima melalui Additive White Gaussian Noise AWGN. Pada proses
pengiriman tersebut, data ECG mendapatkan error yang random dari kanal AWGN.
Data ECG diterima pada penerima melalui De-interleaving buffer. Data ECG akan diurutkan kembali sesuai dengan urutan data sebelum masuk ke
dalam proses Interleaving. Kemudian data ECG diawasandikan pada