UNJUK KERJA KOREKSI KESALAHAN TIPE-II HYBRID ARQ DENGAN MENGGUNAKAN KASKADE KODE HAMMING 1)
Naemah Mubarakah1) Staf Pengajar Departemen Teknik Elektro, Fakultas Teknik USU
Abstrak Keandalan dan throughput adalah dua aspek penting yang menunjukkan unjuk kerja dari sistem komunikasi data. Kontrol kesalahan seperti Forward Error Control (FEC) dan Automatic Repeat Request (ARQ) kurang memberikan solusi unjuk kerja yang optimum. Kontrol kesalahan hybrid ARQ merupakan gabungan FEC dan ARQ sehingga dapat digunakan untuk meningkatkan unjuk kerja sistem. Kontrol kesalahan tipe-II hybrid ARQ (adaptive ARQ) dengan menggunakan kaskade kode Hamming dimaksudkan untuk menyediakan throughput yang tinggi mengatasi kemungkinan kesalahan bit pada kanal. Ini dapat dilihat dari penggunaan kaskade kode Hamming (7,4) dengan tingkat kaskade satu memiliki throughput yang lebih baik dibandingkan GH–ARQ, sedangkan tingkat kaskade dua memiliki keandalan yang cukup baik. Dari hasil simulasi diperoleh pada BER 10-6 sampai dengan 7,5.10-5, sistem Hamming (7,4) dengan tingkat kaskade level kedua memberikan throughput yang setara dengan tingkat kaskade level pertama. Sedangkan pada BER > 7,5.10-5, sistem dengan tingkat kaskade level kedua memiliki throughput lebih rendah dari sistem dengan tingkat kaskade level pertama, tetapi memiliki keandalan yang lebih baik. Dengan demikian terlihat sistem tipe-II hybrid ARQ memiliki peningkatan unjuk kerja yang optimal. Kata kunci: Throughput, Keandalan, Kode Hamming, tipe-II hybrid ARQ
1.
yang berhasil diterima oleh penerima setiap satuan waktu terhadap jumlah seluruh bit yang dapat ditransmisikan setiap satuan waktu. Keandalan adalah ukuran kebenaran data yang dikodekan oleh penerima. Sistem FEC menyediakan efisiensi throughput yang tetap, tergantung pada tingkat kode dan tidak terpengaruh oleh kondisi kanal. Ketika kesalahan bit yang terjadi melebihi kemampuan sistem FEC tersebut seiring dengan menurunnya kualitas kanal, maka keandalan sistem berkurang. Sistem ARQ menyediakan keandalan yang tinggi, tidak tergantung kualitas kanal. Tetapi ARQ memiliki throughput yang sangat tergantung pada jumlah permintaan transmisi ulang karena terjadi kesalahan, dan throughput menurun karena meningkatnya kesalahan yang terjadi seiring dengan menurunnya kualitas kanal (Lin, Shu and Yu, Philip S., 1982). Sistem yang memiliki kelebihan sistem FEC dan ARQ, dan terhindar dari kekurangan sistem tersebut adalah hybrid ARQ. Ada dua skema hybrid ARQ:
39
Unjuk Kerja Koreksi Kesalahan Tipe-II Hybrid ARQ dengan Menggunakan Kaskade Kode Hamming (Naemah Mubarakah)
Pendahuluan Pada sistem komunikasi diupayakan agar informasi yang diterima sama dengan informasi yang dikirimkan. Tetapi pada kenyataannya sering terjadi kesalahan sehingga informasi yang diterima berbeda dengan informasi yang dikirimkan. Dalam bentuk digital, bit informasi dapat dikodekan oleh sebuah pengkode sebelum ditransmisikan, dan dikembalikan ke bit informasi asal oleh pendekode pada sisi penerima. Pada kedua alat tersebut dilengkapi dengan pengontrol kesalahan. Secara mendasar, ada dua teknik kontrol kesalahan bit informasi, yaitu Automatic Repeat Request (ARQ) dan Forward Error Control (FEC). ARQ hanya mampu mendeteksi kesalahan dan meminta transmisi ulang, sementara FEC hanya mendeteksi dan mengoreksi kesalahan bit informasi (Kausa, Maan A. and Rahman, Mushfiqur, 1991). Untuk mengevaluasi unjuk kerjanya, digunakan dua parameter penting yaitu throughput dan keandalan. Throughput adalah perbandingan jumlah rata-rata bit informasi
1. Type-I hybrid ARQ atau fixed-rate hybrid ARQ. 2. Type-II hybrid ARQ atau adaptive ARQ. Pada penerima type-I hybrid ARQ, blok yang didekodekan diuji oleh detektor kesalahan dan pendekode mengoreksi setiap kesalahan pada blok yang diterima. Karena itu koreksi kesalahan ini berdasarkan kode yang sama, skema ini disebut juga fixed-rate hybrid ARQ. Tingkat kode koreksi kesalahan yang tetap memiliki kelemahan terhadap kanal yang memiliki kualitas berubah-ubah. Jika kualitas kanal sangat baik, kemampuan sistem pengoreksi kesalahan mungkin lebih daripada nilai optimalnya. Jika kualitas kanal buruk, lebih banyak kesalahan yang mungkin terjadi daripada kesalahan yang dapat diatasi sesuai dengan kapasitas kode pengoreksi kesalahan. Akibatnya terlalu banyak transmisi ulang yang diminta dan throughput menurun. 2. Landasan Teori 2.1. Kontrol Kesalahan Secara mendasar, ada dua teknik kontrol kesalahan bit informasi, yaitu Automatic Repeat Request (ARQ) dan Forward Error Control (FEC). Terdapat dua kategori ARQ yaitu stopand-wait ARQ (SW ARQ), dan continuous ARQ yang terdiri dari dua tipe yaitu go-back-N ARQ (GBN ARQ) dan selective-repeat ARQ (SR ARQ). SW ARQ dirancang untuk kanal half-duplex, sedangkan continuous ARQ dirancang untuk kanal full-duplex (Lin, Shu, Costello, Daniel J. and Miller, 1984). 2.1.1 Stop and Wait ARQ Teknik SW ARQ adalah prosedur ARQ yang paling sederhana. Pada SW ARQ, pengirim mentransmisikan suatu vektor kode (code word) ke penerima dan menunggu dari penerima suatu acknowledgment untuk setiap vektor kode. Positive acknowledgment (ACK) dari penerima menunjukkan bahwa vektor kode yang dikirim telah diterima dengan sukses. Pengirim kemudian mentransmisikan vektor kode berikutnya. Jika negative acknowledgment (NAK) yang diterima, maka ada suatu kesalahan pada vektor kode yang terdekteksi dan pengirim mentransmisikan ulang vektor kode tersebut. Transmisi ulang dilakukan terus-menerus sampai pengirim menerima ACK. Teknik yang sederhana ini kurang efisien, karena adanya waktu kosong (idle time) yang terjadi selama menunggu acknowledgment setiap pengiriman vektor kode.
Gambar Stop and wait ARQ (Stallings, William, 1985)
2.1.2 Go Back N ARQ Dengan teknik GBN ARQ, pengirim mentransmisikan vektor kode dan menerima acknowledgment secara terus-menerus, tidak perlu menunggu acknowledgment sebelum mentransmisikan vektor kode berikutnya. Round trip delay adalah interval waktu antara pengiriman vektor kode dan penerimaan acknowledgment untuk vektor kode tersebut. Pada interval ini, ada N-1 vektor kode lain yang juga ditransmisikan. Jika pengirim menerima NAK untuk vektor kode ke-i maka pengirim berhenti mentransmisikan vektor kode dan mentransmisikan ulang vektor kode ke-i, beserta N-1 vektor kode selama round trip delay. Di bagian penerima, dilakukan pembuangan vektor kode ke-i yang mengandung kesalahan beserta N-1 vektor kode yang telah diterima. Pentransmisian ulang dilakukan terus-menerus sampai pengiriman menerima ACK untuk vektor kode ke-i, dan setelah itu pengiriman mentransmisikan vektor kode dalam antrian berikutnya. Teknik GBN ARQ menjadi tidak efisien jika round trip delay besar dan laju pengiriman data tinggi. Hal ini disebabkan pentransmisian ulang vektor kode yang mengandung kesalahan diikuti dengan N-1 vektor kode yang telah diterima.
Gambar Go Back N ARQ (Stallings, William, 1985)
2.1.3 Selective Repeat ARQ Kekurangan pada teknik GBN ARQ dapat diatasi dengan teknik SR ARQ. Pada teknik SR ARQ, vektor kode dan acknowledgment ditransmisikan terus-menerus. Jika pengirim menerima NAK untuk vektor kode ke-i, maka pengirim berhenti mentransmisikan vektor kode dan mentransmisi ulang vektor kode ke-i, tidak
Jurnal Teknik Elektro ENSIKOM Vol. 3, No. 2 – DESEMBER 2005 (39 – 49)
40
termasuk vektor kode selama round trip delay. Kemudian pengirim meneruskan lagi pentransmisian vektor kode baru setelah penghentian tersebut.
Gambar Selective Repeat ARQ (Stallings, William, 1985)
Di sisi penerima dibutuhkan suatu buffer untuk menyimpan vektor kode selama round trip delay yang bebas dari kesalahan. Teknik SR ARQ merupakan teknik ARQ yang paling efisien, namun SR ARQ membutuhkan perangkat yang rumit dan berkemampuan tinggi. 2.1.4 Hybrid ARQ Keuntungan utama ARQ daripada FEC adalah perangkat pengkodean ARQ lebih sederhana daripada FEC, dan keluwesan ARQ karena informasi ditransmisikan ulang hanya ketika terjadi kesalahan. Sistem ARQ menyediakan keandalan yang tinggi, tidak tergantung kualitas kanal, tetapi memiliki throughput yang tergantung pada kesalahan transmisi sehingga throughput menurun ketika tingkat kesalahan kanal tinggi karena transmisi ulang yang dilakukan terlalu sering. Sistem FEC menyediakan efisien throughput yang tetap dan tidak terpengaruh oleh kondisi kanal tetapi tergantung pada tingkat kemampuan kode. Ketika kesalahan bit informasi yang terjadi melebihi kemampuan sistem FEC tersebut seiring dengan menurunnya kualitas kanal, maka keandalan sistem berkurang. Hybrid ARQ, yaitu kombinasi antara ARQ untuk pola kesalahan yang jarang terjadi dan FEC untuk pola kesalahan yang sering terjadi, lebih efisien dibandingkan ARQ saja. Strategi kontrol kesalahan hybrid ARQ ini jelas memiliki potensi meningkatkan throughput pada sistem dua arah untuk mengatasi tingginya tingkat kesalahan bit kanal. 2.2 Kode Hamming Kode Hamming adalah tingkat pertama dari kode linier yang dirancang untuk koreksi kesalahan. Untuk sembarang bilang positif m > 41
3, ada suatu kode Hamming dengan parameter berikut: Panjang kode : n =2m – 1 Jumlah simbol informasi : k = 2m – m – 1 Jumlah simbol parity check : m = n – k Kapasitas koreksi kesalahan : t = 1 (dmin = 3) Matriks parity check H dari kode ini terdiri dari semua m–tuple bukan–nol sebagai kolomnya. Pada bentuk sistematik, kolom dari H disusun sebagai berikut: H = [ In-k PT ] = [ Im
Q ] ......................... (2.1)
Di mana Im adalah matriks identitas m x m dan submatriks Q terdiri dari k kolom yang merupakan m–tuple dengan bobot 2 atau lebih. Sebagai contoh m = 3. Matriks parity check dari kode Hamming dengan panjang kode 7 disusun dengan bentuk: ⎡1 0 0 1 0 1 1 ⎤ H = ⎢⎢0 1 0 1 1 1 0⎥⎥ ⎢⎣0 0 1 0 1 1 1⎥⎦
yang merupakan matriks parity check dari kode linier (7,4). Kolom dari Q dapat disusun dengan sembarang cara tanpa mempengaruhi sifat jarak dan bobot dari distribusi kode. Dalam bentuk sistematik, matriks pembangkit dari kode adalah: G = [QT I 2m – m – 1 ] = [P Ik] ...................... (2.2) di mana Q T = P adalah transpose dari Q dan I2m - m – 1 = Ik adalah suatu matriks identitas k x k. Kolom dari H bukan–nol dan berbeda sehingga jika dua kolom ditambahkan tidak akan menghasilkan nol. Jarak minimal dari kode Hamming adalah 3. Karena jarak minimal dari kode Hamming tepatnya adalah 3, maka kode ini memiliki kemampuan mengoreksi semua pola kesalahan dengan satu kesalahan atau mendeteksi semua pola kesalahan dengan dua kesalahan atau kurang. Distribusi bobot dari suatu kode Hamming dengan panjang n = 2m – 1 telah diketahui. Jumlah vektor kode dengan bobot i, Ai secara sederhana merupakan koefisien dari zi pada ekspansi dari polinomial berikut:
Unjuk Kerja Koreksi Kesalahan Tipe-II Hybrid ARQ dengan Menggunakan Kaskade Kode Hamming (Naemah Mubarakah)
A( z ) =
{
(
1 (1 + z )n + n(1 − z ) 1 − z 2 n +1
)(
n −1) / 2
}...........(2.3)
Polinomial ini adalah bobot enumerator untuk kode Hamming (Kausa, Maan A. and Rahman, Mushfiqur, 1991). Jika suatu kode Hamming digunakan untuk deteksi kesalahan terhadap suatu BSC, probabilitas kesalahan tak terdeteksinya, Pu (E) adalah: Pu (E) = 2-m { 1 + (2m – 1) (1 – 2p)2m-1 .........(2.4)
Mushfiqur, 1991) menggambarkan proses ini untuk dua level kaskade (M = 2). 3.2 Pendekode Kaskade Kode Hamming Penerima menerima rentetan bit yang telah dikodekan ke level ke–M dengan N(n/k)2 bit. Pada tingkat ini kesalahan bit kanal adalah ε. Kemudian penerima membagi bit yang diterima sebagai blok-blok bit dengan panjang n bit, dan sindrom dihitung dari setiap blok untuk koreksi kesalahan.
Probabilitas Pu (E) untuk kode Hamming memenuhi batas atas 2-(n-k) = 2-m untuk p< ½, yaitu Pu ( E ) < 2-m. 3.
Koreksi Kesalahan Tipe-II Hybrid ARQ Berdasarkan Kaskade Kode Hamming 3.1 Pengkode Kaskade Kode Hamming Suatu rentetan bit dengan panjang N digunakan sebagai masukan di mana rentetan itu belum dikodekan untuk koreksi kesalahan, dan N bit tersebut sebagai level ke-nol dari kaskade. Kode Hamming (n, k) tertentu digunakan untuk koreksi kesalahan di mana N bit informasi dibagi menjadi grup-grup k bit.
Gambar Pengkodean untuk dua level kaskade (Kausa, Maan A. and Rahman, Mushfiqur, 1991)
Setiap grup dengan panjang k bit kemudian dikodekan ke n bit dengan pengkode Hamming (n, k). Jumlah total bit pada tingkat ini adalah (N/k)n. Tingkat ini adalah level pertama dari kaskade. Level kedua dari kaskade dibentuk dengan membagi (N/k)n bit yang ada menjadi grup-grup lagi yang terdiri dari k bit. Bit-bit ini membentuk (N/k2)n grup yang serupa. Setiap grup dikodekan lagi menjadi n bit oleh pengkode yang sama. Pada akhir tingkat ini ada (N/k2)n2 = N(n/k)2 bit. Proses ini dilanjutkan sampai mencapai level kaskade tertentu. Gambar di atas (Kausa, Maan A. and Rahman,
Gambar Pendekatan untuk dua level kaskade (Kausa, Maan A. and Rahman, Mushfiqur, 1991)
Setelah dilakukan pengecekan tingkat pertama, penerima membuang bit cek sehingga tinggal k informasi, tetapi sekarang dengan probabilitas kesalahan bit yang berbeda, yaitu ε’. Probabilitas kesalahan bit setelah pendekodean adalah sama untuk semua posisi n pada blok, dan pembuangan bit cek tidak mengubah probabilitas kesalahan per posisi untuk bit informasi. Bit yang tersisa berhubungan dengan level ke-(M–1) dari kaskade. Penerima membagi lagi bit-bit ini menjadi blok-blok yang terdiri dari n bit, mengecek kesalahan pada setiap blok, dan membuang bit cek. Pendekodean level kaskade yang lebih rendah memiliki probabilitas kesalahan bit ε“. Proses ini berlanjut sampai penerima mendekodekan N bit informasi yang asli. Gambar di atas (Kausa, Maan A. and Rahman, Mushfiqur, 1991) menggambarkan proses pendekodean untuk dua level kaskade. 3.3 Probabilitas Kesalahan Bit yang Didekodekan Vektor kode yang didekodekan adalah salah bila paling sedikit satu bit salah, dan tidak berarti setiap bit pada vektor kode yang diterima adalah salah. Tingkat kesalahan bit setelah pendekodean ε‘ digunakan untuk menghitung kesalahan, di mana tingkat kesalahan bit kanal adalah ε. Tingkat kesalahan bit ε‘ untuk suatu kode Hamming (n, k) adalah:
Jurnal Teknik Elektro ENSIKOM Vol. 3, No. 2 – DESEMBER 2005 (39 – 49)
42
ε '=
⎤ ⎛ n⎞ 1 n ⎡ n −i ∑ ⎢(i + 1)⎜⎜ i ⎟⎟ − Ai − 2 Ai−1 (n − i + 1)⎥ . ε i ( 1 - ε ) n i =0 ⎣ ⎝ ⎠ ⎦
....(3.1)
di mana: Ai = distribusi bobot kode linier dan i = 0,…,n Misalnya untuk kode Hamming (7,4) dengan M = 1 dan ε = 10-1, didapatkan : ε’ = 0,06688 3.4 Penyebaran Bit Pengambilan keputusan yang sederhana pada level kedua dari kaskade dapat membuat k bit yang berdekatan pada suatu waktu dianggap sebagai sebuah blok. Hal ini mengakibatkan kesalahan karena pengecekan level kedua pendekodean tidak bisa memberikan keputusan yang benar tanpa rentetan yang diterima bebas dari kesalahan atau mengandung satu kesalahan per blok. Di lain pihak, jika ada kesalahan tertinggal pada grup ini dari bit-bit setelah pengecekan tingkat pertama, akan ada paling sedikit tiga kesalahan per blok, dan ini terjadi bila kanal memiliki lebih dari satu kesalahan per blok. Kebanyakan kesalahan yang tertinggal terbatas pada bagian informasi, dan pengecekan tingkat kedua tidak dapat mengoreksinya. Solusi dari masalah ini adalah menyebarkan bit cek tingkat pertama dari blok yang sama (bit interleaving). Proses ini ekuivalen dengan mengacak kesalahan setelah proses pendekodean. Pada sisi pengirim, untuk melakukan level kedua dari pengkodean, setiap k bit informasi dipilih dari k blok yang berbeda dari level pertama pengkodean. Proses ini diperlukan untuk menjaga bit informasi pada tingkat yang sama. Jika proses pengkodean kaskade diatur oleh interleaving yang sesuai, maka kesalahan bit pada setiap blok sesudah deinterleaving adalah bebas secara statistik, karena setiap bit didekodekan berasal dari blok yang berbeda. Sehingga probabilitas kesalahan bit yang didekodekan dengan dua level pendekodean adalah: ⎤ ⎛n⎞ 1 n ⎡ n −i ε ' ' = ∑ ⎢(i + 1)⎜⎜ ⎟⎟ − Ai − 2 Ai −1 (n − i + 1)⎥ . ε 'i ( 1 - ε ' ) n i =1 ⎣ ⎝i⎠ ⎦
....(3.2)
di mana ε‘ diberikan oleh persamaan (3.1). Misalnya untuk kode Hamming (7,4) dengan M = 2 dan ε’ = 0,06688, diperoleh: ε’’ = 0,033063.
43
Gambar Penyebaran 4 x 16 bit untuk dua level kaskade menggunakan kode Hamming (7,4) (Kausa, Maan A. and Rahman, Mushfiqur, 1991)
3.5 Probabilitas Pendekodean yang Tepat dari Kaskade Kode Hamming Jika k bit ditransmisikan melalui suatu BSC yang memiliki tingkat kesalahan bit ε, maka probabilitas penerimaan bit secara benar adalah: (1-ε )k .......................................................... (3.3)
Unjuk Kerja Koreksi Kesalahan Tipe-II Hybrid ARQ dengan Menggunakan Kaskade Kode Hamming (Naemah Mubarakah)
Jika digunakan kode Hamming (n,k), maka probabilitasnya menjadi:
dan PC > 1 – PE . Jika diterapkan untuk M = 2 menghasilkan:
( 1 - ε )n + n ε ( 1 - ε )n – 1
Pc,2 > 1– N 1 − (1 − ε ')n + nε ' (1 − ε ')n −1
............................................
(3.4)
Bila digunakan dua level kaskade, maka pada penerima, setelah langkah pendekodean pertama, tingkat kesalahan bit berkurang menjadi ε‘. Sehubungan adanya interleaving, diperoleh n bit independen. Probabilitas pendekodean yang tepat dari suatu blok setelah langkah pendekodean kedua adalah: (1 - ε’)n + nε’ (1 - ε’) n – 1 ..............................(3.5) Jika digunakan tiga level kaskade, maka probabilitas pendekodean yang tepat dari satu blok dengan n bit adalah: (1 - ε “) n + nε “ (1 - ε “) n – 1..........................(3.6) Di mana ε “ diperoleh dari persamaan (3.2). Teknik ini diaplikasikan pada sembarang level dari kaskade di bawah kondisi interleaving yang sempurna. Pada prinsipnya untuk sembarang level kaskade, jika dimulai dengan N bit, maka tepat sebelum langkah final pendekodean ada N/k dengan n bit yang didekodekan. Probabilitas pendekodean yang tepat dari superblok adalah Pcj, di mana bit-bit dikodekan untuk level i. Dan untuk M = 1: Pc.1 = [(1 - ε)n + nε (1 - ε)n – 1]N / k ...................(3.7) Hal ini sesuai kenyataan bahwa semua N/k sub–blok secara lengkap independen. Tetapi ini tidak berlaku untuk M > 1 karena meskipun semua n bit dalam satu blok adalah independen, bit-bit pada blok yang berbeda tergantung satu sama lain sehubungan langkah pendekodean yang lalu. Probabilitas pendekodean yang tepat dari superblok tidak dapat diperoleh dengan mengalikan masing-masing probabilitas dari sub–blok. Satu solusi untuk masalah ini adalah menggunakan batas berikut ini. Jika: Pc ≡ probabilitas pendekodean yang tepat dari suatu sub–blok PC ≡ probabilitas pendekodean yang tepat dari superblok Pe = 1 – Pc ≡ probabilitas pendekodean yang salah dari suatu sub–blok Maka: PE = probabilitas keputusan yang salah dari superblok < P e + P e . . . . + P e = ( N / k ) Pe
k
{ [
] } ...... (3.8)
Ketatnya batas ini tergantung pada nilai Pe dan jumlah sub–blok N/k. Perlu ditekankan bahwa nilai PC yang diperoleh dengan batas tersebut merupakan pendekatan konservatif dan nilai aktualnya akan selalu lebih besar. 3.6 Koreksi Kesalahan Tipe-II Hybrid ARQ Jika sistem kaskade digunakan pada skema hybrid ARQ, rentetan bit awal (N) memiliki beberapa redundant bit untuk deteksi kealahan berdasarkan kode deteksi kesalahan (n,k) yang dibangkitkan oleh suatu kode polinomial. Hal ini dibutuhkan hanya untuk suatu message pada transmisi pertamanya. Ketika penerima mendeteksi kehadiran kesalahan pada word yang diterima, penerima menyimpan word yang mengandung kesalahan pada suatu buffer, dan meminta transmisi ulang. Transmisi ulang terdiri dari superblok dari sub– blok parity check bit, yang berdasarkan pada message asli dan suatu kode koreksi kesalahan Hamming pada level pertama pengkodean. Superblok parity check bit yang diterima ini digunakan untuk mengoreksi kesalahan pada word yang mengandung kesalahan yang tersimpan pada buffer penerima. Blok yang didekodekan diperiksa kesalahannya oleh kode deteksi kesalahan. Jika koreksi kesalahan tidak berhasil, penerima penyimpan level pertama parity check bit dan meminta transmisi ulang kedua. Transmisi ulang kedua adalah superblok lainnya dari sub–blok parity check bit berdasakan message asli, bit cek level pertama seperti yang tersimpan pada pengirim, dan kode koreksi kesalahan y ang sama. Sebelum pengkodean dilakukan interleaving dan sesudahnya pendekodean dilakukan deinterleaving yang sesuai. Blok bit–cek level kedua yang diterima ini digunakan lagi untuk mengoreksi message yang mengandung kesalahan yang tersimpan pada penerima. Proses ini diulang bila perlu sampai parity check bit level ke-M ditransmisikan. Jika NAK masih dikirimkan balik dan transmisi ulang ke-(M+1) masih dibutuhkan, penerima membuang semua bit yang telah tersimpan. Kemudian pengirim mentransmisikan seluruh data seperti yang telah tersimpan pada buffer. Transmisi ulang ini terdiri dari bit
Jurnal Teknik Elektro ENSIKOM Vol. 3, No. 2 – DESEMBER 2005 (39 – 49)
44
informasi ditambah dengan parity check bit dari semua level. Transmisi ulang berikutnya dilakukan untuk seluruh message dan semua parity bit sampai ke–M . Sehingga rentetan dari transmisi ulang adalah I, P1, P2, …. ,PM, (I + P1 + P2 + . . . . +PM ), ( I + P1 + P2 + . . . . +PM ), . . . , sesuai dengan jumlah NAK yang dikirim oleh penerima. Jadi pada sistem ini, setelah transmisi ulang ke-M dilakukan pembaharuan seluruh data tanpa melalui pengkodean setingkat demi setingkat. 4.
Analisis dan Simulasi Proses Unjuk Kerja Koreksi Kesalahan Tipe-II Hybrid ARQ 4.1 Keandalan Keandalan adalah suatu ukuran kebenaran data yang diterima. Probabilitas word yang dikirim telah diterima dan mengandung kesalahan dinotasikan dengan P(E). Supaya diperoleh sistem dengan keandalan tinggi, kode deteksi kesalahan yang digunakan harus mampu membuat P(E) sangat kecil. Pada suatu sistem ARQ, P(E) adalah: P( E ) =
Pu ..............................................(4.1) Pu + Pf
di mana: Pu = Probabilitas suatu kesalahan tak terdeteksi pada n-bit word yang didekodekan. Pf = Probabilitas n-bit word yang didekodekan bebas dari kesalahan Untuk membuat P(E) sangat kecil, Pu dibuat jauh lebih kecil dibandingkan Pf. Batas Pu yang digunakan pada kebanyakan kode adalah: Pu < 2 – ( n - k ) ...............................................(4.2) di mana: n = Panjang bit vektor kode = 7 k = Panjang bit massage = 4 Misalnya untuk kode Hamming (7,4) diperoleh: Pu < 0,125. Batas ini adalah batas yang sederhana menurut Korzhik. Beberapa kode bahkan memiliki batas yang lebih ketat yaitu:
[
]
Pu ≤ 2 − ( n−1) 1 + (1 − 2 ε ) n − 2 (1 − ε ) n .............. (4.3)
batas 45
Jika kode yang memenuhi salah satu dari tersebut digunakan untuk deteksi
kesalahan, probabilitas suatu kesalahan tidak terdeteksi dapat dibuat sangat kecil dengan menggunakan jumlah parity bit yang tidak terlalu banyak. 4.2 Analisis Throughput Pada sistem ini diasumsikan kanal transmisi memiliki kesalahan acak dengan tingkat kesalahan bit (Bit Error Rate [BER]) ε, dan kanal umpan balik bebas dari kesalahan. Karena SR ARQ adalah skema ARQ yang paling efisien, maka analisis throughput dilakukan untuk sistem kaskade dengan SR ARQ. Throughput dari skema ini diasumsikan penerima memiliki buffer tanpa batas. Untuk menghitung throughput, terlebih dahulu ditentukan jumlah rata-rata bit yang perlu ditransmisikan sebelum N bit informasi berhasil diterima oleh penerima. Jika jumlah ini adalah T, maka throughput η adalah: η=
N T
........................................................... (4.4)
Jika sampai dilakukan transmisi ke-i, i = 0, 1, 2,... (di mana i = 0 adalah transmisi pertama), dan: Ec,i = penerima menerima blok dengan tepat Ed,I = penerima mendeteksi kesalahan dan meminta transmisi ulang Ee,I = penerima tidak mendeteksi adanya kesalahan maka: Pr (Ec,i) + Pr (Ed,i) + Pr(Ee,i) = 1 i = 0, 1, 2,.. .... (4.5) Jika diasumsikan Pr(Ee,i) = 0, maka untuk level M = 2: a. Pr (Ec,3) = Pr (Ec,4) = . . .= Pc,2 ............... (4.6) Dan akibatnya: Pr (Ed,3) = Pr (Ed,4) = ... = 1 - Pc,2 = Pd,2 . (4.7) b. Kejadian ini antara satu sama lain dan kejadian sebelumnya adalah bebas statistik. Sehingga jumlah rata-rata transmisi V adalah: V = 1.Pr(Ec,0) + 2.Pr (Ed,0 Ec,1) + 3.Pr(Ed,0 Ed,1 Ec,2) + 4.Pr (Ed,0 Ed,1 Ec,2)Pc,2 + 5.Pr(Ed,0 Ed,1 Ec,2)Pd,2Pc,2 + 6 . Pr (Ed,0 Ed,1 Ec,2)P2d,2Pc,2 + … .............................. (4.8) Jika dilakukan evaluasi probabilitas di atas dengan memasukkan persamaan lain: a. Pr(Ec,0) atau Pc,0 diberikan oleh persamaan: Pc,0 = (1 – ε)N ......................................... (4.9) b. Pr(Ed,0 Ec,1) = Pr(Ec,1|Ed,0) Pr(Ed,0) ........ (4.10) Pr(Ec,1|Ed,0) adalah probabilitas dari pendekodean yang tepat pada level pertama,
Unjuk Kerja Koreksi Kesalahan Tipe-II Hybrid ARQ dengan Menggunakan Kaskade Kode Hamming (Naemah Mubarakah)
jika terdeteksi suatu kesalahan pada data informasi. Probabilitas ini dihitung sebagai: Pr(Ec,1|Ed,0) = [(probabilitas pendekodean yang tepat pada tingkat ini) – (probabilitas pola yang dapat dikoreksi yang tidak terjadi karena sudah dikoreksi pada transmisi sebelumnya)]/(probabilitas pola yang dapat terjadi pada tingkat ini). Untuk kode Hamming (n,k) probabilitas Pr(Ec,1|Ed,0) adalah:
[(1 - ε )
n
] [ k
+ nε (1 - ε ) n -1 − (1 − ε ) n + (n − k ) ε (1 − ε ) n −1 1 − (1 − ε ) k
Jika sejumlah B blok dengan k bit digunakan sebagai bit informasi pada rentetan awal, maka blok-blok ini bebas statistik setelah pendekodean, sehingga Pr( E c,1 | E d,0 ) dipeoleh:
] ⎫⎪⎬ k
B
⎪⎭
(4.12) c. Probabilitas berikutnya adalah: Pr(Ed,0 Ed,1 Ec,2) = Pr(Ed,0) Pr(Ed,1| Ed,0). Pr(Ec,2| Ed,0 Ed,1) .....................................(4.13) Faktor persamaan tersebut adalah : Pr(Ed,0) = 1 - Pc,0 ...................................(4.14) Pr(Ed,1| Ed,0) = 1 – Pr(Ec,1| Ed,0) ..............(4.15) Yang diperoleh dari persamaan (4.9) dan (4.12) Faktor persamaan berikutnya menggunakan batas: B Pr(Ec,2| Ed,0 Ed,1) > ⎧⎪ Pc , 2 − Pc,1 ⎫⎪ ...............(4.16) ⎨ ⎬ ⎪⎩ 1 − Pc ,1 ⎪⎭
d. Probabilitas dari faktor persamaan yang terakhir adalah: Pr(Ed,0 Ed,1 Ed,2) = Pr(Ed,0) Pr(Ed,1| Ed,0). Pr(Ed,2| Ed,0 Ed,1) ....................................(4.17) di mana: Pr(Ed,2| Ed,0 Ed,1) = 1 – Pr(Ec,2| Ed,0 Ed,1) (4.18) < 1 - ⎧⎪⎨ Pc , 2 − Pc ,1 ⎫⎪⎬
⎝k⎠
Untuk i > M, pengirim akan mentransmisikan semua bit cek seperti yang telah tersimpan sebagai tambahan bagi bit informasi, sehingga:
⎝k⎠
2
] [
⎝k⎠
M
k
(4.11)
[
i −1
ℓi = N ⎛⎜ n ⎞⎟ ⎛⎜ m ⎞⎟ i < M ............................. (4.19)
ℓi = N ⎛⎜ n ⎞⎟ i > M ...................................... (4.20)
]
2
⎧⎪ (1 - ε ) n + nε (1 - ε ) n -1 k − (1 − ε ) n + (n − k ) ε (1 − ε ) n −1 ⎨ 2 1 − (1 − ε ) k ⎪⎩
check bit, panjang bit transmisi ulang ke-i, ℓi, adalah:
B
⎪⎩ 1 − Pc ,1 ⎪⎭
Untuk mengevaluasi throughput dari sistem, harus dilakukan perhitungan panjang bit dari setiap transmisi. Panjang bit transmisi pertama adalah N bit. Ketika digunakan suatu kode Hamming (n,k), dengan m = n - k parity
Pada kasus ini, penerima hanya tergantung pada blok yang sekarang diterima, dan mengabaikan semua bit sebelumnya. Kemudian, untuk M = 2: ⎡ m m ⎛ n ⎞⎤ ⎡ m⎤ T = NPc ,0 + N ⎢1 + ⎥. Pr (E d , 0 Ec ,1 ) + N ⎢1 + + ⎜ ⎟⎥. Pr (E d , 0 E d ,1 Ec , 2 ) k ⎣ ⎦ ⎣ k k ⎝ k ⎠⎦
⎡ m m ⎛ n ⎞ ⎛ n ⎞2 ⎤ + N ⎢1 + + ⎜ ⎟ + ⎜ ⎟ ⎥ Pr (E d ,0 E d ,1 E d , 2 )Pc , 2 ⎣⎢ k k ⎝ k ⎠ ⎝ k ⎠ ⎦⎥ ⎡ m m ⎛ n ⎞ ⎛ n ⎞2 ⎤ + N ⎢1 + + ⎜ ⎟ + 2⎜ ⎟ ⎥ Pr (E d ,0 E d ,1 E d , 2 )Pd , 2 Pc , 2 + . . . ⎢⎣ k k ⎝ k ⎠ ⎝ k ⎠ ⎥⎦ ⎧ ⎡ m m ⎛ n ⎞⎤ ⎡ m⎤ T = N ⎨Pc,0 + ⎢1 + ⎥. Pr(Ed ,0 Ec,1 ) + ⎢1 + + ⎜ ⎟⎥. Pr(Ed ,0 Ed ,1 Ec,2 ) ⎣ k⎦ ⎣ k k ⎝ k ⎠⎦ ⎩ 2 ⎛ 1 ⎞⎫⎪ [1] ⎡ m m ⎛ n ⎞⎤ ⎛n⎞ ⎟⎬ + ⎢1 + + ⎜ ⎟⎥ Pr(Ed ,0 Ed ,1Ed ,2 ) + ⎜ ⎟ Pr(Ed ,0 Ed ,1Ed ,2 )⎜⎜ ⎟ ⎝k ⎠ ⎣ k k ⎝ k ⎠⎦ ⎝ Pc,2 ⎠⎪⎭
(4.21) Kemudian throughput η dapat dihitung dengan harga T pada persamaan (4.21). Panjang bit transmisi ulang dengan digunakannya kode Hamming (7,4) dan panjang informasi N = 16 bit adalah ℓ1 = 12, ℓ2 = 21 dan ℓ3 = 49 bit. Misalnya bila digunakan kode Hamming (7,4), level kaskade M = 2, jumlah bit informasi 4x16 bit dan BER = 10-1, sehingga n = 7, k = 4, ε = 10-1 dan N = 64. Komponen-komponen dari persamaan (4,21) adalah: Pc,0 = 0,4782969 Pr(Ed,0 Ec,1) = 0,01931211412 Pr(Ed,0 Ed,1 Ec,2) ≈ 0,02511954929 Pr(Ed,0 Ed,1 Ed,2) ≈ 0,4772714366 Pc,2 = (1- ε’’)n = 0,7902913933 Jumlah rata-rata bit yang ditransmisikan adalah: T = 249,6105789 ≈ 250 bit Dan throughput-nya adalah η = N = 64 = 0,256 T
250
4.3 Perancangan Simulasi Proses Program simulasi proses digunakan untuk menggambarkan proses pengkodean, transmisi
Jurnal Teknik Elektro ENSIKOM Vol. 3, No. 2 – DESEMBER 2005 (39 – 49)
46
data, deteksi kesalahan, transmisi ulang (ARQ), koreksi kesalahan (FEC), dan pendekodean.
sesuai dengan digunakan.
4.3.1 Menu Masukan Masukan bit informasi berjumlah 4 x 16 bit dengan proses masukan dilakukan secara acak (random), bit 0 atau bit 1 seluruhnya. Masukan tingkat kaskade (level pengkodean) dibatasi untuk M = 1 dan M = 2, di mana bit informasi sebelum pengkodean dihitung sebagai level M = 0. Fungsi masukan lain adalah tingkat kesalahan bit ε (BER) dengan harga 10-6 sampai 10-1.
4.3.5 Diagram Blok Program Simulasi Proses
4.3.2 Pegkodean dan Interleaving Level pengkodean yang digunakan berdasarkan masukan yang telah dilakukan sebelumnya, dengan level maksimal M = 2. Pada proses pengkodean ini digunakan kode Hamming (7,4) dengan matriks pembangkit G. Pada masing-masing tingkat kaskade dilakukan proses penyebaran bit (interleaving) yang sesuai. Juga dilakukan penghitungan jumlah total bit T yang telah ditransmisikan, untuk keperluan menghitung throughput. 4.3.3 Transmisi Data Pada proses transmisi data dilakukan suatu proses acak untuk membuat beberapa bit mengalami kesalahan. Jumlah bit yang salah disesuaikan dengan fungsi masukan tingkat kesalahan bit ε (BER). Bit-bit yang ditransmisikan adalah bit informasi ditambah beberapa redundant bit untuk deteksi kesalahan berdasarkan kode deteksi kesalahan (7,4) yang dibangkitkan oleh kode polinomial g(X) = 1 + X + X3 .
tingkat
kaskade
M
yang
Gambar Diagram blok simulasi proses kaskade kode Hamming untuk koreksi kesalahan tipe-II hybrid ARQ
4.3.6 Diagram Alir Program Simulasi Proses Pada diagram alir program simulasi proses, mula-mula dimasukkan tingkat level kaskade. Dalam hal ini simulasi proses-proses hanya menggunakan level kaskade tingkat 1 dan 2 saja. Kemudian dimasukkan tingkat kesalahan BER, dalam hal ini BER dibatasi antara 10-1 – 10-6. Proses acak 64 bit informasi dikodekan dengan menggunakan generator hamming. Pada pentransmisian diberikan error yang acak yang sesuai dengan tingkat BER. Sebelum didekodekan, dilakukan pengecekan. Jika terdapat kesalahan pada data transmisi, dilakukan perbaikan dengan koreksi kesalahan FEC, apabila koreksi kesalahan FEC tidak mampu untuk memperbaiki kesalahan, maka akan dilakukan koreksi kesalahan SR-ARQ. Sehingga akan diperoleh throughput dan keandalan yang tinggi.
4.3.4 Pendekodean dan De-interleaving Pada bit-bit yang telah diterima dilakukan proses deteksi dan koreksi kesalahan. Matriks parity check H yang digunakan oleh kode Hamming (7,4). Pengoreksi kesalahan dilakukan berdasarkan penjumlahan biner antara vektor r yang diterima dengan vektor kesalahan e, v = r + e. Untuk suatu kesalahan yang terdeteksi tetapi tidak dapat dikoreksi, dilakukan suatu prosedur SR-ARQ, seperti tersebut pada bagian 3.6. Pada bagian penerima, diasumsikan kapasitas buffer tanpa batas dan kanal umpan balik untuk mengirim acknowledgment tanpa derau. Setelah dilakukan proses ARQ dan FEC, sehingga vektor-vektor yang diterima dianggap telah bebas dari kesalahan, maka dilakukan proses pendekodean dan de-interleaving yang 47
Unjuk Kerja Koreksi Kesalahan Tipe-II Hybrid ARQ dengan Menggunakan Kaskade Kode Hamming (Naemah Mubarakah)
Gambar Diagram alir simulasi proses kaskade kode Hamming untuk koreksi kesalahan tipe-II hybrid ARQ
4.3.7 Hasil Simulasi Proses Pada bagian ini diperoleh 4 x 16 bit informasi. Untuk mengetahui kondisi dan unjuk kerja setiap dilakukan eksperimen terhadap simulasi proses, maka dibuat satu laporan hasil simulasi proses dan parameter yang digunakan pada simulasi proses tersebut. Hal-hal yang ditampilkan pada laporan tersebut adalah tingkat kaskade M yang digunakan, tingkat kesalahan bit ε (BER), keandalan dan throughput η, yaitu: Keandalan
= (bit informasi yang benar) (jumlah bit informasi)
sistem ini hanya memiliki throughput lebih rendah dari sistem Hamming (7,4) dengan M = 1. Sistem dengan tingkat kaskade M = 1 memiliki keandalan satu hanya sampai pada BER = 7,5.10-2. Sedangkan sistem dengan tingkat kaskade M = 2 andal dalam mengoreksi kesalahan bit sampai pada BER = 8.10-2. Hal ini menunjukkan bahwa sistem Hamming (7,4) dengan tingkat kaskade M = 2 memiliki keandalan lebih tinggi daripada sistem Hamming (7,4) dengan tingkat kaskade M = 1. Dengan demikian tingkat kaskade yang efisien dan efektif adalah M = 1 pada BER < 7,5.10-2, dan M = 2 pada 7,5.10-2 < BER < 8.10-2. Sedangkan pada BER > 8.10-2 sistem dengan tingkat kaskade M = 1 maupun M = 2 tidak cukup andal dalam mengoreksi kesalahan bit. Karena tidak dilakukan simulasi proses untuk tingkat kaskade M > 2, maka tidak diketahui dibutuhkannya tingkat kaskade M > 2 pada BER > 8.10-2 untuk mendapatkan tingkat keandalan yang tinggi. 5. 1.
2.
3.
Throughput: η = (jumlah bit informasi) (total bit ditransmisikan) 4.4 Analisis Unjuk Kerja Hasil Program Simulasi Proses Program simulasi proses ini digunakan untuk penghitungan unjuk kerja (keandalan dan throughput) tipe-II hybrid ARQ (adaptive ARQ) berdasarkan kaskade kode Hamming (7,4). Untuk mengetahui unjuk kerja sistem ini, dilakukan beberapa percobaan simulasi proses yang mencakup throughput dan keandalan. Dari hasil simulasi diperoleh bahwa pada BER 10-6 sampai dengan 7,5.10-5, sistem Hamming (7,4) dengan M = 2 memberikan throughput yang setara sistem Hamming (7,4) dengan M = 1. Sedangkan pada BER > 7,5.10-5,
Kesimpulan Keterbatasan unjuk kerja (throughput dan keandalan) ARQ dan FEC dapat diatasi dengan koreksi kesalahan tipe-II hybrid ARQ yang menggunakan kaskade kode Hamming. Tingkat kaskade kode Hamming yang efisien dan efektif untuk koreksi kesalahan tipe-II hybrid ARQ (adaptive ARQ) dalam mengatasi perubahan tingkat kesalahan bit adalah M = 1 pada BER < 7,5.10-2 dan M = 2 pada 7,5.10-2 < BER < 8.10-2. Pada koreksi kesalahan tipe-II hybrid ARQ, penggunaan FEC dan ARQ yang bersamaan mengakibatkan sistem memiliki throughput dan keandalan yang lebih baik daripada penggunaan sistem ARQ atau FEC saja.
Daftar Pustaka Andrew S. Tanenbaum, “Jaringan Komputer”, Edisi Bahasa Indonesia dari Computer Network Edisi III, Prenhallindo, Jakarta. Kausa, Maan A. and Rahman, Mushfiqur, “An Adaptive Error Control Scheme Using Hybrid ARQ Schemes”, IEEE Trans.Commun, Vol.39 No.7, July 1991. Law,
Averill M. and Kelton, W.David, “Simulation Modeling & Analysis”, McGraw-Hill, Inc, 1991.
Jurnal Teknik Elektro ENSIKOM Vol. 3, No. 2 – DESEMBER 2005 (39 – 49)
48
Lin, Shu and Yu, Philip S., “A Hybrid ARQ Scheme with Parity Retransmission for Error Control of Satellite Channels”, IEEE Trans. Commun.vol.COM-30 no.7, July 1982. Lin, Shu and Costello, Daniel J., Jr., “Error Control Coding, Fundamentals and Applications”, Prentice Hall, New Jersey, 1983. Lin, Shu, Costello, Daniel J. and Miller, Michael J., “Automatic-Repeat-Request Error-Control Shemes”, IEEE Commun. Magazine, vol.22 no.12, December 1984. Poli,
Alain and Huguet Llorenc, “Error Correcting Codes, Theory and Applications”, Prentice Hall, Masson, 1992.
Stallings, William, “Data and Computer Communication”, Macmillan, New York, 1985. Yu, Philip S. and Lin, Shu, “An Efficient Selective-Repeat ARQ Scheme for Satellite Channels and Its Throughput Analysis”, IEEE Trans. Commun, vol.COM-29 no.3, March 1981.
49
Unjuk Kerja Koreksi Kesalahan Tipe-II Hybrid ARQ dengan Menggunakan Kaskade Kode Hamming (Naemah Mubarakah)