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 Code Group NRXI pattern Interpolation
(4 bit) (5 bit)
0000 11110 Data 0
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
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
10001 Start of Stream
delimiser part 2
01101 End of Stream
delimiser part 1
00111 End of Stream
delimiser part 2
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 [Link]
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 rata-
rata 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 : [Link]@[Link]
[Link]/turusdi
PUTU RUSDI ARIAWAN