Block Coding KOMUNIKASI DATA
OLEH :
PUTU RUSDI ARIAWAN
(0804405050)
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS UDAYANA DENPASAR 2010
Block Coding
Block coding adalah salah satu kode yang mempunyai sifat forward error correction (FEC) yang bisa mendeteksi dan mengkoreksi error tanpa meminta proses transmisi ulang. Dalam sistem encoding terdapat tiga teknik encoding, salah satunya adalah 4B/5B yang disebut juga Block Coding, dimana setiap 4 bit data diterjemahkan menjadi 5 bit data. 5 bit simbol yang dihasilkan selalu mempunyai 2 buah kode ‘1’. Block Coding dapat digunakan untuk meningkatkan performansi sistem komunikasi jika cara lain seperti dengan meningkatkan daya atau menggunakan demodulator yang rumit dan mahal menjadi tidak praktis lagi. Pada block coding, sejumlah bit pariti ditambahkan pada bit informasi sehingga terbentuk sebuah codeword atau code block. Pada bagian pengirim, sejumlah k bit informasi dikodekan kedalam n code bit. Dengan demikian jumlah bit redundansi yang ditambahkan pada data informasinya ada sebanyak n-k bit untuk digunakan pada proses deteksi dan koreksi error yang mungkin terjadi. Hasil blok coding yang berupa Block code dapat direpresentasikan dalam bentuk (n,k) code, dan rate dari kode tersebut adalah sebesar Rc = k/n yang sebanding dengan rate transmisi dibagi dengan rate kanal. Kemampuan block code untuk mengkoreksi error yang timbul merupakan fungsi dari jarak kode (code of a distance). Selain kedua parameter code rate dan jarak terdapat juga kode rate dan jarak yang lainnya yaitu weight of a code. a. Distance of a code (jarak kode) Jarak dari code word adalah jumlah elemen diantara dua codeword Ci dan Cj yang berbeda.
PUTU RUSDI ARIAWAN
dimana d adalah jarak codeword, q adalah jumlah kemungkinan nilai dari Ci, dan Cj. Jika menggunakan kode biner, jarak tersebut dikenal sebagai jarak Hamming. Jarak minimum (dmin) adalah jarak terkecil diantara dua kode tersebut dan dinyatakan dengan : dmin = Min{d(Ci,Cj)} b. Weight of a code (bobot kode) Weight of a code adalah nilai bobot dari code word yaitu jumlah elemen bukan nol sepanjang code word. Untuk kode biner, maka weight of code adalah 1 dalam code word tersebut.
Sifat-sifat block code adalah sebagai berikut: 1) Linearity Misalkan Xi dan Xj adalah dua code word didalam (n,k) block code. Ambil a
1
dan a
2
adalah dua nilai sembarang. Kode dikatakan linier jika dan
hanya a 1X1+a 2 X2 juga adalah code word. 2) Systematic Suatu kode dikatakan sistematik apabila salah satu diantara bit-bit paritinya berfungsi sebagai penanda akhir dari suatu deretan informasi yang dikirimkan. Untuk (n,k) code, k bit pertama identik dengan bit informasi, dan n-k bit tiap code wordnya adalah kombinasi linier dari k bit informasinya.
PUTU RUSDI ARIAWAN
3) Cyclic Cyclic code ialah bagian dari kode linier yang mengikuti sifat cyclic shift. Jika X = (Xn-1,Xn-2,....,X0) adalah codeword dari suatu cyclic code, maka (Xn-2, Xn-3,....,X0,Xn-1) yang merupakan cyclic shift dari X adalah juga codeword. Karena itu semua cyclic shift dari X adalah codeword. 1. Teknik-teknik coding yang sudah dikenal dapat dijelaskan secara singkat berikut ini: a. Hamming Code Hamming code adalah kode nontrivial untuk koreksi error yang pertama kali diperkenalkan. Kode ini dan variasinya telah lama digunakan untuk error control pada sistem komunikasi digital. Hamming code ini ada dua macam yaitu binary dan nonbinary Hamming code. Binary Hamming code dapat direpresentasikan dalam bentuk persamaan berikut : (n,k) = (2m-1, 2m-1-m) (1.7) dimana k adalah jumlah bit informasi yang membentuk n bit codeword, dan m adalah bilangan bulat positif. Jumlah bit paritinya adalah sejumlah m = n-k bit. b. Hadamard Code Hadamard code merupakan teknik coding dengan cara memilih baris dari matriks Hadamard sebagai codeword. Matriks Hadamard A adalah matriks NxN dimana jumlah bit 1 dan 0 untuk tiap barisnya berbeda dari baris lainnya pada N/2 lokasi. Satu baris dari matriks ini terdiri 0 semua sedangkan sisanya terdiri dari 0 untuk N/2 baris dan 1 untuk N/2 baris. Untuk N = 2, maka matriks Hadamard-nya adalah :
PUTU RUSDI ARIAWAN
c. Golay Code Golay code merupakan kode biner linier yang mempunyai jarak kode minimum (dmin) sebesar 7 dan memiliki kemampuan untuk mengkoreksi error sebanyak 3 bit untuk setiap codeword-nya. d. Cyclic Code Cyclic code adalah jenis kode linier yang memenuhi sifat cyclic seperti telah dijelaskan diatas. Cyclic code dapat dihasilkan dengan menggunakan generator polinomial dengan orde (n-k). Generator polinomial (n,k) Cyclic code adalah faktor pn + 1 dan memiliki bentuk umum : g(p) = pn-k + gn-k-1 pn-k-1 + .........+ g1p + 1 (1.9) sedangkan informasi yang dibawa dapat dinyatakan dalam bentuk polinomial x(p) : x(p)= xk-1pk-1 + .......+ x1p + x0 (1.10) dimana (xk-1, ........, x0) menunjukkan k bit-bit informasinya. Maka codeword yang dihasilkan adalah c(p) = x(p)g(p) (1.11) dimana c(p) adalah polinomial yang memiliki orde lebih kecil dari n. Sebagai pembangkit pariti biasanya adalah digunakan linier feedback shift register. e. BCH Code BCH code adalah merupakan jenis block code yang penting karena mampu bekerja pada rentang rate yang lebar dan memiliki coding gain yang besar. Panjang dari block code ini adalah n = 2m-1 untuk m ³ 3 dan jumlah error yang dapat dikoreksi berada pada nilai t < (2m-1)/2. Kode biner BCH juga dapat digunakan untuk membuat jenis kode nonbiner yang
PUTU RUSDI ARIAWAN
menggunakan m bit persimbolnya. Salah satu jenis kode nonbiner BCH yang paling terkenal adalah kode Reed Solomon. Kode Reed Solomon ini pertama kali digunakan pada U.S. Cellular Digital Packet Data (CDPD) yang menggunakan m = 6 bit untuk setiap simbolnya. f. Reed Solomon Code Kode Reed Solomon merupakan jenis kode nonbiner yang mampu mengkoreksi error yang muncul secara acak dan tak terduga (bursty) dan biasanya digunakan pada sistem koding gandeng. Panjang block code ini adalah n = 2m-1. Panjang kode ini dapat dinaikkan menjadi 2m atau 2m+1. Jumlah simbol pariti yang harus ditambahkan untuk mengkoreksi sejumlah error e adalah n-k = 2e. Jarak minimum kode ini adalah dmin = 2. Teknik - teknik Encoding a. 4B/5B Encoding Disebut juga blok coding yaitu setiap 4 bit data diterjemahkan menjadi 5 bit data. 5 bit symbol yang dihasilkan selalu mempunyai 2 buah kode ‘1’. 5 bit symbol tersebut kemudian diencode dengan metode NRZ-I. Persentase efisiensi encoding 80%. Digunakan dalam FDDI. Bentuk sinyal dari teknik ini dapat dilihat pada tabel di bawah ini : Data Input (4 bit) 0000
Code Group (5 bit) 11110
0001
01001
Data 1
0010
10100
Data 2
0011
10101
Data 3
0100
01010
Data 4
0101
01011
Data 5
0110
01110
Data 6
0111
01111
Data 7
1000
10010
Data 8
1001
10011
Data 9
PUTU RUSDI ARIAWAN
NRXI pattern
Interpolation Data 0
1010
10110
Data A
1011
10111
Data B
1100
11010
Data C
1101
11011
Data D
1110
11100
Data E
1111
11101
Data F
11111
Idle
11000
Start of Stream delimiser part 1 Start of Stream delimiser part 2 End of Stream delimiser part 1 End of Stream delimiser part 2
10001 01101 00111 00100
Transmit Error
other
Invalid other
b. 8B/10B Encoding Mengubah 8 bit data menjadi 10 bit data. 8 bit data dipisah menjadi 3 most significant bit dan 5 least significant bit. Diterjemahkan ke desimal dengan least significant bit sebagai angka pertama. 10 bit yang dihasilkan harus terdiri dari: 5 buah ‘1’ dan 5 buah ‘0’ 4 buah ‘1’ dan 6 buah ‘0’ 6 buah ‘1’ dan 4 buah ‘0’ Syarat di atas untuk sinkronisasi clock. Di sini juga perlu ada DC balancing, karena itu dilakukan Running Disparity, yaitu untuk menjaga agar jumlah ‘0’ dan ‘1’ yang ditransferkan sama besar.
PUTU RUSDI ARIAWAN
Fungsi Utama dari 8B/10B Encoding adalah : Mendeteksi Error Frame delimination dari transparansi data Clock recovery, DC voltage balancing Kemampuan untuk mengimplementasikan Fiber Optic, Wireless, atau ATM Keuntungan 8B/10B Encoding adalah: mempermudah sinkronisasi bit menyederhanakan desain transmitter dan receiver peningkatan mutu pendeteksian error
8B/10B Encoding digunakan dalam: Gigabit Ethernet IBM’s SNA
c. 8B/6T Encoding 8B/6T adalah pengiriman 8 bit data sebagai 6 ternary(1 dari 3 level tegangan) sinyal. Arus data yang datang dibagi menjadi model 8 bit.setiap data bermodel 8 bit dengan dua level tegangan(0,V) diuji. Model 8 bit dikonversikan menjadi 6 bit tetapi dengan menggunakan 3 level tegangan(-V,0,V), jadi setiap model 8 bit memiliki sebuah kode 6T yang unik. Contoh : sebuah model bit 0000 0000 (0x00) menggunakan kode +00+- dan bit 0000 1110 (0x)E) menggunakan kode -+0-0+. Sehingga ada 36=729 model symbol yang mungkin. Aturan simbol adalah harus ada setidaknya 2 transisi tegangan dan ratarata tegangan DC harus 0, ini disebut DC balance yaitu tegangan DC yang dijumlahkan hingga menjadi 0V.
PUTU RUSDI ARIAWAN
3. Perbandingan Bipolar, Polar dan Block Coding a. Bipolar - Kekurangan Dalam penggunaannya line coding bipolar membutuhkan biaya yang sangat besar dalam pengoperasiannya. Untuk Teknik pengkodeannya ada 3 yaitu AMI (Alternate Mark Inversion), B-8ZS (Bipolar 8-Zero Substitution), dan HDB3 (High Density Bipolar 3). Ketiganya ini dibuat untuk saling melengkapi satu sama lainnya. Teknik AMI memiliki kekurangan yaitu memiliki deret biner 0 yang panjang dan hal ini bisa menyebabkan hilangnya sinkronisasi sinyal.
-
Kelebihan Dalam
pentransmisian
sinyalnya
teknik
Bipolar
ini
bisa
membangkitkan pensinyalan dengan level yang tinggi dengan rate data yang tinggi pula sehingga sangat cocok untuk aplikasi komunikasi jarak jauh. Selain itu juga dalam line coding bipolar ini tidak ada DC komponen karena peyimpangan sinkronisasi sinyal tersebut sudah dikonversi oleh sistem HDB3 (High Density Bipolar 3).
b. Polar - Kekurangan Bandwidth untuk kode biphase lebih besar dan lebar dibanding bandwidth untuk kode biner lainnya.
-
Kelebihan Karena terdapat transisi yang dapat diprediksikan sebelumnya sepanjang setiap satuan waktu bit waktu, receiver menjadi sinkron pada transisi tersebut. Untuk alasan ini, kode-kode biphase dikenal sebagai kode swadetak
PUTU RUSDI ARIAWAN
Tanpa Komponen DC kode-kode biphase tidak memiliki komponen Dc Pendeteksian kesalahan
PUTU RUSDI ARIAWAN
BIODATA PENULIS
Nama
: Putu Rusdi Ariawan
TTL
: Denpasar. 19 April 1990
Agama
: Hindu
Mahasiswa Teknik Elektro Unv. Udayana Email :
[email protected] www.facebook.com/turusdi
PUTU RUSDI ARIAWAN