Channel Coding dan Decoding Block Coding

Download Report

Transcript Channel Coding dan Decoding Block Coding

Channel Coding dan
Decoding- Block Coding
By Teddy Purnamirza, ST, MEng
Diagram pengirim dan Penerima
Single Parity Block Coder





K bit menjadi k+1 bit
Total penjumlahan modulo 2 seluruh k+1 bit harus 0
(disebut pariti genap)
Total penjumlahan modulo 2 seluruh k+1 bit harus 1
(disebut pariti ganjil)
Misal dikirim bit 101, digunakan pariti genap maka
dihasilkan bit 1010 karena 1+0=1+1=0+0=0
Tidak bisa mendeteksi posisi error (tidak bisa
mengkoreksi error)
Con’t




Pada channel decoder akan dilihat apakah bit
yang diterima memiliki penjumlahan modulo
2 bernilai 0 atau tidak
Jika 0 maka tidak ada bit yang salah, jika 1
maka terdapat bit yang salah
Misal diterima bit 1011 maka
1+0=1+1=0+1=1, berarti bit mengalami error
Single parity check bit hanya bisa mendeteksi
error yang yang berjumlah ganjil dan tidak
bisa untuk error yang berjumlah genap
Latihan

Tentukan output dari parity check bit dengan
input 3 bit dan output 4 bit, asumsikan bit
input adalah 001110, jika terjadi error pada bit
pertama dan kedua, bisakah penerima
mendeteksi terjadinya error?
Rectangular code



Mengubah serial bit menjadi bentuk matrik
Bit pariti kemudian diberikan untuk tiap baris
dan kolom, selanjutnya bit dikirim secara
serial kembali
Misalkan:
Con’t




Pada penerima, deretan bit serial kemudian diubah menjadi
matrik kembali
Dilakukan perhitungan modulo 2 untuk tiap baris dan tiap
kolom, jika terjadi error maka hasil penjumlahan modulo 2
adalah 1 sedangkan jika tidak ada error maka hasil
penjumlahan modulo 2 adalah 0
Dapat ditentukan posisi error dengan melihat baris dan kolom
yang error
Misalnya:
Latihan

Tentukan bit yang dihasilkan oleh rectangular
code 4x4 untuk bit 1110101000011101, jika
terjadi kesalahan pada bit ke 5, perlihatkan
bagaimana rectangular decoder dapat
menentukan posisi bit yang salah
Linear Block Code

Salah satu bentuk channel coder 3 bit ke 6 bit

Bentuk lain channel coder 3 bit ke 6 bit
Cont’


Linear block code adalah satu kelompok block coder
yang mengikuti aturan mengenai kelompok output
yang digunakan
Defenisi: misalkan untuk block coder (6,3):



Vn kelompok semua kemungkinan 6 bit ( ada 64
kemungkinan)
U kelompok dari delapan kemungkinan output 6 bit
Aturannya adalah:


U harus berisikan {000000}
Melakukan penjumlahan modulo 2 setiap komponen U
dengan komponen U akan menghasilkan komponen U
yang lain
Cont’

Apakah berikut ini linear block coder

Terdapat komponen {000000} pada U
Penjumlahan modulo 2 dua komponen U
akan menghasilkan komponen lain, misalnya
komponen U ke 3 dengan ke 7 akan
menghasilkan komponen U ke 5

Latihan

Apakah berikut ini merupakan linear block
code?
Cont’

Yang perlu dilakukan hanya sederhana yaitu mengacu kepada
sebuah tabel look up

Tetapi bagaimana jika kita melakukan linear block code untuk 92
bit input menjadi 127 bit
Tentu saja kita memerlukan 292 kemungkinan bit input sehingga
memerlukan tabel look up yang sangat besar dan mahal
Cara lain adalah dengan menggunakan matrik, dimana U dapat
dihasilkan dari perkalian m dengan sebuah matrik generator,
misal m (101) dapat menghasilkan u (011101) dengan
melakukan u=mG


Cont’

Misalkan dimiliki
Misalkan m=(101)

Maka U= mG =

Jika kita bandingkan input memiliki nilai yang sama
dengan 3 bit output terakhir

Cont’





Tidak semua linear block code memiliki sifat diatas
Jika memiliki sifat ini, maka disebut systematic linear block
code
Lebih diinginkan menggunakan systematic linear block code
karena murah dan sederhana
U=mG, jika kita tahu 3 bit input maka kita dengan mudah
dapat mengetahui G yaitu:
Ini berarti yang perlu disimpan hanya nilai matrik P
Latihan

Benar atau salah pernyataan berikut:
G diatas merupakan G untuk tabel linear
block code diatas
Jawaban

Ya benar, karena setiap input m, menggunakan
generator G diatas kita mendapatkan output u yang
sesuai dengan tabel diatas
Decoding untuk linear block

Misalkan untuk linear block code berikut:

Misalnya dikirim bit 011101 (bit informasi 101), ini bisa tiba di
decoder dalam keadaan benar (011101) atau error (misalnya
111101)
Tugas decoder adalah menemukan 3 bit informasi, (dalam
contoh ini 101), jika ada error maka tugasnya bertambah
untuk memperbaiki error, dan menemukan 3 bit informasi

Cont’

