5-Pengkodean dan Error Control

Download Report

Transcript 5-Pengkodean dan Error Control

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
P1  1  Pb 
F
P2  1  P1
P3  0
 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
T 2
nk
DF
 Bagi 2n-kD dengan P menghasilkan hasil bagi dan sisa hasil bagi
2
nk
D
P
R
Q
P
 Gunakan sisa hasil bagi sebagai FCS
nk
T 2
DR
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
X n  k D X 
R X 
 Q X  
P X 
P X 
T  X   X nk D X   R X 
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
 d  1
 2 


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:
1 n  n i
PCB   i PUC (1  PUC ) ni
n i t 1  i 
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:
 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
1. Misalkan terdapat data 8-bit 10110010. Kalkulasi bit cek C8,
C4, C2, dan C1 dengan menggunakan kode hamming!
2. Sebuah code word 12 bit dikirimkan dari transmitter. Pada
receiver diperoleh code word 110001101101.
Uraikanlah bit data dan bit cek yang diterima!
b) Cek apakah terdapat error! Jika terdapat error, tentukan posisi
bit yang error!
a)
3. 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!