SISTEM KOMUNIKASI DIGITAL
Berikut ini digambarkan salah satu blok diagram sistem komunikasi sederhana.
Gbr. 1 : Salah satu model sistem komunikasi
• Fungsi sistem komunikasi adalah memancarkan informasi secara andal dari sumber informasi ke pengguna informasi
• Dari blok diagram diatas dapat dilihat bahwa :
o keluaran dari sumber informasi adalah sudah berbentuk
signal-signal digital , yaitu berupa urutan simbol-simbol dari berbagai abjad yang sudah menjadi signal-signal diskrit
• Simbol-simbol ini diproses oleh koder sumber menjadi simbol-simbol
bentuk lain (atau disebut kelompok simbol) agar supaya :
o dapat dibuat menjadi simbol-simbol yang pada saat dipancarkan ke pengguna informasi , banyaknya simbol tersebut adalah menjadi seminimal mungkin
• Keluaran dari koder sumber menjadi masukan bagi koder saluran dimana :
o koder saluran tersebut berfungsi untuk
memperbesar efisiensi
komunikasi
, yaitu dengan jalan : mengubah urutan bit keluaran koder sumber menjadi urutan bit simbol yang berbeda dari abjad yang dikirim dari sumber informasi
• Keluaran koder saluran masuk ke modulator , kemudian dipancarkan lewat Kanal Diskrit Tanpa Memori = DMC (Discrete Memoryless Channel) menuju ke demodulator yang menjadi bagian sistem penerima, terus masuk ke dekoder kanal sistem penerima
• Manfaat DMC ini mencakup :
o melakukan
pengurangan terhadap pengaruh distorsi
signal
sewaktu melewati kanal komunikasi gelombang• detektor kanal yang mendapat masukan dari demodulator , akan beru-paya untuk :
o merekonstruksi urutan keluaran yang berasal dari koder
sum-ber , menjadi
urutan bit yang seasli mungkin
• Dengan menggunakan disain enkoder-dekoder yang tepat, maka akan dapat :
Sumber Informasi Koder Sumber Koder Kanal Modulator Gelombang Kanal Gelombang Demodulator Gelombang Dekoder Kanal Dekoder Sumber Pengguna Informasi
o
mengoreksi beberapa kesalahan transmisi yang terjadi
di Kanal Diskrit Tak Bermemori
(DMC) tadi, sehinggadapat memperbaiki keandalan komunikasi
• Dengan memakai keluaran dekoder kanal, maka dekoder sumber akan dapat
membuat
perkiraan urutan bit informasi yang
dipan-carkan
KODE KELOMPOK
(Block Code)
Kode kelompok adalah suatu kode yang dapat mengoreksi kesalahan bit secara mandiri (self error correction) , dimana :
• bentuk kode terdiri atas :
o kode yang menggambarkan suatu kharakter sebanyak k buah bit
o kode yang digunakan sebagai uji paritas sebanyak qbuah bit
• kemungkinan kharakter yang terjadi = m buah = 2 kbuah
• pada kode kelompok banyaknya bit menjadi k + q = nbuah bit
Jika
salah satu kharakter tersebut
adalah :(
d
1d
2d
k)
d
=
⋅⋅
⋅⋅
⋅⋅
1 atau 0 bernilai s/d d1 k , maka :• dengan memakai enkoder (alat untuk membuat kode), maka :
o
kode kharakter data yang terdiri atas k bits tersebut diubahmenjadi kharakter baru yang terdiri atas
n
bits
o tambahan bit sebanyak
=
q
=
(
n
−
k
)
bits, merupakan bit uji paritas• Kata kodenya ditulis dengan kode (n , k)
• Tujuan penambahan q bits paritas tersebut adalah :
untuk membuat kode yang terdiri atas n bits tadi menjadi
kode yang dapat
mendeteksi
dan
mengoreksi
ke-salahan bit secara mandiri (
self detection and correcting code)• Kesalahan bit tersebut dapat terjadi karena signal-signal biner tersebut
melalui media transmisi dalam perjalanannya dari sumber signal ke tujuan
• Data yang keluar dari encoder tersebut , yang disebut dengan kata kode (code word), dinyatakan sebagai berikut :
(
)
(
1 2 k k 1 k 2 n)
q k 2 k 1 k k 2 1x
x
x
x
x
x
x
atau
x
x
x
x
x
x
x
⋅⋅
⋅⋅
⋅⋅
⋅⋅
⋅⋅
⋅
=
⋅⋅
⋅⋅
⋅⋅
⋅⋅
⋅⋅
⋅
=
+ + + + +Untuk kode sistematis, maka :
k k 3 3 2 2 1 1
d
x
d
x
d
x
d
x
=
=
=
⋅⋅
⋅⋅
⋅⋅
⋅⋅
=
q k n= + = baru kode setiap bit seluruh Banyaknya
Bit-bit uji paritas untuk kode sistimatis tersebut dibuat memenuhi hubungan
yang sesuai dengan persamaan berikut ini :
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
⎥
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎢
⎣
⎡
=
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
+ + k 2 1 qk q2 q1 2k 22 21 1k 12 11 n 2 k 1 kd
d
d
h
h
h
h
h
h
h
h
h
x
x
x
M
L
M
M
M
M
L
L
M
Contoh :Suatu kode (15,11), mempunyai kode data :
(
0
1
0
1
1
1
0
1
0
1
1
)
=
d
, dengan n = 15 ; q=4 dan k = 11 ;Misalkan kode uji paritas dinyatakan dengan persamaan matrix sebagai berikut :
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + + + + + + 11 2 1 2 1 2 1 2 22 21 1 12 11 15 14 13 12 4 11 3 11 2 11 1 11 2 1 1 0 0 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 1 d d d d d d h h h h h h h h h x x x x x x x x x x x k qk q q k k n k k M M L M M M M L L M ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ + ⊕ = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 1 15 14 13 12 x x x x
Maka kode sistimatis lengkap yang dikirimkan adalah :
(
1 2 11 12 13 14 15) (
= 0 1 0 1 1 1 0 1 0 1 1 0 0 0 0)
= x x x x x x x
x LLL
Jika m adalahsalah satu dari 2k buah kode untuk data yang mungkin terjadi, maka salah satu kode data adalah xm1,xm2,...,xmk.
Dengan kata lain salah satu kode data tesebut adalah :
[
m m mk]
dmx
x
x
x
=
1,
2,
L
,
k qk 3 q3 2 q2 1 q1 n q k k 2k 3 23 2 22 1 21 2 k k 1k 3 13 2 12 1 11 1 kd
h
d
h
d
h
d
h
x
x
..
...
...
...
...
...
...
...
d
h
d
h
d
h
d
h
x
d
h
d
h
d
h
d
h
x
+
⋅
⋅
⋅
⋅
+
+
+
=
=
+
⋅
⋅
⋅
⋅
+
+
+
=
+
⋅
⋅
⋅
⋅
⋅
+
+
+
=
+ + +Jika kode tersebut diberi bit uji paritas ( parity checking bit ) yang banyaknya q buah bit , maka keseluruhan bit keluaran dari enkoder yang menggambarkan suatu kharakter, akan menjadi terdiri atas n buah bit, sehingga susunannya menjadi :
[
m m mn]
m
x
x
x
x
=
1 2L
Jika digambarkan secara blok diagram :
Operasi enkoder yang dikerjakan dalam suatu enkoder blok biner linier dapat digambarkan sebagai
himpunan
n
buah persamaan dalam bentuk
ma-trix
sebagai berikut :j k j m j m j m j m x g x g x g c = 1 1 + 2 2 +L + dengan j=1,2,L,n;m=1,2, ⋅⋅ ⋅⋅2k 1 0 dimana gij = atau Contoh :
Kode ( 7,4 ) ; maka mj adalahsalahsatudari 24 kemungkinankode
Data yang mungkin terjadi jika setiap data terdiri atas 4 bit adalah Kode-kode bit paritas yang terkait tergantung dari matrix H.
Matrix H tersebut dapat dilihat pada pembahasan berikut :
]
• Seperti sudah dibahas sebelumnya, kata kode dinyatakan dengan :
(
x
x
x
kx
kx
kx
n)
x
=
1 2⋅
⋅⋅
⋅⋅
+1 +2⋅⋅
⋅⋅
⋅⋅
• Kode data dinyatakan dengand
=
(
d
m1d
m2d
m3...
d
mk)
dimana :
mjadalah salah satu dari 2 kbuah jenis kata kode yang mungkin terjadi
• Selanjutnya dapat ditulis :
dG
x
=
dimana : 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0Enkoder
bit Masukan k bit Keluaran nG =
matrix generator kode
dan merupakanmatrix k x n
Matrix generator G dinyatakan dengan persamaan matrix :[
I P]
G= k
dengan Ik =matrix identitas dan ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = = qn 2k 1k q3 23 13 q2 22 12 qn 21 11 T h h h h h h h h h h h h H P L L M M M M L L L L L L Contoh :
Suatu kode (7,4) dengan generator matrix : G=
[
Ik P]
Disini n = 7 ; k = 4 ; q = 3
Dari contoh ini, karena :
• banyaknya bit untuk setiap kode adalah k = 4
• banyak bit untuk paritas adalah q = 3 , maka :
o dapat digambarkan kemungkinan seluruh kode blok yang terjadi adalah :
Jika rumus-rumus yang ada diuraikan lebih lanjut :
[
]
[
] [
]
⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = = = T qk q q k k k k h h h h h h h h h d d d P I d dG c L M L M M L L M L L M M L L L 2 1 2 22 21 1 12 11 2 1 1 0 0 0 1 0 0 0 1 ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 0 1 G ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 1 0 1 1 1 1 1 0 0 1 1 1 H k I Data Matrix T H P= = =dG x ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 1 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 0 1 ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0[
]
[
d d d[
d d d]
P]
h h h h h h h h h d d d c k k qk k k q q k L L L M L M M L L M L L M M L L L 1 2 1 2 2 1 2 22 12 1 21 11 2 1 1 0 0 0 1 0 0 0 1 = ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = Maka[
d dP]
[
c cp]
c= =Jadi urutan bit uji paritas adalah cp =dP
Jika urutan bit yang diterima adalah kata kode yang tepat , maka :
Jika urutan bit yang diterima tepat , maka rumus diatas dapat ditulis dalam persamaan matrix sebagai berikut :
[
]
⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = + = q p p I P c d c dP 0hal ini karena
[ ]
q pp
I
c
c
=
Jika tak terjadi kesalahan bit , maka : dP⊕cp =0
[
]
[
]
P 0P 0 I P c d P c d cH q p p T = = ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = =Syarat urutan bit yang diterima dekoder tidak terjadi kesalahan bit : cHT =0
Didalam hal ini , sesuai dengan perhitungan diatas , yang dimaksudkan dengan HT adalah :
[
q]
T q T I P H I P H ⎥→ = ⎦ ⎤ ⎢ ⎣ ⎡ =Dalam persamaan matrix
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = = qk q q k k h h h h h h h h h L M L M M M L M M L L 2 1 2 22 12 1 12 11 H paritas uji Matrix Contoh :
Kode (7, 3) dengan matrix uji paritas :
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = = → ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 1 T H p H bit Urutan dihitung yang dekoder di bit Urutan paritas uji diterima yang 0 c dP ⊕ p =
Kata kode : c=dG
Bila tanpa kesalahan bit maka : cHT =0
Bila terjadi kesalahan bit yang diterima di dekoder , maka vektor kode yang diterima adalah : e
c
r= ⊕
Jika terjadi kesalahan bit , maka : r≠c→e≠
(
0 0 LL 0)
Jika tidak terjadi kesalahan bit , maka : r=c→e=
(
0 0 LL 0)
Syndrome =
s
=
rH
T=
(
c
⊕
e
)
H
T=
cH
T⊕
eH
T=
0
+
eH
T Syndrome = s=eHTJika tanpa kesalahan bit , maka : s=
(
0 0 LL 0)
Jika ada kesalahan bit , maka : s≠
(
0 0 LL 0)
• Anggaplah bahwa terjadi kesalahan pada bit ke-i
[
]
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ = = 1 0 0 0 1 0 0 0 1 ' 2 1 2 22 21 1 12 11 L L L L L L L L L L L L L L L L L L L L L L L L qk q q k k k h h h h h h h h h I H H( ) (
)
(
i i qi)
qk k k qi i i q q T h h h h h h h h h h h h h h h H e s Syndrome = ⋅ ⋅ ⋅ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ = = = 1 2 2 1 2 1 2 22 12 1 21 11 1 0 0 0 1 0 0 0 1 0 1 0 0 ' 1 M M M M M M M M M M M M L L• Persyaratan suatu kode dapat dikoreksi bilamana terjadi 1 kesalahan bit adalah :
o Semua kolom matrix H sudah ditentukan nilainya dengan pasti
o Semua isi kolom ke-1 s.d. ke-k sudah tertentu nilainya dengan pasti
o q kolom berikutnya merupakan matrix identitas Ik
o Agar matrix identitas Ik dapat membuat syndrome yang dapat ditentukan nilainya, maka harus : 2q −
(
q−1)
≥ko Misalkan q=3→8−2=6≥k
o Jadi kode blok (7, 4) , yang berarti bahwa : k=4→q=3→memenuhi q−(q− )≥k
1 2
o Ketidak samaan (inequity) 2q −
(
q−1)
≥k yang harus dipenuhi bagi kode berkesalahan tunggal adalah hal yang khusus daripada ketidak samaan Ham-ming dH ≥2t+1→dHmin =2t+1 digit i ke−(
0 0 0 LL 1 LL 0)
= e adalah ya kesalahann vektor• Ketidak samaan Hamming dH ≥2t+1 yang dapat digunakan secara umum untuk
pengoreksian kode yang mengalami kesalahan t buah bit , dapat diterangkan dengan contoh berikut ini :
o Kode blok ( 7, 3 ) berarti n = 7 ; k = 3 ; q = 4 .
o Penerapan ketidak samaan 2q−
(
q−1)
≥k→24−(
4−1)
=13≥k=3o Dengan demikian kode blok ( 7, 3 ) adalah kode yang dapar mengoreksi kesalahan tunggal
o Contoh kode blok yang tak dapat mengoreksi meskipun kesalahannya tunggal adalah kode bloK ( 6, 4) , yang berati q =2 ; dengan memasukkan ke ketidak samaan q−
(
q−)
≥k1
2 , dimana 22−
(
2−1)
=3< =4k
• Kode dengan kesalahan yang lebih besar dari 1 , misalnya terjadi kesalahan t bit , salah satunya dapat diselesaikan dengan Hamming bound , yang mana salah satunya yang khusus adalah menggunakan rumus ketidak samaan 2q−
(
q−1)
≥k• Hamming bound ini menentukan , bahwa :
o Banyaknya pattern bit uji paritas yang mungkin terjadi harus setidak-tidaknya
sama dengan banyaknya cara , dimana kesalahan dapat terjadi sampai dengan t buah kesalahan bit
o Untuk kode ( n, k ) berlaku hubungan :
∑
= − ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ ≥ t i k n t n 0 2Ini berati bahwa ⎟⎟
⎠ ⎞ ⎜⎜ ⎝ ⎛ + + ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ + ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ + ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ = = − n t n n n q k n L L 2 1 0 2 2
Untuk kode (7, 4) dan banyaknya kesalahan bit adalah t = 3 , maka :
⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ + ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ + ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ + ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ ≥ = = − − 7 3 7 2 7 1 7 0 4 7 8 2 2n k
Penyelesaian persamaan diatas dapat digunakan untuk membuat tabel berikut ini : Tabel kode-kode yang dapat mengoreksi kesalahan
( )
( )
( )
(
15,11)
0.73 11 15 57 . 0 4 , 7 4 7 5 . 0 3 , 6 3 6 4 . 0 2 , 5 2 5 1 4 Efisiensi Kode max k n ) 1 t ( tunggal kesalahan mengoreksi dapat yang kode -Kode =(
)
(
)
(
)
(
)
(
25,13)
0.52 13 25 55 . 0 11 , 20 11 20 53 . 0 8 , 15 8 15 36 . 0 4 , 11 4 11 4 . 0 4 , 10 4 10 Efisiensi Kode max k n ) 2 t ( ganda kesalahan mengoreksi dapat yang kode -Kode =• Jarak Hamming : perbedaan banyaknya posisi diantara 2 kata kode apa saja
• Jarak Hamming ini memegang peranan kunci didalam penaksiran kapasitas atau kemampuan kode-kode mengoreksi kesalahan
• Jarak Hamming =dH ≥2t+1→dHmin =2t+1
dimana : dikoreksi dapat dan salah yang bit banyaknya = t
• Kode-kode yang dapat mengoreksi kesalahan tunggal : t=1→dHmin =2
( )
1 +1=3•
JARAK HAMMING DAN BOBOT HAMMING
(HAMMING DISTANCE and HAMMING WEIGHT)
Sebagai contoh adalah kode blok ( 7, 4) ; Efisiensi kode = 7 4
=
R
• Dari tabel tersebut dapat dilihat bahwa setip kata kode (setelah dibalik cara penulisannya ) berbeda satu-sama lain , dengan perbedaan paling tidak 3 posisi , yang dapat dilihat pada tabel dibawah ini :
Tabel kode blok khusus
• Jadi jika terjadi kesalahan bit sampai dengan 2 buah , maka kesalahan tersebut tidak akan menyebabkan kodenya menjadi kode yang sama dengan setiap kode lainnya , apapun juga kode lain itu
• Berita dan kata kode (serta berita dan kata kode yang dibalik cara penulisannya) yang mungkin terjadi adalah sebagai tabel berikut ini :
(
)
(
)
(
)
(
24,12)
0.55 12 24 52 . 0 12 , 23 12 23 33 . 0 5 , 15 5 15 2 . 0 2 , 10 4 10 Efisiensi Kode max k n ) 3 t ( ganda kesalahan mengoreksi dapat yang kode -Kode = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⇒ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⇒ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 0 1 0 1 1 1 0 1 0 0 1 1 0 0 0 1 0 1 0 1 ` 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 ` 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 ` 1 1 1 0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 menjadi dibalik berita• Didalam hal ini penulisan kata kode yang telah dibalik susunannya akan mampu memberi tahu pengguna bahwa kesalahan transmisi telah terjadi , meskipun tidak dapat mengoreksi kesalahan-kesalahan tersebut
• Suatu kode khusus ditampilkan pada tabel berikut ini :
• Contoh :
Kode blok(7, 4) ; kode datanya terdiri atas k bit atau 4 bit ; kode paritasnya terdiri atas q bit atau 3 bit
Jenis kode data yang terdiri atas 4 bit adalah 2k = 24 = 16 buah .
Semua jenis kode data yang masing-masing terdiri atas 4 bit dapat digambarkan sebagai berikut : ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0
Misalkan matrik uji paritas adalah :
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 34 33 32 31 24 23 22 21 14 13 12 11 h h h h h h h h h h h h H
[
]
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ 4 34 3 33 2 32 1 31 4 24 3 23 2 22 1 21 4 14 3 13 2 12 1 11 34 33 32 31 24 23 22 21 14 13 12 11 4 3 2 1 7 6 5 d h d h d h d h d h d h d h d h d h d h d h d h h h h h h h h h h h h h d d d d dH c c c Jika ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ → ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 4 2 1 4 3 2 3 2 1 7 6 5 1 0 1 1 1 1 1 0 0 1 1 1 d d d d d d d d d c c c HRumus untuk kata kode adalah c=dG=
[
dIkP]
=[
dIkHT]
c = Seluruh kata kode yang mungkin terjadi( )
x =W non-zero weight = pembobot bukan nol = banyaknya bit bukan nol dalam 1 kata kode
( )
x min dHmin W = ; 2 1 3 1 jika min min = + = = t H t d• Untuk kode blok (n, k) ; berarti q= n - k
• Misalkan n = 7 ; k = 4 , berarti q = m = 3; khusus kode ini memenuhi hubungan : 1
2 −
= q
n →23−1=8−1=7
O Tidak semua jenis kode blok memenuhi hubungan itu ; misalnya kode blok (7, 3) ; jika diterapkan rumus diatas , maka n=2q −1=24 −1=16−1=15≠7
• Efisiensi kode = code rate =
n q n q n n k = − = − 1
O Untuk kode blok khusus sebagaimana contoh diatas :
1 2 1 − − = qq n k
O Untuk efisiensi kode ≅1→ ≅1
n k
O Untuk kode blok khusus ≅ → − ≅∞→ ≅∞
− → − − = ≅ q q q q q q n k 2 1 2 0 1 2 1 2 1 1 Berarti q>>1 d c k I P ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 7 4 4 3 3 4 4 3 4 3 3 4 4 3 3 0 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0
( )
x W weight zero non−• Kata kode yang ke-i adalah xi yang terdiri atas :
o mi buah bit berita , dimana i = 1, 2, 3 …… k o ci - kbuah bit koreksi, dimana i = k+1, k+2, ……n.
• Sebagai contoh adalah sebuah kata kode ( 7,4 )
o ini berarti n = 7 dan k = 4 q = banyak-nya bit uji paritas = 3
o Dengan 7 bit per kata kode berarti banyaknya kode yang bisa terjadi adalah = 27 = 128 jenis kata kode yang berbeda satu sama lain
o Namun karena kode untuk data hanya terdiri atas 4 bit saja, maka hanya terdapat 24 = 16 jenis kata kode saja yang digunakan, dari 128 buah jenis kata kode yang mungkin terjadi
o Bentuk kata kode tersebut adalah : x=[m1 m2 m3 m4 c1 c2 c3] T
o Jika H = matrix uji paritas, maka H adalah matrix persegi q x n yang bentuknya sebagai berikut :
o dimana bagian kanan dari matrix tersebut adalah matrix satuan (unit matrix)
q x q
o Dengan pemilihan matrix uji paritas tersebut maka harus dipenuhi :
H x = 0 ( dimana x = kode tertentu )
Dengan demikian :
[
]
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 2 1 2 1 2 1 2 22 21 1 12 11 2 1 2 1 2 1 2 22 21 1 12 11 M M M L L M M M M M M M M M L L L L L L L L M M M M M M M M M L L L q k qk q q k k T q k qk q q k k c c c m m m h h h h h h h h h c c c m m m h h h h h h h h h Hx k q q⎥
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎢
⎣
⎡
=
1
0
0
0
0
0
0
1
0
0
0
0
1
2 1 2 22 21 1 12 11L
L
M
M
M
M
M
M
M
M
M
L
L
L
qk q q k kh
h
h
h
h
h
h
h
h
H
Maka : hj1m1⊕hj2m2⊕L⊕hjkmk ⊕cj =0 ; j =1,2,Lq
Misalkan sebuah kata kode x dipancarkan mengalami beberapa kesalahan bit-nya sewaktu diteri-ma di tujuan. Jika kata kode yang diterima adalah y , dimana pola kesalahannya (error-pattern) adalah e.
Maka y = x⊕e.
Ini berarti setiap kata kode yang diterima adalah yi =xi⊕ei dengan i=1,2,Lk.
Jika ⎩ ⎨ ⎧ = → ≠ → = i i i i i x y x y e 0 1 Contoh : T T y x ] 0 0 1 1 0 [ ] 1 0 0 1 0 [ = = e=[00101] T→
Jika di penerima kesalahan e dapat ditentukan , maka semua kesalahan yang terjadi dapat diko-reksi. Untuk dapat menentukan kesalahan “e” dari kata kode yang diterima “ y” , maka kata kode yang dipancarkan “x” harus diketahui.
Untuk itu harus dihitung sebuah q-digit syndrome.
Yang dimaksudkan dengan q-digit syndrome adalah :
Hy s =
Lebih lanjut s dapat diuraikan menjadi :s=Hx⊕He Karena Hx=0, maka :
He s=
Jadi dapat dilihat bahwa jika tanpa kesalahan atau e=0 maka s=0.
Jika berita yang diterima hanya salah 1 digit saja, misalkan yang mengalami kesalahan digit ke-j, maka dapat dibuktikan bahwa :
T qj j j h h h s=[ 1 2 L ] dimana j≤k Contoh : Kode ( 7,4 ) berarti k = 4 ; n = 7 ; q =3
Kode paritas untuk setiap berita adalah :
q
Hc = 0 ( dimana c = kode tertentu yang dikirim)
]Dengan demikian :
[
]
T q k qk q q k k c c c d d d h h h h h h h h h c H L L L L M M M M M M M M M L L L 2 1 2 1 2 1 2 22 21 1 12 11 1 0 0 0 0 0 0 1 0 0 0 0 1 ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ =Kesalahan terjadi pada digit ke-3 dan ke-5
k q ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1 0 0 0 0 0 0 1 0 0 0 0 1 2 1 2 22 21 1 12 11 L L M M M M M M M M M L L L qk q q k k h h h h h h h h h H q
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 2 1 2 1 2 1 2 22 21 1 12 11 M M M L L M M M M M M M M M L L L L q k qk q q k k c c c d d d h h h h h h h h h Hc :
h
j1d
1⊕
h
j2d
2⊕
L
⊕
h
jkd
k⊕
c
j=
0
;j
=
1
,
2
,
L
q
0
1
1
0
0
1
1
0
1
0
1
1
0
;
4
;
3
:
1 13 12 1 14 13 12 11 4 3 2 1=
⊕
⊕
→
=
⊕
⊕
⊕
⊕
→
=
=
=
=
=
=
=
c
h
h
c
h
h
h
h
j
d
d
d
d
k
q
Untuk
• Matrix Uji Paritas adalah :
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
=
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
→
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
⎥
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎢
⎣
⎡
=
⎥
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎢
⎣
⎡
=
+ + + 4 3 2 1 34 33 32 31 24 23 22 21 14 13 12 11 7 6 5 2 1 2 1 2 22 21 1 12 11 2 1d
d
d
d
h
h
h
h
h
h
h
h
h
h
h
h
c
c
c
d
d
d
h
h
h
h
h
h
h
h
h
c
c
c
c
k qk q q k k q k n k kM
L
M
M
M
M
L
L
M
4 34 3 33 2 32 1 31 7 4 24 3 23 2 22 1 21 6 4 14 3 13 2 12 1 11 5d
h
d
h
d
h
d
h
c
d
h
d
h
d
h
d
h
c
d
h
d
h
d
h
d
h
c
⊕
⊕
⊕
=
⊕
⊕
⊕
=
⊕
⊕
⊕
=
• Nilai syndrome atau s ini sama dengan isi kolom ke-j dari kolom matrix uji paritas H
• Karena itu syndrome memberikan informasi seolah-olah tidak ada kesalahan yang terjadi (no error) , atau posisi sebuah kesalahan asalkan semua kolom matrix uji paritas H adalah berbeda dan bukan nol
• Dengan demikian didapatkan kode pengoreksi kesalahan tunggal (jika kesalahan yang terjadi hanya 1, maka langsung dikoreksi)
• Jika digunakan dengan model ini, maka suatu kode (n,k) akan mempunyai Probabilitas Kesalahan :
( )
2
,word n eP
P
≈
( )
(
)
2 ,2
P
2
k
n
1
c
n
k
P
e bit≈
n≈
−
• Namun kesalahan-kesalahan yang terjadi berulang-ulang (multiple errors) akan menyebabkan keruwetan atau komplikasi
o karena meskipun kesalahan-kesalahan yang sebenarnya itu bisa dihilangkan, tapi akibatnya akan salah didalam membetulkan digit berita lainnya
o yang mana beritanya akan menjadi lebih jelek
o Akibatnya dikehendaki kode yang lebih kuat
kecuali jika c sebegitu kecil sehingga kesalahan-kesalahan yang berulang akan amat jarang terjadi.
• Sayangnya dengan melengkapi suatu syndrome dan matrix uji paritas yang tepat untuk mengoreksi kesalahan yang berulang-ulang adalah :
o suatu kerja yang jauh lebih ruwet
o Oleh karena itu kode pengoreksi dua kesalahan yang pertama kali dibuat orang :
lebih didasarkan pada coba-coba (trial-and-error) daripada dirancang berdasarkan metode tertentu.
• Akhirnya Slepian pada tahun 1956 mengambil teori koding yang berdasarkan sepenuhnya pada matematika, pada saat dia :
o berhasil menemukan relasi konsep koding dengan aljabar modern.
• Segera setelah itu , dengan memakai teori medan Galois, para ahli yang bernama :
o Bose, Chaudhuri dan Hocquenghem mengembangkan ke-lompok kode yang dapat mengoreksi kesalahan yang berulang-ulang (sekarang disebut dengan kode BCH (singkatan dari Bose-Chaudhuri-Hocquenghem) yang :
efisien dan mempunyai hubungan relative sederha-na dengan persyaratan perangkat keras bagi coding dan dekoding.
Pendeteksian Kesalahan Dengan Kode Siklis
- Meskipun sebagian besar upaya didalam penkodean (coding) yang telah dipelajari adalah yang berkaitan dengan kode-kode FEC = Forward Error Correction , namun pendeteksian kesalahan juga dipakai secara luas dilam komunikasi data modern
-
Pendeteksian kesalahan tersebut biasanya memerlukan lintasan catubalik dari penerima informasi ke pemancar , yang memberi tahu bahwa telah terjadi kesalahan bit yang diterima , yaitu urutan bit informasi tidak cocok dengan urutan bit paritasnya-
Selanjutnya pemancar akan mengirim ulang urutan bit katakode yang benar-
Beberapa versi implementasi FEC adalah dengan cara :o
Pengenalan negatip (NAKs = Negative Acknowledments) berarti lintasan catubalik hanya diterapkan terhadap signal yang diterima salah saja , dimana pemancar akan mengirim ulang signal informasi jika signal NAK diterimao
Pengenalan positip (ACKs) berati bahwa lintasan catubalik hanya diterapkan terhadap signal yang diterima dengan benar saja , dimana akan secara otomatis dikirim ulang signal informasi dari pemancar jika tidak diterima signal ACK , selama interval waktu tertentuo
Kombinasi ACK dan NAK- Cara seperti yang disebutkan diatas disebut ARQ = Automatic Repeat reQuest , atau pengenalan dengan cara teknik pengiriman kembali (retransmission)
-
Semua jaringan switching data-paket dan jaringan komputer melakukan pendeteksian kesalahan dengan pengiriman kembali bilamana kesalahan terdeteksi-
Contoh jaringan-jaringan tersebut adalah :o
Jaringan-jaringan dengan pembagian waktu (time-shared networks)o
Jaringan-jaringan perusahaan swasta (private corporate networks) , misalnya perbankan , pemesanan tiket pesawat udara , penjualan produk manufacture secara eceran , dan sebagainya) dan jaringan-jaringan yang terus berkembang , yang menggunakan banyak komputer untuk komunikasi data secara bersama - Jaringan-jaringan ini terdiri atas banyak saluran komunikasi (jalur = link) yangdihubungkan dengan berbagai topologi jaringan , dengan pendeteksian kesalalahan dilakukan secara umum terhadap jalur-lalur tersebut
-
Kode siklis digunakan paling sering digunakan didalam melakukan fungsi pendetek-sian kesalahan-
Blok-blok data yang dikirimkan didalam jaringan-jaringan ini sering kali disebut dengan paket-
Paket-paket tersebut dapat berentang dari 500 sampai dengan 1000 bit panjangnya , bahkan lebih-
Jadi pengkoreksian kesalahan untuk kata-kode kode sepanjang itu bukanlah pekerjaan yang mudah-
Pendeteksian kesalahan terhadap kata-kata kode yang bit uji paritasnya tetap dapat mudah dilakukan-
Adanya q buah bit uji paritas memungkinkan setiap kesalahan lonjakan (burst error) sepanjang q buah bit (ataupun kurang) tersebut untuk dideteksi kesalahannya (jika terjadi)-
Pendeteksian tersebut tidak tergantung pada panjang paket data-
Karena pada umumnya dirancang agar k>>q (agar efisiensi pengkodean tinggi) , maka deret generator g( )
x , atau enkoder siklis jenis-sisa (remaider-type cyclic enco-der) pada umumnya digunakan didalam aplikasi pendeteksian kesalahan tersebut-
Misalkan kode siklis (n, k) , pada pendeteksian ini , dimana n=10;k =6;q=4-
Pada pendeteksian ini , k buah bit data tersebut dikelompokkan menjadi-
Perlu untuk dicatat bahwa hanya terdapat 1 bit saja didalam setiap lonjakan b buah bit (ataupun kurang) yang akan mempengaruhi setiap bit uji paritas , dan selanjutnya dapat yang dideksi-
Hal ini adalah benar , apakah lonjakan-lonjakan tersebut terjadi dalam salah satu dari segmen-segmen b buah bit , dimana urutan data telah dikelompokkan , ataupun bertumpang tindih sampai meluberi 2 buah segmen seperti itu-
Sebagai tambahan terhadap pendeteksian sebuah lonjakan didalam b buah bit (ataupun kurang) suatu kode linier dengan bit uji paritas sebanyak q = b buah bit akan mendeteksi lonjakan-lonjakan yang lebih panjang dengan prosentasi yang tinggi-
Jika sebagian daripada lonjakan b buah bit tersebut menyebabkan :o
b > q , maka yang tetap tak terdeteksi pada kode siklis (n, k) adalahq
−
2 , jika b > q + 1
o
Jika b = q + 1 maka yang tetap tak terdeteksi pada kode siklis (n, k) adalah ( 1)2−q−
-
Teoremao
Jika banyaknya kode paritas q cukup banyak , maka hampirsemua kesalah-an dapat terdeteksi
o
Sebagai misal jika q=16 , maka semua lonjakan kesalahan sebanyak 16 buah ataupun kurang akan dapat dideteksio
Jika bagian lonjakan kesalahan yang terjadi menyebabkan b>17 , maka yang tetap tak dapat dideteksi adalah 2−16s.d.4x10−6(suatu jumlah yang betul-betul kecil)o Untuk membuktikan teorema tersebut , misalkan suatu lonjakan kesalahan terjadi di pengelompokan b buah bits , mulai dari bit yang ke-i dan berakhir dengan bit yang ke-
[
i+(
b−1)
]
o Dalam bentuk deret lonjakan kesalahan (burst polynomial : b
( )
x =x'b1( )
xo b1
( )
x deret berpangkat tertinggi (b−1)→ 1( )= 1+ 2+ + + 1+ + 1+1 − − − − − b i i b b b x x x x x x b L Lo Jika diperlihatkan dengan gambar , dimana adanya kesalahan ditunjukkan dengan bit 1 , yang terjadi pada bit i dan bit diakhir lonjakan , yaitu bit
(
i+b−1)
sebagai berikut ini :
(
i b 1)
biti bit 1 1 L L L L L L L L L L L − + − − − −o Lonjakan kesalahan sepanjang b buah bit mempunyai kemungkinan sebanyak
2
2b−
buah simbol (1 atau 0) diantara permulaan dan akhir , yang bedasarkan difinisi , masing-masing dikendalai dengan bit 1 (untuk menyatakan bahwa pada urutan bit tersebut terjadi kesalahan)
o Hal ini sesuai dengan 2b−2 kemungkinan pattern lonjakan kesalahan disepan-jang b buah bit tadi , atau kemungkinan terjadinya 2b−2 buah bentuk daripada deret b1
( )
xo Oleh karena perhitungan bit uji paritas di penerima dilakukan dengan jalan pembagian oleh deret generator g
( )
x yang mempunyai pangkat tertinggi r ,satu kesalahan tetap tak terdeteksi , jika dan hanya jika b1
( )
x dapatdibagi oleh g
( )
xo Dari sini persyaratan bagi suatu pattern kesalahan lonjakan untuk tetap tak ter-deteksi adalah bahwa b1
( )
x mempunyai b1( ) ( ) ( )
x =g x Q xo Karena b1
( )
x adalah deret dengan pangkat tertinggi(
b−1)
dan g( )
x adalah deretdengan pangkat tertinggi q , maka Q
( )
x adalah deret dengan pangkat tertinggi(
)
[
b−1 −q]
o Kemungkinan yang bisa terjadi adalah :
Yang pertama adalah : lonjakan kesalahan sepanjang
(
b−1)
=q , sehingga pangkat tertinggi daripada Q( )
x adalah[
(
b−1)
−q]
=0 , sehi-ngga Q( )
x =1; dengan demikian hanya terdapat 1 patternlonjakan yang tak dapat terdeteksi
• Bagian lonjakan yang tak terdeteksi secara sederhana dirumuskan sebagai
Bagian dari lonjakan kesalahan yang tak terdetekasi = 2
2 1
−
b
=2−(q−1) dimana b −1 = q
Yang kedua adalah jika b−1 > q ; oleh karena pangkat tertinggi deret
( )
x[
(
b)
q]
Q adalah −1 − , dan harus berakhir dengan 1 , maka suku
dari-pada deret Q
( )
x adalah sebanyak[
(
b−1)
−q−1]
, yang masing-masing dengan koefisien 1 atau 0Kesalahan Pattern
Bagian dari lecutan kesalahan bit yang tak terdetekasi = b q q b 2 2 2 2 1 1 = − − − −
Dua kemungkinan hasil yang diperoleh diatas membuktikan bahwa kode yang dapat mendeteksi kesalahan dengan bit uji paritas moderat atau cukup , akan mendeteksi kejadian pada sebagian besar pattern lonjakan kesalahan
o Karena semua jaringan data maupun komputer yang modern menggunakan beberapa bentuk deteksi kesalahan dengan teknik ARQ bila menerima paket data yang salah , maka :
Pemakaian teknik pendeteksi kesalahan akan dapat mengurangi probabilitas terjadinya kesalahan suatu paket data , sehingga menjadi 2−q
Prosedur deteksi kesalahan yang khusus , mempunyai bit uji paritas dengan rentang antara 8 s.d. 32 buah bit
Standard internasional untuk pengontrolan jalur data (link data control) , adalah menggunakan protokol HDLC (High-Level Data Link Control) , dima-na pada pengontrolan jalur ini menggudima-nakan :
• bit uji paritas sebanyak 16 bit dan deret generator
( )x =x16+x12+x5+1
g
o Perhitungan sebenarnya daripada probabilitas kesalahan suatu paket atau blok data yang dilindungi oleh suatu bit uji paritas siklis ada-lah :
sulit dilakukan karena masih kurangnya pengetahuan tentang mekanis-me yang mekanis-menghasilkan ledakan-ledakan kesalahan khusus
Jika mekanisme yang dimaksudkan adalah :
• noise suhu yng terus-menerus terjadi dan pengaruh-penga-ruhnya diberi model sebagai AWGN = Additive White Gaussian Noise , maka :
o kesalahan-kesalahan bit yang berturut-turut didalam suatu burst (lecutanan bit) akan bebas satu sama lain
o Probabilitas bahwa suatu paket atau blok sepanjang n bit akan diterima salah adalah :
(
)
[
1− 1− p]
n≅np ; np<<1 ; p=probabilitaskesalahan bit Namun pada kanal telepon band terbatas , yang paling sering dipakai sebagai tulang punggung jalur komunikasi untuk jaringan-jaringan data , noisenya tidak dimodelkan sebagai kanal AWGN
Lecutan-lecutan kesalahan pada kanal ini berpengaruh terhadap :
• memory
• menimbulkan kesalahan yang tergantung pada :
o bit-bit yang berturut didalam suatu aliran data (data stream)
o Hal ini membuat perhitungan probabilitas-probabilitas kesalahan sangat sulit
o Namun demikian , pengujian-pengujian telah menunjukkan bahwa : pengaruh kesalahan terhadap blok-blok data :
• membuat suatu kesalahan blok bergerak sebanding sewaktu panjang blok bertambah
o hal ini adalah model yang tepat untuk :
probabilitas kesalahan blok yang mempu-nyai hubungan yang sebanding dengan panjang blok
o Dengan demikian dapat dirumuskan : np Pb ≅ = blok kesalahan as Probabilit
dimana p=suatu parameter yangditentukanberdasarkan pengamatan
o Jadi semakin panjang blok , maka semakin besar kesalahan yang terjadi
• Jika dilakukan pengujian siklis , hasil yang sederhana adalah 2 kejadian kesalahan −q tak dapat dideteksi (hal ini dilakukan dengan menganggap panjang lonjakan b > q , atau q >> 1
• Probabilitas kesalahan blok keseluruhan dapat didekati dengan :
q e np P ≅ 2− • Contoh : 1. 2.
Rangkuman
- Tekanan pembahasan sistem komunikasi digital ini adalah mengenai pengoptimalan rancangan sistem dengan memaximalkan kecepatan transmisi informasi , yang menghadapi kendala-kendala berupa daya signal terbatas , noise dan lebar pita
- Beberapa aspek optimisasi dibahas dari berbagai sudut pandang
- Dalam pembahasan tentang komunikasi biner , diutarakan tentang pengaturan ambang pengambilan keputusan , apakah suatu signal diputuskan bernilai 0 atau 1
- Konsep matched filter dibahas untuk pemaximalan SNR pada transmisi biner
- Ketidak samaan Schwarz digunakan didalam membicarakan jaringan emphasis (preamphasis dan deemphasis) yang optimal untuk transmisi analog FM dan AM
- Pembahasan tentang SNR , perubahan lebarpita pada sistem PCM - Teori Shanon tentang sistem transmisi digital optimum
- Pembahasan transmisi optimum dengan cara yang lebih statistik didalam sistem komu-nikasi digital
- Prosedur optimisasi pada sistem komunikasi digital berdasarkan minimisasi proba-bilitas terjadinya kesalahan bit , dalam keadaan adanya AWGN
- Prosedur ini akan menjawab pertanyaan “apakah ada gelombang-gelombang biner yang optimum dan mekanisme penerima yang optimum untuk meminimalkan probabilitas terjadinya kesalahan
- Pembahasan dimulai dari sample-sample signal tunggal yang diterima dan selanjutnya melakukan generalisasi terhadap sample-sample yang berulang (multiple) secara bebas - Dari probabilitas distribusi yang diketahui dapat diperoleh prosedur pemrosesan
opti-mum , yang terdiri atas peningkatan pengaturan perbandingan kemungkinam (like-lihood ratio) dan menentukan apakah perbandingan tersebut lebih besar atau lebih kecil dibandingkan dengan suatu konstanta yang diketahui
- Sebagai alternatip , prosedur optimum terdiri atas sample-sample signal terima ruang berdimensi-m , yang dapat dibagi menjadi 2 daerah untuk pengambilan keputusan yang tidak tumpang tindih (disjoint decision regions)
- Dengan melakukan pensignalan multidimensi yang menggunakan signal-signal ortho-gonal M-susun , maka :
o dapat diperoleh penurunan probabilitas kesalahan , namun : memerlukan lebarpita yang lebih lebar
rangkaian memjadi bertambah komplex
( )( )( ) ( ) ( )8 4 ( )3( )5 ( 14) 12 5 32 5 5 10 4 10 64 4 10 256 4 2 10 1000 2 10 1000 32 ; 1000 ; 10 − − − − − − − = = → ≅ = ≅ ≅ ≅ = n bits q bits P x p e ( )
( )( )
5 8 ( ) 5 5 10 2 256 105 500 2 10 500 8 ; 500 ; 10− = = → ≅ − − = ≅ − = n bits q bits P x p e- Cara diatas adalah hal yang khusus daripada teorema kapasitas kanal Shanon , dimana :
• secara teoritis dapat dibuat sistem komunikasi dengan probabilitas kesalahan rendah , meskipun terdapat adanya noise AWGN , sehingga :
o dapat dilakukan operasi pengkodean dan pendekodean seca-ra memuaskan
o Hal diatas dimungkinkan asalkan :
kecepatan transmisi bit = R bps tidak melebihi kapasitas kanal , yang mana :
kapasitas kanal tersebut ditentukan oleh :
• lebarpita kanal transmisi , daya signal rata-rata dan kerapatan spektral
- Penggunaan metode-metode untuk mendeteksi dan mengoreksi kesalahan bit adalah :
o sebagai suatu cara untuk memperbaiki kinerja sistem komunikasi digital
- Cara yang umum dilakukan untuk mendeteksi dan mengoreksi kesalahan bit adalah :
o dengan jalan menyisipkan bit-bit uji paritas dalam aliran biner (binary stream) , sehingga dimungkinkan untuk :
mendeteksi dan mengoreksi kesalahan dalam jumlah tertentu - Langkah yang diambil dalam hal ini adalah :
o memilih kode yang mendekati kinerja kesalahan yang diramalkan oleh Shanon
PEMBUATAN KODE SIKLIS
• Deret generator g
( )
x langsung dapat digunakan untuk pembuatan kode siklis• Pembuatan kode secara serial dapat dilakukan dengan mengimplementasikan register geser
• Dasar pemikirannya sebagai berikut :
• Berdasarkan rumus untuk deret katakode = c
( ) ( ) ( )
x =a x g x , dimana :o deret urutan data : d
( )
x =d1xk−1+L+dk−1x+dk ; derajat (pangkat tertinggi) deret ini adalah(
k−1)
o namum derajat deret urutan data bisa menjadi kurang dari
(
k−1)
jika d1 =0 hal ini tergantung pada nilai-nilai bit data
o operasi xn−kd
( )
x akan menghasilkan deret berderajat(
n−k) (
+ k−1) (
= n−1)
, atau lebih kecil bila koefisien dari suku deret yang berpangkat(
n−1)
adalah 0o
( )
( )
q
( ) ( )
x
r
x
x
g
x
d
x
n−k=
+
=
+
pembagian
hasil
sisa
pembagian
hasil
o Derajat deret( )
( )
x g x d xn−k adalah :(
) (
)
{
( )
}
[
n−k + k−1 − pangkat tertinggig x =q]
=(
n−1)
−q=k−1 o Deret kata kode =c( ) ( ) ( )
x =a x g x =xn−kd( ) ( )
x +r x( )
( )
( )
( )
( )
x g x d x x g x d x x r k n k n− − ==rem sisahasilpembagian
Buktikan bahwa kode
( )
7,3 jika kode datanya = d =111 , maka kata kodenya adalah : c=(
1110100)
Bukti :( )
( )
( )
(
)
1 1 1 rem rem 4 3 2 4 5 6 2 3 4 2 3 7 + + + + + = + + + + + = = − − x x x x x x x x x x x x x g x d x x r k n x2 1 2 3 4+ + + x x x x6+x5+x4( )
=rem( )
( )
= 2 =1 2 +0 +0( )
1 − x x x x g x d x x r k nJadi c=
(
d,koefisien-koefisien rem) (
=[
1110) ( )
, 100]
=(
1110100)
Arithmatika polynomial
Sebelum menentukan deret generator g
( )
x , akan dibahas lebih dahulu tentang arithmatika (perhitungan aljabar) perkalian dan pembagian polynomial sebagai berikut :• Misalkan w
( )
D =w0 +w1D+w2D2 +LL+wk−1Dk−1 adalah deret ukur , dimana nilaisetiap 0 1 1 2 , 1 , 0 atau w k j j = − = LL
• Jika semua nilai
( )
2 11 2 , 1 , 0 1 1 − − = = → = + + + + k k j j w D D D D w LL L L o Jika k =4→w
( )
D =1+D+D2 +D3• Jika untuk k =6 tidak semua
1 2 , 1 , 0 − = k j j w L L bernilai 1 , misalnya : o w0 =1;w1 =1;w2 =0;w3 =0;w4 =1;w5 =1 , maka :
( )
5 5 4 4 1 D w D w D D w = + + +• Polynomial tersebut memberi gambaran yang sesuai dengan vektor informasi – k bit :
1 2 1 0 − =w w w wk w LL
• Perhatikanlah beberapa polynomial berikut :
( )
( )
( )
( )
1 1 2 2 1 0 1 1 2 2 1 0 1 1 2 2 1 0 1 1 2 2 1 0 − − − − − − − − + + + + = + + + + = + + + + = + + + + = n n n n n n n n D e D e D e e D e D x D x D x x D x D y D y D y y D y D g D g D g g D g L L L L L L L L• Penjumlahan modulo-2 daripada 2 buah polynomial , misalnya :
( ) ( ) ( )
D x D e D y = +( )
1 1 2 2 1 0 1 1 2 2 1 0 − − − − + + + + + + + + + = n n n n D e eD e D e D x D x D x x D y LL LL 2 4 5 6 x x x x + + +( )
1 111→ = 2+ + = d x x x d 2 rem=x( )
(
) (
)
(
)
(
)
1 1 1 2 2 2 1 1 0 0 1 1 2 2 1 0 − − − − − = + + + + + + + + + + + + = n n n n n D x e x e D x e D x e D y D y D y y D y LL L Jadi : 1 1 1 1 1 1 0 0 0 − − − = + + = + = n n n x e y e x y e x y M Secara umum : yj =xj +ej• Perkalian daripada 2 polynomial , misalnya :
( ) ( )
{
}{
1}
1 2 2 1 0 1 1 2 2 1 0 − − − − + + + + + + + + = n n n n D w w D w D w D g D g D g g D w D g LL LL( ) ( )
2 2 1 1 1 2 1 1 1 1 0 1 1 1 3 2 1 2 1 1 0 1 1 1 0 2 2 0 1 0 0 0 − − − + − − − − − − − + + + + + + + + + + + + + + + = n n n n n n n n n n n n n D w g D w g D w g D w g D w g D w g D w g D w g D w g D w g D w g w g D w D g L L L L( ) ( )
(
)
(
)
(
)
(
+ + +L+)
+(
+ + +L)
+L + + + + + + + + + + = − − − − − − − − − − 2 4 2 3 1 2 0 1 0 1 2 2 2 1 1 0 1 1 3 0 3 2 1 3 0 2 0 2 1 1 2 0 0 1 1 0 0 0 0 n n n n n n n n n n n D w g w g w g D w g w g w g w g D w D w g w g w g D w g w g w g D w g w g D w g D w D g Dapat ditulis :( ) ( ) (
)
(
)
(
)
(
)
0 0 0 3 1 2 2 1 3 2 1 1 2 1 1 g D w D w g w g w g D w g w g D w g D w D g n k k n k k n k k n n k k n k k n n k k n + + + + + + = − − − − − − − − − − − − − − − + − − MKata kode keluaran adalah :
i q q i i q
w
g
x
− =∑
=
0dimana perhitungan dan rangkaian berikut ini secara konsep dapat digunakan untuk me-nggambarkan perkalian x
( )
D =w( ) ( )
D g D
Untuk menghitung persamaan diatas dapat dilakukan dengan menggunakan rangkaian logika berikut : 0 4 1 3 2 2 3 1 4 0 4 0 3 1 2 2 1 3 0 3 0 2 1 1 2 0 2 0 1 1 0 1 0 0 0 4 3 2 1 0 g w g w g w g w g w x q g w g w g w g w x q g w g w g w x q g w g w x q g w x q + + + + = → = + + + = → = + + = → = + = → = = → = Σ Σ Σ Σ X X X X X 3 n-k 2 1 k n g− gn−k−1 gn−k−2 gn−k−3 g0 1 2 1 0,x, ,xn− ,xn− x L Masukan 1 2 1 0,w, ,wk− ,wk− w L Keluaran