Pengkodean dan Error Control
Tujuan Menghitung probabilitas error dalam transmisi data pada komunikasi wireless Menguraikan mekanisme pendeteksian error Menjelaskan kesalahan transmisi dalam komunikasi wireless
Mengatasi kesalahan (error) dalam transmisi Mendeteksi error Mendeteksi adanya kesalahan (error) Mengkoreksi error, dengan forward correction codes (FEC) Didesain untuk mendeteksi dan mengkoreksi error Umumnya digunakan dalam jaringan wireless Protokol Automatic Repeat Request (ARQ) Digunakan dalam kombinasi deteksi / koreksi error Blok data yang mengandung error dibuang Transmitter mengirim kembali blok data yang dibuang tersebut
Probabilitas Pendeteksian Error With no error detection F: Jumlah bit per frame Pb: Probabilitas terdapat bit yang salah/error (BER – Bit Error Rate) P1: Probabilitas sebuah frame diterima tanpa adanya bit yang salah / error P2: Probabilitas sebuah frame diterima dengan adanya satu atau lebih bit error yang tidak terdeteksi P3: Probabilitas sebuah frame diterima dengan adanya satu atau lebih bit error yang terdetesi dan tidak ada bit error yang tidak terdeteksi
Proses pendeteksian error Transmitter (Pengirim) Pada sebuah frame, sebuah kode deteksi error (bit cek) dihitung dari bit data Bit cek ditambahkan ke bit data Receiver (Penerima) Memisahkan frame yang diterima menjadi bit data dan bit cek Menghitung bit cek dari bit data yang diterima Membandingkan bit cek yang telah dihitung dan yang diterima Jika tidak sama, maka terdapat error
Proses Pendeteksian Error (cont)
Cek Paritas Bit paritas ditambahkan pada sebuah blok data Paritas genap Bit yang ditambahkan harus menggenapkan jumlah bit 1 Paritas ganjil Bit yang ditambahkan harus mengganjilkan jumlah bit 1 Contoh, karakter 7-bit [1110001] Paritas genap [11100010] Paritas ganjil [11100011]
Cyclic Redundancy Check (CRC) Transmitter Untuk sebuah blok k-bit, transmitter menghasilkan sebuah frame check sequence (FCS) berukuran (n-k)-bit Frame n bit yang dihasilkan dapat dibagi oleh angka yang telah ditentukan Receiver Membagi frame yang datang dengan angka yang telah ditentukan Jika tidak terdapat sisa pembagian, dapat diasumsikan bahwa tidak ada error
CRC menggunakan Modulo 2 Arithmetic Menggunakan operasi Exclusive-OR (XOR) Parameter: T = Frame n-bit yang akan dikirim D = blok data k-bit; k bit pertama dari T F = FCS (n – k)-bit; (n – k) bit terakhir dari T P = pola n–k+1 bit; pembagi Q = Quotient (hasil bagi) R = Remainder (sisa hasil bagi)
CRC menggunakan Modulo 2 Arithmetic (cont) Mula-mula Bagi 2n-kD dengan P menghasilkan hasil bagi dan sisa hasil bagi Gunakan sisa hasil bagi sebagai FCS
CRC menggunakan Modulo 2 Arithmetic (cont) Contoh: Pesan: D = 1010001101 (10 bit) Pola: P = 110101 (6 bit) FCS: R = akan dikalkulasi (5 bit) Sehingga: n = 15; k = 10; (n-k) = 5 Pesan dikali dengan 25 menghasilkan 101000110100000 Kemudian dibagi P
CRC menggunakan Modulo 2 Arithmetic (cont) Contoh (lanjutan):
CRC menggunakan Modulo 2 Arithmetic (cont) Contoh (lanjutan): Sisanya (R) ditambahkan ke 25D sehingga T = 2n-kD + R = 101000110101110 yang kemudian ditransmisikan. Jika tidak ada error, maka receiver menerima T secara utuh. Frame T yang diterima kemudian dibagi dengan P untuk mendapatkan pesan aslinya, dalam hal ini hasil bagi antara T dan P.
CRC menggunakan Modulo 2 Arithmetic (cont)
CRC Menggunakan Polynomial Semua nilai diekspresikan sebagai polynomial Variabel X dengan koefisien biner
CRC Menggunakan Polynomial Versi P(X) yang biasa digunakan CRC–12 X12 + X11 + X3 + X2 + X + 1 CRC–16 X16 + X15 + X2 + 1 CRC – CCITT X16 + X12 + X5 + 1 CRC – 32 X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1
CRC Menggunakan Logika Digital Rangkaian pembagi yang terdiri atas: Gerbang XOR Sekitar n – k gerbang XOR Sebuah gerbang mewakili sebuah bagian dalam persamaan pembagi polynomial P(X) Sebuah shift register Perangkat penyimpan 1-bit string Register mengandung n – k bit, sama dengan ukuran FCS
CRC Menggunakan Logika Digital
Kesalahan Transmisi pada Jaringan Wireless Deteksi kesalahan membutuhkan transmisi kembali (retransmisi) Deteksi saja tidak cukup untuk aplikasi wireless Laju error pada link wireless dapat sangat tinggi, menyebabkan jumlah retransmisi yang besar Delay propagasi yang lama yang disebabkan oleh waktu transmisi yang lama pula
Block Error Correction Codes Transmitter Encoder Forward error correction (FEC) memetakan setiap blok k-bit menjadi blok code word n-bit Code word kemudian ditransmisikan; analog untuk transmisi wireless Receiver Sinyal yang datang kemudian didemodulasi menghasilkan code word Code word kemudian melalui Decoder FEC untuk mendeteksi error
Hasil Decoder FEC Tidak ada error ditemukan Codeword yang diproduksi oleh decoder cocok dengan codeword yang asli Decoder mendeteksi dan mengkoreksi bit yang error Decoder mendeteksi namun tidak dapat mengkoreksi bit yang error; dilaporkan sebagai uncorrectable error Decoder tidak mendeteksi bit yang error, meski terdapat error
Prinsip-prinsip Block Code Jarak Hamming – untuk 2n-bit biner yang berurutan, Jumlah bit yang berbeda Mis., v1=011011; v2=110001; d(v1, v2)=3 Redundancy – perbandingan kelebihan bit terhadap bit data Code rate – perbandingan bit data terhadap total bit Coding gain – Pengurangan yang dilakukan agar Eb/N0 mencapai BER yang diinginkan pada sistem
Block Codes Jarak hamming d pada sebuah Block code adalah jarak minimum antara dua code word Deteksi Error: Dapat mencapai d-1 errors Koreksi Error: Dapat mencapai
Coding Gain Definisi: Coding gain adalah jumlah SNR atau Eb/N0 yang ditambah untuk memperoleh performansi BER yang sama dengan BER pada sinyal yang tidak dikodekan Jika kode mampu untuk mengkoreksi paling banyak t error dan PUC adalah BER tanpa pengkodean, sehingga probabilitas adanya error jika menggunakan pengkodean adalah: Application for Puc = 10-3 Useful if errors are not happening in bursts: if always 2 bits in error Golay code
Kode Hamming Didesain untuk mengkoreksi 1 bit error Parameter-parameter: Ukuran Block: n = 2m – 1 Jumlah bit data: k = 2m – m – 1 Jumlah bit cek: n – k = m Jarak minimum: dmin = 3 Single-error-correcting (SEC) code SEC double-error-detecting (SEC-DED) code
Proses Kode Hamming Pengkodean: k bit data + (n -k) bit cek Decoding: membandingkan (n -k) bit yang diterima dengan (n -k) bit yang dikalkulasi menggunakan XOR Menghasilkan (n -k) bit yang disebut syndrome word Syndrome word berkisar antara 0 dan 2(n-k)-1 Setiap bit dari syndrome mengindikasikan sebuah match (0) atau conflict (1) pada posisi bit
Bit data dan bit cek untuk data 8-bit menggunakan kode hamming
Contoh kode hamming Misalkan terdapat blok data yang akan ditransmisikan yaitu 00111001; Sehingga: C1 = D1 D2 D4 D5 D7 = 1 0 1 1 0 = 1 C2 = D1 D3 D4 D6 D7 = 1 0 1 1 0 = 1 C4 = D2 D3 D4 D8 = 0 0 1 0 = 1 C8 = D5 D6 D7 D8 = 1 1 0 0 = 0 Maka block code yang ditransmisikan adalah 001101001111
Contoh kode hamming (cont) Pada receiver diterima 001101101111, maka: Bit data: 00111101 C1 = D1 D2 D4 D5 D7 = 1 0 1 1 0 = 1 C2 = D1 D3 D4 D6 D7 = 1 1 1 1 0 = 0 C4 = D2 D3 D4 D8 = 0 1 1 0 = 0 C8 = D5 D6 D7 D8 = 1 1 0 0 = 0 Kemudian bit cek yang diterima dibandingkan dengan bit cek yang telah dikalkulasi Syndrome word = 0110 Berarti posisi bit yang salah adalah posisi 6 yang mengandung data ke 3 (D3)
Cyclic Block Codes Definisi: Contoh: Sebuah kode linear C disebut cyclic code jika setiap pergeseran siklus sebuah vector code dalam C adalah juga sebuah code vector Code word dapat direpresentasikan sebagai persamaan polinomial berderajat n. Contoh: Hamming codes, Golay Codes, BCH codes, RS codes BCH codes dibuat oleh Hocquenghem (1959) dan juga oleh Bose dan Chaudhuri (1960) Reed-Solomon codes (non-binary BCH codes) diperkenalkan oleh Reed-Solomon
Kesimpulan Blok kode n-bit yang ditransmisi terdiri dari: k-bit data (n-k) bit cek Bit cek berguna dalam mendeteksi dan mengkoreksi error Data yang terdeteksi error harus ditransmisi kembali, namun pada transmisi wireless, hal ini bertambahnya delay propagasi. Diatasi dengan menggunakan decoder pada receiver
Tugas 2 Misalkan terdapat data 8-bit 10110010. Kalkulasi bit cek C8, C4, C2, dan C1 dengan menggunakan kode hamming! Sebuah code word 12 bit dikirimkan dari transmitter. Pada receiver diperoleh code word 110001101101. Uraikanlah bit data dan bit cek yang diterima! Cek apakah terdapat error! Jika terdapat error, tentukan posisi bit yang error! Jika terdapat data 8-bit 00111001, bit cek yang diterima seharusnya adalah 0111. Seandainya pada receiver diterima bit cek 1101, tentukan bit data yang diterima!