1 / 35

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)

ena
Download Presentation

Channel Coding dan Decoding- Block Coding

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Channel Coding dan Decoding- Block Coding By Teddy Purnamirza, ST, MEng

  2. Diagram pengirim dan Penerima

  3. 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)

  4. 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

  5. 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?

  6. Rectangular code • Mengubah serial bit menjadi bentuk matrik • Bit pariti kemudian diberikan untuk tiap baris dan kolom, selanjutnya bit dikirim secara serial kembali • Misalkan:

  7. 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:

  8. 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

  9. Linear Block Code • Salah satu bentuk channel coder 3 bit ke 6 bit • Bentuk lain channel coder 3 bit ke 6 bit

  10. 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

  11. 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

  12. Latihan • Apakah berikut ini merupakan linear block code?

  13. 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

  14. Cont’ • Misalkan dimiliki • Misalkan m=(101) • Maka U= mG = • Jika kita bandingkan input memiliki nilai yang sama dengan 3 bit output terakhir

  15. 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

  16. Latihan • Benar atau salah pernyataan berikut: G diatas merupakan G untuk tabel linear block code diatas

  17. Jawaban • Ya benar, karena setiap input m, menggunakan generator G diatas kita mendapatkan output u yang sesuai dengan tabel diatas

  18. 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

  19. 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 ?

  20. 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

  21. Latihan • Tentukan apakah G berikut adalah benar untuk H berikut: • Jawab • Karena hasil GH=0 maka G diatas benar untuk H diatas

  22. 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

  23. 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

  24. 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

  25. Latihan

  26. 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:

  27. 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

  28. 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

  29. 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 :

  30. 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)

  31. Jawaban Untuk parity bit coder Untuk linear block coder

  32. Keuntungan dan Harga block coder • Keuntungannya kita dapat mendeteksi dan mengkoreksi error • Adakah harga yang harus dibayar? • Lihat diagram berikut

  33. 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

  34. PR

  35. PR

More Related