Bagaimana decoder bekerja?
Misalkan yang diterima decoder adalah data salah 111101, decoder
memeriksa kedalam tabel, karena tidak terdapat didalam tabel maka
dianggap data error, kemudian decoder akan memeriksa 8 data dalam
tabel yang paling mendekati 111101, akan didapatkan data 011101
(karena cuma beda 1 bit), dengan ini decoder dapat menentukan bit
informasi adalah 101
Cara kerja decoder diatas dapat direpresentasikan dalam matematika
Disamping generator matrik G juga terdapat istilah parity matrik H,
dimana memiliki hubungan GH=0
Karenanya:

Coba cek apakah GH=0 ?




Cont’




Misalnya kita kirimkan u = mG =011101
Kasus 1 tidak ada error, maka data diterima
v=u=mG=011101,dalam kasus ini didapat:
vH=uH=mGH=m0=0
Kasus 2 terjadi error,dimana data terima v=111101,
v=u+e, u=011101, e=100000,maka
vH=uH+eH=mGH+eH=m0+eH=0+eH=eH= (100000)
H, dimana hasilnya tidak 0
Maka disimpulkan jika vH= 0 maka tidak ada error,
jika vH tidak sama dengan 0 maka terjadi error
Latihan

Tentukan apakah G berikut adalah benar untuk H
berikut:

Jawab

Karena hasil GH=0 maka G diatas benar untuk H
diatas
Bagaimana koreksi error?




Misalkan dikirim u=(011101), dan terdapat error
e=(100000), mengakibatkan data diterima
dipenerima v=(111101), maka vH=(100)
Maka hasil kali vH=(100) berhubungan dengan error
e=(100000)
Dengan kata lain jika kita dapat mencocokkan error
dengan hasil kali vH, maka kita dapat melakukan
koreksi error
Maka didefenisikan syndrom error sebagai vH=S
Cont’
Berikut adalah yang harus dilakukan oleh channel
decoder:
Untuk masing-masing kemungkinan e, tentukan
error yang mana yang terjadi, lakukan hal ini
seperti berikut, (menggunakan contoh (6,3))





1.a Nilai S=(000) berarti tidak terjadi error, ini berarti
terdapat 8-1=7 kemungkinan error
1.b Mulai dengan error yang paling sering terjadi, dalam
hal ini adalah 1 bit error, e1=(100000), e2=(010000),
e3=(001000), e4=(000100), e5=(000010), e6=(000001),
untuk masing2 error ini temukan nilai S nya, maka
didapatkan S1, S2, S3… S6.
1.c Masih terdapat satu S untuk dua error yang terjadi,
misalnya e7=101000, menghasilkan S7
Cont’

Dihasilkan tabel berikut

Misal:dikirim u=101110,diterima
v=u+e=u+(100000)=(001110), dihitung vH=S=(100),
dengan melihat tabel diatas bisa ditentukan bahwa
error e adalah (100000), dan decoder dengan
mudah dapat menentukan 3 bit informasi yaitu 110
Latihan
Jawaban
• Kasus I, tidak ada error, e=(0000)
•Kasus 2, terdapat 1 error, e=(0001)
•Kasus 3, terdapat 1 error, e=(0010)
•Kasus 4, terdapat 1 error, e=(0100)
•Kita dapatkan hubungan sindrom
error (S) dan error (e) seperti berikut:
Unjuk Kerja block coder



Pm adalah kemungkinan channel decoder gagal mendeteksi error
P adalah kemungkinan channel decoder gagal mengkoreksi error
Pada Single Parity check bit, bit yang diterima n= k+1, akan
selalu gagal mendeteksi error jika jumlah bit error genap
 Maka




P(j,n) adalah kemungkinan memiliki j bit error dari blok n bit
Menggunakan statistika kita dapatkan
Dimana
adalah
, dimana p adalah kemungkinan bit
error ketika bit keluar dari channel coder sampai ke channel
decoder
Karena metode single parity check bit tidak bisa mengkoreksi
error maka kemungkinan P=1
Cont’

Rectangular check code hanya bisa mengkoreksi 1
error bit, tidak bisa lebih


Maka
Linear block code: jumlah bit yang bisa dikoreksi
adalah t

Dimana

Dimana dmin adalah salah satu dari kemungkinan output
yang memiliki jumlah bit 1 paling sedikit, dan [ ] adalah nilai
yang dibulatkan kenilai integer terdekat
Cont’




Contoh chanel coder :
Output dgn bit 1 paling
sedikit adalah 000111
Maka dmin=3, maka
t=[(3-1)/2]=1, ini berarti
selalu mampu mengkoreksi 1 bit
error, mungkin saja mampu mengkoreksi 2 error tapi
tidak selalu mampu
Kemungkinan tidak mampu mengkoreksi error :
Contoh

Dalam sebuah sistem komunikasi,
kemungkinan terjadi error adalah 1%, hitung:


Hitung Pm untuk parity check coder ¾
Hitung P untuk linear block code 5/10 (asumsi
t=2)
Jawaban
Untuk parity bit coder
Untuk linear block coder
Keuntungan dan Harga block coder



Keuntungannya kita dapat mendeteksi dan
mengkoreksi error
Adakah harga yang harus dibayar?
Lihat diagram berikut
Cont’




Tanpa channel coder bandwidth sinyal
BW=1/T
Dengan menggunakan channel coder maka
BW=2/T
Maka channel coder memperlebar BW sinyal
Maka kemampuan deteksi dan koreksi error
dibayar dengan melebarnya bandwidth sinyal
PR
PR