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
nk
DF
Bagi 2n-kD dengan P menghasilkan hasil bagi dan sisa hasil bagi
2
nk
D
P
R
Q
P
Gunakan sisa hasil bagi sebagai FCS
nk
T 2
DR
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 nk 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 ) ni
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!