Kanal
Gelombang
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 q buah bit
• kemungkinan kharakter yang terjadi = m buah = 2 k buah
• pada kode kelompok banyaknya bit menjadi k + q = n buah bit
Jika salah satu kharakter tersebut adalah :
d = (d1 d2 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅dk )
d1 s/d k bernilai 0 atau 1 , maka :
• dengan memakai enkoder (alat untuk membuat kode), maka :
o kode kharakter data yang terdiri atas k bits tersebut diubah
menjadi 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 :
x = (x1 x 2 ⋅ ⋅ ⋅ ⋅ ⋅ xk x k +1 xk + 2 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅xk + q )
atau
x = (x1 x 2 ⋅ ⋅ ⋅ ⋅ ⋅ x k x k +1 xk + 2 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅xn )
Untuk kode sistematis, maka :
x1 = d1 x2 = d2 x3 = d3 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅xk = dk
Banyaknya bit uji paritas = q buah
3
x k +1 = h 11 d 1 + h 12 d 2 + h 13 d 3 + ⋅ ⋅ ⋅ ⋅ ⋅ + h 1k d k
xk+2 = h 21 d 1 + h 22 d 2 + h 23 d 3 + ⋅ ⋅ ⋅ ⋅ + h 2k d k
.......... .......... .......... .......... .......... .......... .......... ..
x k + q = x n = h q1 d 1 + h q2 d 2 + h q3 d 3 + ⋅ ⋅ ⋅ ⋅ + h qk d k
⎡ xk+1 ⎤ ⎡h11 h12 L h1k ⎤ ⎡d1 ⎤
⎢ x ⎥ ⎢h h22 L h2k ⎥⎥ ⎢d2 ⎥
⎢ k+2 ⎥ = ⎢ 21 ⎢ ⎥
⎢ M ⎥ ⎢ M M M M ⎥⎢ M ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥
⎣ xn ⎦ ⎣⎢hq1 hq2 L hqk ⎦⎥ ⎣dk ⎦
Contoh :
Suatu kode (15,11), mempunyai kode data :
d = (0 1 0 1 1 1 0 1 0 1 1) , dengan n = 15 ; q=4 dan k = 11 ;
Misalkan kode uji paritas dinyatakan dengan persamaan matrix sebagai berikut :
⎡0 ⎤
⎢1 ⎥
⎢ ⎥
⎢0 ⎥
⎢ ⎥
⎡ x12 ⎤ ⎡ 1 1 1 1 0 1 0 1 1 0 0⎤ ⎢1 ⎥ ⎡ 0 ⊕ 1 + 0 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 0 ⎤ ⎡0 ⎤
⎢ x ⎥ ⎢0 ⎢1 ⎥ ⎢
⎢ 13 ⎥ = ⎢ 1 1 1 1 0 1 0 1 1 0 ⎥⎥ ⎢ ⎥ ⎢ 0 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 0 ⎥⎥ ⎢⎢ 0 ⎥⎥
⎢ x14 ⎥ ⎢ 0 ⎢1 ⎥ = ⎢ =
0 1 1 1 1 0 1 0 1 1⎥ ⎢ 0 ⎥ ⎢ 0 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1 ⎥⎥ ⎢⎢ 0 ⎥⎥
⎢ ⎥ ⎢ ⎥
⎣ x15 ⎦ ⎣ 1 1 1 0 1 0 1 1 0 0 1⎦ ⎢ ⎥ ⎣ 0 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 1⎦ ⎣ 0 ⎦
⎢1 ⎥
⎢0 ⎥
⎢ ⎥
⎢1 ⎥
⎢ ⎥
⎣1 ⎦
Maka kode sistimatis lengkap yang dikirimkan adalah :
x = (x1 x2 LLLx11 x12 x13 x14 x15 ) = (0 1 0 1 1 1 0 1 0 1 1 0 0 0 0)
Jika m adalah salah satu dari 2k buah kode untuk data yang mungkin terjadi, maka salah satu
kode data adalah xm1 , xm 2 ,....., xmk .
Dengan kata lain salah satu kode data tesebut adalah :
x dm = [x m1 , x m 2 , L , x mk ]
4
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 :
xm = [xm1 xm 2 L xmn ]
Jika digambarkan secara blok diagram :
Masukan Keluaran
Enkoder
k bit n bit
Operasi enkoder yang dikerjakan dalam suatu enkoder blok biner linier dapat
digambarkan sebagai himpunan n buah persamaan dalam bentuk ma-
trix sebagai berikut :
c m j = x m1 g 1 j + x m 2 g 2 j + L + x m j g k j
dengan j = 1, 2, L , n ; m = 1, 2, ⋅ ⋅ ⋅ ⋅2 k
dimana g i j = 0 atau 1
Contoh :
Kode ( 7,4 ) ; maka m j adalah salah satu dari 2 4 kemungkinan kode
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 :
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
] 1 1 1 1
Contoh :
Kode (7, 3) dengan matrix uji paritas :
⎡1 1 0 0⎤
⎢0 1 1 0⎥⎥
⎡1 0 1 1 0 0 0⎤ ⎢
⎢1 ⎢1 1⎥
0 0⎥⎥
1 1
1 1 0 1 ⎢ ⎥
H =⎢ → p = H = ⎢1
T
0 0 0⎥
⎢0 1 1 0 0 1 0⎥
⎢ ⎥ ⎢0 1 0 0⎥
⎣0 0 1 0 0 0 1⎦ ⎢ ⎥
⎢0 0 1 0⎥
⎢0 1⎥⎦
⎣ 0 0
7
Kata kode : c = dG
Bila tanpa kesalahan bit maka : cH T = 0
Bila terjadi kesalahan bit yang diterima di dekoder , maka vektor kode yang diterima adalah :
r = c⊕e
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 = eH T
Jika 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
vektor kesalahann ya adalah e = (0 0 0 LL 1 LL 0 )
digit
ke − i
• 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 = d H ≥ 2 t + 1 → d H min = 2 t + 1
dimana :
t = banyaknya bit yang salah dan dapat dikoreksi
• Kode-kode yang dapat mengoreksi kesalahan tunggal : t = 1 → d H min = 2(1) + 1 = 3
•
4
Sebagai contoh adalah kode blok ( 7, 4) ; Efisiensi kode = R =
7
• 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
No berita Berita Kata kode Berita Kata kode
0 ⎡0 0 0 0⎤ ⎡0 0 0 0 0 0 0⎤ ⎡0 0 0 0⎤ ⎡0 0 0 0 0 0 0⎤
1 ⎢0 0 0 1 ⎥⎥ ⎢0
⎢ 0 0 1 0 1 1 ⎥⎥ ⎢1 0 0 0 ⎥⎥ ⎢1
⎢ 1 0 1 0 0 0 ⎥⎥
⎢ ⎢
2 ⎢0 0 1 0⎥ ⎢0 0 1 0 1 1 0⎥ ⎢0 1 0 0⎥ ⎢0 1 1 0 1 0 0⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
3 ⎢0 0 1 1⎥ ⎢0 0 1 1 1 0 1⎥ ⎢1 1 0 0⎥ ⎢1 0 1 1 1 0 0⎥
4 ⎢0 1 0 0⎥ ⎢0 1 0 0 1 1 1⎥ ⎢0 0 1 0⎥ ⎢1 1 1 0 1 1 0⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
5 ⎢0 1 0 1⎥ ⎢0 1 0 1 1 0 0⎥ ⎢1 0 1 0⎥ ⎢0 0 ` 1 0 1 0⎥
6 ⎢0 1 1 0⎥ ⎢0 1 1 0 0 0 1⎥ ⎢0 1 1 0⎥ ⎢1 0 0 0 1 1 0⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
7 ⎢0 1 1 1⎥ ⎢0 1 1 1 0 1 0⎥ ⎢1 1 1 0⎥ ⎢0 1 0 1 1 1 0⎥
⇒ dibalik menjadi ⇒
8 ⎢1 0 0 0⎥ ⎢1 0 0 0 1 0 1⎥ ⎢0 0 0 1⎥ ⎢1 0 1 0 0 0 1⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
9 ⎢1 0 0 1⎥ ⎢1 0 0 1 1 1 0⎥ ⎢1 0 0 1⎥ ⎢0 0 1 1 0 0 1⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
10 ⎢1 0 1 0⎥ ⎢1 0 1 0 0 1 1⎥ ⎢0 1 0 1⎥ ⎢1 1 0 0 1 0 1⎥
11 ⎢1 0 1 1⎥ ⎢1 0 1 1 0 0 0⎥ ⎢1 1 0 1⎥ ⎢0 0 0 1 1 0 1⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
12 ⎢1` 1 0 0⎥ ⎢1 1 0 0 0 1 0⎥ ⎢ 0` 0 1 1⎥ ⎢0 1 0 0 0 1 1⎥
13 ⎢1 1 0 1⎥ ⎢1 1 0 1 0 0 1⎥ ⎢1 0 1 1⎥ ⎢1 0 0 1 0 1 1⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
14 ⎢1 1 1 0⎥ ⎢1 1 1 0 1 0 0⎥ ⎢0 1 1 1⎥ ⎢0 0 1 0 1 1 1⎥
15 ⎢1
⎣ 1 1 1 ⎥⎦ ⎢1
⎣ 1 1 1 1 1 1 ⎥⎦ ⎢1
⎣ 1 1 1 ⎥⎦ ⎢1
⎣ 1 1 1 1 1 1 ⎥⎦
• 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 :
10
• 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
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 :
⎡0 0 0 0⎤
⎢0
⎢ 0 0 1 ⎥⎥
⎢0 0 1 0⎥
⎢ ⎥
⎢0 0 1 1⎥
⎢0 1 0 0⎥
⎢ ⎥
⎢0 1 0 1⎥
⎢0 1 1 0⎥
⎢ ⎥
⎢0 1 1 1⎥
⎢1 0 0 0⎥
⎢ ⎥
⎢1 0 0 1⎥
⎢ ⎥
⎢1 0 1 0⎥
⎢1 0 1 1⎥
⎢ ⎥
⎢1 1 0 0⎥
⎢1 1 0 1⎥
⎢ ⎥
⎢1 1 1 0⎥
⎢1
⎣ 1 1 1 ⎥⎦
⎡0 0 0 0⎤ ⎡0 0 0 0 0 0 0⎤ ⎡0⎤
⎢0 0 0 1⎥⎥ ⎢0 0 0 1 0 1 1⎥⎥ ⎢⎢3⎥⎥
⎢ ⎢
⎢0 0 1 0⎥ ⎢0 0 1 0 1 1 0⎥ ⎢3⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢0 0 1 1⎥ ⎢0 0 1 1 1 0 1⎥ ⎢4⎥
⎢0 1 0 0⎥ ⎢0 1 0 0 1 1 1⎥ ⎢4⎥
⎢ ⎥ Ik P ⎢ ⎥ ⎢ ⎥
⎢0 1 0 1⎥ ⎢0 1 0 1 1 0 0⎥ ⎢3⎥
⎢0 1 1 0⎥ ⎡1 0 0 0 1 0 1⎤ ⎢0 1 1 0 0 0 1⎥ ⎢3⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢0 1 1 1⎥ ⎢⎢0 1 0 0 1 1 1⎥⎥ ⎢0 1 1 1 0 1 0⎥ ⎢4⎥
⎢1 = =
0 0 0⎥ ⎢0 0 1 0 1 1 0⎥ ⎢1 0 0 0 1 0 1⎥ ⎢3⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢1 0 0 1⎥ ⎣0 0 0 1 0 1 1⎦ ⎢1 0 0 1 1 1 0⎥ ⎢4⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢1 0 1 0⎥ ⎢1 0 1 0 0 1 1⎥ ⎢4⎥
⎢1 0 1 1⎥ ⎢1 0 1 1 0 0 0⎥ ⎢3⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢1 1 0 0⎥ ⎢1 1 0 0 0 1 0⎥ ⎢3⎥
⎢1 1 0 1⎥ ⎢1 1 0 1 0 0 1⎥ ⎢4⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢1 1 1 0⎥ ⎢1 1 1 0 1 0 0⎥ ⎢4⎥
⎢1 1 1 1⎥⎦ ⎢1 1 1 1 1 1 1⎥⎦ ⎢⎣7⎥⎦
⎣ ⎣
W ( x ) = non-zero weight = pembobot bukan nol = banyaknya bit bukan nol dalam 1 kata kode
k n−q q
• Efisiensi kode = code rate = = = 1−
n n n
k q
O Untuk kode blok khusus sebagaimana contoh diatas : = 1− q
n 2 −1
k
O Untuk efisiensi kode ≅ 1 → ≅1
n
k q q
O Untuk kode blok khusus ≅ 1 = 1− q → q ≅ 0 → 2q −1 ≅ ∞ → 2q ≅ ∞
n 2 −1 2 −1
Berarti q >> 1
12
⎡ h11 h12 L h1 k 1 0 0 L 0⎤
⎢h h 22 L h2 k 0 1 0 0 0 ⎥⎥
H = ⎢
21 q
⎢ M M M M M M M M M⎥
⎢ ⎥
⎢⎣ h q 1 hq 2 L h qk 0 0 0 L 1 ⎥⎦
o dimana bagian kanan dari matrix tersebut adalah matrix satuan (unit matrix)
qxq
o Dengan pemilihan matrix uji paritas tersebut maka harus dipenuhi :
H x = 0 ( dimana x = kode tertentu )
Dengan demikian :
⎢ ⎥
⎢⎣hq1 hq 2 L hqk 0 0 0 L 1⎥⎦
⎡ m1 ⎤
⎢m ⎥
⎢ 2⎥
⎡ h11 h12 L h1k 1 0 0 L 0⎤ ⎢ M ⎥ ⎡0⎤
⎢h ⎢ ⎥
h22 L h2k 0 1 0 L 0⎥⎥ ⎢mk ⎥ ⎢0⎥
=⎢ =⎢ ⎥
21
⎢M M M M M M M M M ⎥ ⎢ c1 ⎥ ⎢ M ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎣⎢hq1 hq 2 L hqk 0 0 0 L 1⎦⎥ ⎢ c2 ⎥ ⎣0⎦
⎢ M ⎥
⎢ ⎥
⎢⎣ cq ⎥⎦
13
Maka : h j1 m1 ⊕ h j 2 m 2 ⊕ L ⊕ h jk m k ⊕ c j = 0 ; j = 1, 2, L q
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 y i = xi ⊕ ei dengan i = 1, 2, L k .
⎧1 → y i ≠ xi
Jika ei = ⎨
⎩0 → y i = x i
Contoh :
x = [0 1 0 0 1] T
Kesalahan terjadi pada
e = [0 0 1 0 1] T → digit ke-3 dan ke-5
y = [0 1 1 0 0] 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 :
s = Hy
Lebih lanjut s dapat diuraikan menjadi : s = Hx ⊕ He
Karena Hx = 0 , maka :
s = He
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 :
s = [h1 j h2 j L hqj ] T
dimana j ≤ k
Contoh :
Kode ( 7,4 ) berarti k = 4 ; n = 7 ; q =3
⎡ h 11 h 12 L h 1 k q1 0 0 L 0⎤
⎢h h 22 L h2k 0 1 0 0 0⎥
H = ⎢ Hc = 0 ( dimana c = kode tertentu yang dikirim) ⎥
21
q
⎢ M M M M M M M M M⎥
⎢ ⎥
⎣⎢ h q 1 hq2 L h qk 0 0 0 L 1 ⎦⎥
]Dengan demikian :
⎡ h11 h12 L h1 k 1 0 0 L 0⎤
⎢h 0 ⎥⎥
Hc=⎢
⎢ M
21 h 22
M
L
M
h2 k
M
0
M
1
M
0
M
0
M
[
M⎥ 1
d d2 L dk c1 c2 L cq ] T
⎢ ⎥
⎢⎣ h q 1 hq 2 L h qk 0 0 0 L 1 ⎥⎦
14
⎡ d1 ⎤
⎢d ⎥
⎢ 2⎥
⎡ h11 h12 L h1k 1 0 0 L 0⎤ ⎢ M ⎥ ⎡0 ⎤
⎢ ⎥ ⎢ ⎥
⎢h h22 L h2 k 0 1 0 L 0⎥⎥ ⎢ d k ⎥ = ⎢0 ⎥
Hc = ⎢
21
⎢ M M M M M M M M M⎥ ⎢ c1 ⎥ ⎢ M ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣hq1 hq 2 L hqk 0 0 0 L 1⎥⎦ ⎢ c 2 ⎥ ⎣0 ⎦
⎢M⎥
⎢ ⎥
⎢⎣ c q ⎥⎦
:h j1 d 1 ⊕ h j 2 d 2 ⊕ L ⊕ h jk d k ⊕ c j = 0 ; j = 1, 2, L q
Untuk : q = 3 ; k = 4 ; d1 = 0 d 2 = 1 d3 = 1 d 4 = 0
j = 1 → h11 0 ⊕ h121 ⊕ h131 ⊕ h14 0 ⊕ c1 = 0 → h121 ⊕ h131 ⊕ c1 = 0
• Matrix Uji Paritas adalah :
⎡ c k +1 ⎤ ⎡ h 11 h 12 L h1 k ⎤ ⎡ d 1 ⎤
⎢ ck+2 ⎥ ⎢ L h 2 k ⎥⎥ ⎢ d 2 ⎥
⎢ ⎥ = ⎢ h 21 h 22
⎢ ⎥
⎢ M ⎥ ⎢ M M M M ⎥ ⎢ M ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣⎢ c n = c k + q ⎦⎥ ⎣⎢ h q 1 hq2 L h qk ⎦⎥ ⎣ d k ⎦
⎡d ⎤
⎡c5 ⎤ ⎡ h 11 h 12 h 14 ⎤ ⎢ 1 ⎥
h 13
→ ⎢⎢ c 6 ⎥ = ⎢h h 24 ⎥⎥ ⎢ 2 ⎥
d
⎥ ⎢ 21 h 22 h 23
⎢d ⎥
⎢⎣ c 7 ⎥⎦ ⎢⎣ h 31 h 32 h 33 h 34 ⎥⎦ ⎢ 3 ⎥
⎣d 4 ⎦
c 5 = h 11 d 1 ⊕ h 12 d 2 ⊕ h 13 d 3 ⊕ h 14 d 4
c 6 = h 21 d 1 ⊕ h 22 d 2 ⊕ h 23 d 3 ⊕ h 24 d 4
c 7 = h 31 d 1 ⊕ h 32 d 2 ⊕ h 33 d 3 ⊕ h 34 d 4
• 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 :
Pe , word ≈ Pn (2)
2 Pn (2) ≈ k ( n − 1 ) c 2
k
Pe , bit ≈
n
• Namun kesalahan-kesalahan yang terjadi berulang-ulang (multiple errors) akan
menyebabkan keruwetan atau komplikasi
15
- 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 diterima
o 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 tertentu
o 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 data untuk masyarakat (public-data networks)
16
o Jika bagian lonjakan kesalahan yang terjadi menyebabkan b > 17 , maka yang
tetap tak dapat dideteksi adalah 2−16 s.d . 4 x10−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 ( x )
o b1 ( x ) deret berpangkat tertinggi (b −1) → b1 (x ) = xb −1 + xb − 2 + L + xi + xi −1 + L + xb −b −1 + 1
o 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 :
1 LLLL 1 ← Pattern Kesalahan
− − LLL − −
bit (i + b − 1) LLLL bit i
o Lonjakan kesalahan sepanjang b buah bit mempunyai kemungkinan sebanyak
2b − 2 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 ( x )
o 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 ) dapat
dibagi oleh g ( x )
o Dari sini persyaratan bagi suatu pattern kesalahan lonjakan untuk tetap tak ter-
deteksi adalah bahwa b1 ( x ) mempunyai b1 (x ) = g (x )Q( x )
o Karena b1 ( x ) adalah deret dengan pangkat tertinggi (b − 1) dan g ( x ) adalah deret
dengan 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 pattern
lonjakan yang tak dapat terdeteksi
• Bagian lonjakan yang tak terdeteksi secara sederhana dirumuskan sebagai
1
Bagian dari lonjakan kesalahan yang tak terdetekasi = b − 2
2
− ( q −1)
=2 dimana b − 1 = q
Yang kedua adalah jika b − 1 > q ; oleh karena pangkat tertinggi deret
Q( x ) adalah [(b −1) − q ] , 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 0
18
2b −1− q −1
Bagian dari lecutan kesalahan bit yang tak terdetekasi =
b−2
= 2q
2
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 menggunakan :
• bit uji paritas sebanyak 16 bit dan deret generator
g (x ) = x16 + x12 + x 5 + 1
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 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 = probabilitas kesalahan 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
19
( )( )
p = 10 − 5 ; n = 1000 bits ; q = 32 bits → Pe ≅ (1000 ) 10 − 5 2 − 32 =
( ) ≅ 4 (10 ) ≅ 4 (10 ) ≅ 4 x10
1000 10 −5 −5 −14 −12
2. (2 )
8 4
(256 )
3
64
Rangkuman
- 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
x n− k d ( x )
o Derajat deret adalah :
g (x )
[(n − k ) + (k − 1) − { pangkat tertinggi g (x )= q }] = (n − 1) − q = k − 1
o Deret kata kode = c( x ) = a( x )g ( x ) = x n − k d ( x ) + r ( x )
x n − k d (x ) x n − k d (x )
r ( x ) = rem = sisa hasil pembagian
g (x ) g (x )
Contoh :
21
Buktikan bahwa kode (7, 3) jika kode datanya = d = 111 , maka kata kodenya
adalah : c = (1110100 )
Bukti :
d = 111 → d ( x ) = x + x + 1
2
r ( x ) = rem
x n − k d (x )
= rem 4
(
x7 −3 x 2 + x + 1
=
x6 + x5 + x 4 )
g (x ) x + x3 + x 2 + 1 x 4 + x3 + x 2 + 1
x2
x 4 + x3 + x 2 + 1 x6 + x5 + x 4
x6 + x5 + x 4 + x 2
rem = x 2
x n − k d (x )
r ( x ) = rem = x 2 = 1x 2 + 0 x + 0(1)
g (x )
Jadi 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 + w1 D + w2 D 2 + LL + wk −1 D k −1 adalah deret ukur , dimana nilai
setiap w j = 0 atau 1
j = 0 , 1, 2LLk −1
o Jika k = 4 → w(D ) = 1 + D + D 2 + D 3
o w0 = 1 ; w1 = 1 ; w2 = 0 ; w3 = 0 ; w4 = 1 ; w5 = 1 , maka :
w(D ) = 1 + D + w4 D 4 + w5 D 5
• Polynomial tersebut memberi gambaran yang sesuai dengan vektor informasi – k bit :
w = w0 w1 w2 LL wk −1
• Perhatikanlah beberapa polynomial berikut :
g (D ) = g 0 + g 1 D + g 2 D 2 + L L + g n −1 D n −1
y (D ) = y 0 + y1 D + y 2 D 2 + L L + y n −1 D n −1
x (D ) = x 0 + x1 D + x 2 D 2 + L L + x n −1 D n −1
e (D ) = e 0 + e1 D + e 2 D 2 + L L + e n −1 D n −1
• Penjumlahan modulo-2 daripada 2 buah polynomial , misalnya :
y ( D ) = x ( D ) + e( D )
y (D ) = x0 + x1 D + x 2 D 2 + LL + x n −1 D n −1 + e0 + e1 D + e2 D 2 + LL + en −1 D n −1
22
y (D ) = y 0 + y1 D + y 2 D 2 + LL + y n −1 D n −1 = (x 0 + e0 ) + (x1 + e1 )D + ( x 2 + e 2 )D 2 + L + (x n −1 + e n −1 )D n −1
Jadi :
y 0 = x 0 + e0
y1 = x1 + e1
M
y n −1 = x n −1 + en −1
Secara umum : y j = x j + e j
• Perkalian daripada 2 polynomial , misalnya :
{ }{
g (D )w(D ) = g 0 + g1 D + g 2 D 2 + LL + g n −1 D n −1 w0 + w1 D + w2 D 2 + LL + wn −1 D n −1 }
g (D )w(D ) = g 0 w0 + g 0 w1 D + g 0 w2 D 2 + L + g 0 wn −1 D n −1 + g 1 w0 D + g 1 w1 D 2 + g 1 w2 D 3 + L + g 1 wn −1 D n
+ L + g n −1 w0 D n −1 + g n −1 w1 D n + g n −1 w2 D n +1 + L + g n −1 wn −1 D 2 n − 2
g (D )w(D ) = g 0 w0 D 0 + (g 0 w1 + g 1 w0 )D + (g 0 w2 + g 1 w1 + + g 2 w0 )D 2 + (g 0 w3 + g 1 w2 + g 3 w0 )D 31 wn −1 D n
+ (g 0 wn −1 + g 1 wn − 2 + g 2 wn − 2 + L + g n −1 w0 )D n −1 + (g 0 wn − 2 + g 1 wn −3 + g 2 wn − 4 + L)D n − 2 + L
Dapat ditulis :
g (D )w(D ) = ( g n − k wk −1 )D n +1
+ ( g n − k wk − 2 + g n − k −1 wk −1 ) D n − 2
+ ( g n − k wk −3 + g n − k −1 wk − 2 + g n − k − 2 wk −1 )D n −3
M
+ (g 0 w0 )D 0
Kata kode keluaran adalah :
q
xq = ∑ wi g q −i
i =0
dimana perhitungan dan rangkaian berikut ini secara konsep dapat digunakan untuk me-
nggambarkan perkalian x(D ) = w(D )g (D )
q = 0 → x0 = w0 g 0
q = 1 → x1 = w0 g1 + w1 g 0
q = 2 → x2 = w0 g 2 + w1 g1 + w2 g 0
q = 3 → x3 = w0 g 3 + w1 g 2 + w2 g1 + w3 g 0
q = 4 → x4 = w0 g 4 + w1 g 3 + w2 g 2 + w3 g1 + w4 g 0
Untuk menghitung persamaan diatas dapat dilakukan dengan menggunakan rangkaian
logika berikut :
Keluaran
x0 , x1 , L, xn −2 , xn−1
Σ Σ Σ Σ
1 2 3 n-k
Masukan
w0 , w1 , L , wk − 2 , wk −1
23
Cara kerjanya :
D4 + D3 + D +1
D +
4
D +D
2
D3 + D2 + 1
D3 + D +1
D 2 + D → Sisa
• Perlu untuk diperhatikan bahwa hampir dalam semua kasus , hasil bagi polynomial
menghasilkan sisa
• Sisa hasil bagi ini ditulis dengan : Rg ( D ) [x(D )] = ρ (D )
• Untuk setiap kode siklis (n, k ) , semua vektor kode ( deret ukur kode = code-
polynomial ) dapat dinyatakan sebagai :
o Hasil kali dari suatu deret generator g (D ) , yang mempunyai derajat q = n − k
dengan deret berita w(D ) yang mempunyai derajat k − 1
o Hasilkali x(D ) = w(D )g (D ) mempunyai derajat (k − 1) + (n − k ) = n − 1
o Karena setiap berita terdiri atas k buah bit , maka akan terdapat 2k buah
kemungkinan berita , sehingga akan terjadi 2k buah deret ukur yang berbeda
w(D ) = w0 + w1 D + w2 D 2 + LL + wk −1D k −1 , sesuai dengan semua bilangan biner
yang mungkin terjadi untuk mengisi nilai koefisien w j
o Terdapat 2k buah katakode yang munkin terjadi
24
• Kata kode untuk suatu kode siklis biner dapat mudah dihasilkan dengan menggunakan
rangkaian sebagai berikut : Keluaran
x0 , x1 , L, xn −2 , xn−1
Σ Σ Σ Σ
1 2 3 n-k
Masukan
w0 , w1 , L , wk − 2 , wk −1
• Beberapa sifat penting daripada deret generator adalah sebagai berikut :
o Deret generator untuk setiap kode siklis adalah suatu faktor daripada D n + 1
o Karena itu akan tidak terdapat sisa jika dilakukan proses pembagian yang
panjang daripada D n + 1 oleh g (D )
o Setiap deret berderajat n − k , yang mana adalah sebuah faktor daripada
D n + 1 , adalah generator polynomial untuk suatu kode siklis (n, k )
o Derajat dari deret generator selalu n − k
o Pergeseran siklis ke-q daripada suatu katakode , adalah sisa daripada hasilbagi
D q x(D ) oleh D n + 1
• Deret generator g (D ) = g 0 + g1D + L + g n − k D n − k untuk kode siklis , adalah matrix
generator k x n sebagai berikut :
⎡ g 0 g1 L L g n − k 0 0 L 0 ⎤
⎢0 g g L g
⎢ 0 1 n − k −1 gn−k 0 L 0 ⎥⎥
o G = ⎢ 0 0 g 0 g1 L g n − k −1 g n − k L 0 ⎥
⎢ ⎥
⎢M M M M M M M M M ⎥
⎢⎣ 0 0 0 0 0 g0 g1 L g n − k ⎥⎦
• Matrix uji paritas untuk kode siklis adalah :
⎡hk hk −1 L L h0 0 0 L 0⎤
⎢0 h
⎢ k hk −1 L h1 h0 0 L 0 ⎥⎥
o H = ⎢0 0 hk hk −1 L h1 0 L 0⎥
⎢ ⎥
⎢M M M M M M M M M⎥
⎢⎣ 0 0 0 0 0 hk hk −1 L h0 ⎥⎦
Dimana h(D ) = h0 + h1D + L + hk D k , adalah hasil pembagian daripada D n + 1
oleh g (D )
o tidak terdapat sisa jika dilakukan proses pembagian yang panjang daripada
D n + 1 oleh g (D ) (sesuai dengan sifat 2 )
2k + 2
⎡ hk hk −1 L L h0 0 0 L 0⎤
⎢0 hk hk −1 L h1 h0 0 L 0 ⎥⎥
⎢
H =⎢0 0 hk hk −1 L h1 0 L 0⎥ k +1
⎢ ⎥
⎢M M M M M M M M M⎥
⎢⎣ 0 0 0 0 0 hk hk −1 L h0 ⎥⎦
25
2q
⎡g0 g1 L L g n−k 0 0 L 0 ⎤
⎢0
⎢ g0 g1 L g n − k −1 g n−k 0 L 0 ⎥⎥
G=⎢0 0 g 0 g1 L g n − k −1 g n−k L 0 ⎥ q
⎢ ⎥
⎢M M M M M M M M M ⎥
⎢⎣ 0 0 0 0 0 g0 g1 L g n − k ⎥⎦
• x(D ) = 1 + D + D 2 + D 4 + D 5 dibagi g (D ) = 1 + D + D 3
Kode-Kode Hamming
• Kode-kode Hamming adalah sekelompok kode yang ditemukan oleh R. W. Hamming
(1950)
• kode-kode Hamming ini semuanya mempunyai jarak minimum 3 , yang dapat :
o mengoreksi sebuah kesalahan tunggal (t = 1) didalam suatu kelompok n
o mendeteksi semua kesalahan ganda
• Kode-kode Hamming adalah kode-kode sistematis siklis linier
• Kode-kode Hamming dengan n = 2 j − 1 dan k = n − j akan ada jika interger j ≥ 3
k 2 j −1− j
• Nilai kode atau Efisiensi kode = R = =
n 2 j −1
• Tabel nilai kode atau efisienssi kode R :
j k n R = k /n
3 4 7 57 %
4 11 15 73 %
5 26 31 84 %
6 57 63 90 %
7 120 127 94 %
8 247 255 97 %
9 502 511 98 %
10 1013 1023 99 %
• Kode-kode Hamming selalu ditentukan oleh matrix uji paritas H , yang banyak
kolomnya = n − k = j dan banyak barisnya = n
• Kolom-kolom tersebut terdiri atas semua vektor komponen - j yang bukan nol
26
• Contoh :
o Matrix uji paritas untuk kode Hamming (7,4) adalah :
⎡1 0 0 1 0 1 1 ⎤
H = ⎢⎢0 1 0 1 1 1 0⎥⎥
⎢⎣0 0 1 0 1 1 0⎥⎦
o Matrix generator untuk kode-kode Hamming diperoleh dengan menggunakan
hubungan :
x m = [x m, 0 x m,1 L x m,n − k −1 wm, 0 wm ,1 L wm ,k −1 ]
⎡ g 0,0 g 0,1 L g 0,n − k −1 1 0 0 L 0⎤
⎢ g g 1,1 L g1,n − k −1 0 1 0 L 0⎥⎥
⎢ 1, 0
x m = [wm , 0 wm ,1 L wm ,n −1 ] ⎢ g 2, 0 g 2,1 L g 2,n − k −1 0 0 1 L 0⎥
⎢ ⎥
⎢ M M M M M M M M M⎥
⎢ g k −1,0 g k −1,1 L g k −1,n − k −1 0 0 0 L 1⎥⎦
⎣
x m = [wm, 0 wm ,1 L wm ,n −1 ] [G ]
asalkan kode-kodenya linier sistematis
• Generator polynomial g (D ) adalah :
o Anggota dari kelas polynomials tertentu yang disebut dengan polynomials
primitip
o Tabel singkat daripada polynomial primitip yang dapat digunakan sebagai
generator bagi kode-kode Hamming , sampai dengaan panjang =
n = 2 − 1 adalah sebagai beri-kut :
k
j j
3 1 + D + D2 14 1+ D + D6 + D10 +
4 1 + D + D4 15 D14
5 1 + D + D5 16 1+ D + D15
6 1 + D + D6 17 1+ D + D3 + D12 +
7 1 + D3 + D7 18 D16
8 1 + D2 + D3 + D4 +D8 19 1+ D3 + D17
9 1 + D4 + D9 20 1+ D7 + D18
10 1 + D3 + D10 21 1+ D2 + D3 + D4 +D8
11 1 + D2 + D11 22 1+ D3 + D20
Pengenkodean Kode-kode Hamming
• Enkoder yang digunakan bagi kode-kode Hamming terdiri dari berbagai bentuk :
o Jika kecepatan pengenkodean tidak kritis , maka :
Enkoder dapat diimplementasikan / dilakukan dalam software , dengan
jalan menghitung perkalian ma-trix generator secaaara langsung
o Jika kecepatan pengenkodean kritis , biasanya diguna-kan implementasi yang
lain
• Gambar berikut ini melukiskan implementasi secara langsung bagi suatu enkoder
Hamming , yang dapat dibuat dengan memakai rangkaian logika berkecepatan tinggi
•
• Register geser (k − 1)bits dipuncak gambar menerima bit-bit in-formasi dari sumber
data
• Setelah register masukan terisi , maka keluaran modulo-2 adders adalah simbol-simbol
kata kode yang benar
27
• Biasanya, banyaknya bit uji paritas < banyaknya bit kharakter, agar efisiensi kode >
50 %
• Dengan demikian daya yang digunakan untuk pengiriman kode sebagian besar
digunakan untuk keperluan pengiriman kode kharatter.
• Bit uji paritas tersebut isinya tergantung pada kode kharakter
• Tiap-tiap kharakter mempunyai bit-bit penguji sendiri-sendiri
• Banyaknya bit uji paritas tersebut paling sedikit sebanyak 3 bit
• Banyaknya perbedaan bit tersebut disebut dengan jarak Hamming (Hamming
distance)
• Jadi untuk kode ( 7,4 ), dimana :
o banyaknya bit seluruhnya = n = 7
o banyaknya bit untuk kharakter = k = 4
o banyaknya bit uji paritas adalah = q = n − k = 3
o karena itu untuk kode ( 7 , 4 ), jarak Hammingnya adalah = k − q = 4 − 3 = 1
• Kode yang mengikuti aturan ini disebut dengan kode Hamming
• Syndrome s pada kode belitan (convolution code) terdiri atas q bit
• Sebagai contoh jika :
o banyaknya bit keseluruhan = n = 7
o banyaknya bit uji paritas = q = 4
o maka banyknya bit kharakter = k = n − q = 7 − 4 = 3 .
• Jika tanpa kesalahan penerimaan bit, maka :
o syndrome nya adalah = s = 000
o Jika syndromnya = s = 001 → maka terjadi kesalahan pada bit ke-1 (dari yang
paling kiri atau LSB)
o Oleh karena itu diperlukan petunjuk (n + 1) buah kesalahan (dibuktikan
pada contoh dihalaman berikutnya)
o Apa yang ditunjukan pada contoh itu adalah tentang kode yang :
“tanpa kesalahan” (no error)
satu kesalahan pada setiap digit dari kata kode
lebih dari satu kesalahan pada setiap digit dari kata kode , sampai
dengan seluruh digit kata kode salah
q
adanya 2 buah kemungkinan syndrom yang berlain-an
• Sebagai contoh, untuk menjelaskan pernyataan diatas , diam-bil :
o suatu kode yang banyaknya bit keseluruhan = n = k + q = 3+ 4 = 7
o
Untuk kode kharakter 000 :
1. Jika tanpa kesalahan penerimaan, syndrome-nya = s = 000
2. Jika terjadi kesalahan pada bit pertama (LSB) → s = 001
3. Jika terjadi kesalahan pada bit kedua → s = 010
4. Jika terjadi kesalahan pada bit ketiga → s = 100
5. Jika terjadi kesalahan pada bit pertama dan kedua → s = 011
⎡0 0 0 1 1 1 1⎤
H = ⎢⎢ 0 1 1 0 0 1 1 ⎥⎥ Banyaknya baris = q = 7 – 4 = 3
⎢⎣ 1 0 1 0 1 0 1 ⎥⎦
Banyaknya kolom = n = 7
• Dibandingkan dengan matrix uji paritas pada kode blok sebelumnya, dapat dilihat
bahwa
o kode Hamming ini bukan kode yang sistematis
o Hal ini disebabkan bahwa posisi-posisi digit uji paritas harus sesuai dengan
kolom-kolom H yang hanya mempu-nyai sebuah digit 1
29
dalam hal ini, jika dilihat dari matrix H diatas , maka kolom-kolom
yang memenuhi syarat adalah kolom ke-1 dan kolom ke-2 saja
• Untuk lebih jelas, perhatikan kata kode ( 7, 4 ) berbentuk sebagai berikut :
x = [c1 c2 m1 c3 m2 m3 m4 ] T
• Digit-digit paritasnya adalah sesuai dengan persamaan beikut :
c1 = m 1 ⊕ m 2 ⊕ m 4
c2 = m1 ⊕ m 3 ⊕ m 4
c3 = m 2 ⊕ m 3 ⊕ m 4
• Contoh : Untuk kata kode dengan :
m1 = 0 ; m 2 = 1 ; m 3 = 1 ; m 4 = 1
c 1 = 0 ⊕ 1 ⊕ 1 = 10 → diambil = 0
c 2 = 0 ⊕ 1 ⊕ 1 = 10 → diambil = 0
c 3 = 1 ⊕ 1 ⊕ 1 = 11 → diambil =1
• Jika penulisan kode berita dilakukan secara pembacaan terbalik, artinya jika kode
untuk menyatakan nilai suatu level amplitudo, misalnya amplitudo yang terdiri atas 4
30
level, yang biasanya bilangan binernya adalah 0100 dibalik penulisannya menjadi dari
arah sebelah kanan sehingga menjadi 0010 , ma-ka :
o tabelnya akan berubah menjadi tabel kode Hamming berikut ini :
No Berita Kata kode
0 0000 0000000
1 1000 1101000
2 0100 0110100
3 1100 1011100
4 0010 1110010
5 1010 0011010
6 0110 1000110
7 1110 0101110
8 0001 1010001
9 1001 0111001
10 0101 1100101
11 1101 0001101
12 0011 0100011
13 1011 1001011
14 0111 0010111
15 1111 1111111
Jika kata kode untuk berita nomor 2 yaitu 0110100 dikirimkan dan kesalahan terjadi pada posisi 1, 2
dan 4, maka :
• signal yang salah tersebut adalah :“1011100” , yang mana berarti sama dengan kata kode
untuk berita nomor 3
• Karena itu detektor akan menganggap berita nomor 2 sebagai berita nomor 3
• Jadi dengan terjadinya 3 kesalahan, maka detektor tidak dapat mendeteksi kesalahan tersebut
• Jika kesalahan lebih dari 3 bit, maka hanya akan dapat mende-teksi kesalahan jika kata kode
yang diterima (atau vetor yang diterima) tidak sama dengan kata kode yang ditunjukkan pada
table
• Banyaknya perbedaan diantara sepasang kata kode yang berturutan, misalnya xm dan xm’ ,
adalah sesuatu yang benar-benar penting dan disebut dengan :
o jarak Hamming ( Hamming –distance )
• Simbolnya adalah dH atau dH ( xm , xm’ )
Berdasarkan tabel kata kode yang terdapat pada halaman sebelum-nya, maka dapat dilihat
bahwa setiap kata kode yang digunakan un-tuk menyatakan sebuah berita, maka :
• Setiap kata kode yang berturutan nilainya berbeda 3 posisi
• Berita berbeda dapat mempunyai bit uji paritas yang sama
• Bit uji paritas ditulis mendahului bit data
• Dengan demikian 1 atau 2 kesalahan transmisi tidak akan dapat mengubah suatu kata
kode menjadi kata kode yang lain
• Karena itu dekodernya akan dapat memberitahukan kepada pengguna bahwa telah
terjadi kesalahan transmisi (meskipun tidak dapat mengoreksi kesalahan tersebut
• Namun jika terjadi 3 kesalahan transmisi maka akan dapat mengubah kata kode yang
dipan-carkan menjadi sebuah blok yang sama dengan kata kode yang memenuhi syarat
• Karena itu dekodernya tidak akan dapat mendekti dan mengo-reksi kesalahan.
Tabel tertentu yang dibuat sebagai contoh tersebut adalah termasuk kelompok kode Hamming
31
Contoh :
Kode Hamming ( 7,4 ) sebagaimana diberikan pada tabel kode Hamming diatas, misalkan
mempunyai keluaran kanal simetrik biner seperti yang dituliskan berikut ini :
y = 1011010
Detektor menghitung jarak-jarak Hamming antara y dan semua kata kode yang mungkin
terjadi xm .
Keluaran dekoder mengistimasikan x& adalah x m yang mempunyai jarak minimum dari y.
Dari tabel kode Hamming, kata kode nomor lima adalah :
x5 = 0011010.
Jarak Hamming antara y dan x5 adalah pertambahan modulo-2 antara y dengan kata kode x5,
yaitu 1011010 + 0011010 = 1000000.
Bobot Hamming-nya = 1 = jarak Hamming minimum.
Jadi jarak Hamming minimum antara y dan xm akan terjadi antara y dengan kode berita untuk
x5 = 0011010 .
Vektor Kesalahan
32
Jika kata kode xm ditransmisikan menggunakan Kode Simetrik Biner ( BSC = Binary Sym-
metric Code ) , maka selama transmisi kesalahan dapat terjadi.
Vektor kesalahannya dapat ditulis sebagai e = e0 e1 e2 ⋅ ⋅ ⋅ ⋅ ⋅ en −1
Jika salah satu atau lebih dari nilai vektor tersebut adalah “1”, maka telah terjadi kesalahan
transmisi diposisi bit tersebut.
Contoh :
Vektor kata kode → xm = 0 1 1 0 1 0 0
Vektor kesalahan → e =1 1 0 1 0 0 0
Vektor yang diterima → y = 1 0 1 1 1 0 0
Jika kanal dianggap tak bermemory, maka probabilitas terjadinya kesalahan pada setiap sim-
bol tertentu adalah tak tergantung pada semua simbol yang lainnya.
Jadi pada kode simetrik biner, probabilitas-probabilitas transisi ( transition probabilities
BSC ) adalah konstan untuk seluruh transmisi.
Maka :
Pr [ y x] = Π Pr ( y n ' x n ' )
n −1
n'
n
• Kode asli tersebut secara seri digeser melalui register geser sehingga pada
setiap penggeseran akan menghasilkan kode yang terdiri atas n buah bit
• Hal ini dapat dicapai dengan jalan membuat rangkaian tertentu yang dapat memenuhi
kebutuhan yang diinginkan
• Teknik yang diterapkan untuk mencapai keinginan itu adalah dengan menggunakan
rangkaian sebagai berikut :
Jika qw= banyaknya abjad , maka setiap simbol terdiri atas log2 qw digit biner.
Contoh :
qw = 256 = 28
Setiap simbol terdiri atas log2 28 = 8 buah digit biner
Kecepatan bit sumber informasi per detik = banyaknya bit per detik :
1
Rm = log 2 qw bps
Tm
dimana :
Tm = waktu yang diperlukan untuk menyatakan sebuah simbol
bit
Banyaknya bit per simbol = Rm ' = log 2 qw
simbol
• Meskipun urutan keluaran sumber informasi dapat dinyatakan dengan suatu arus
bit (bit stream) yang mempunyai kecepatan Rm bps, namun biasanya :
o dimungkinkan untuk menyatakan urutan dengan menggunakan arus bit
dengan kecepatan yang lebih rendah
o Kecepatan bit terendah yang mungkin adalah sama dengan kandungan
informasi rata-rata dari urutan simbol
o Kandungan informasi pada setiap simbol , yang berarti banyaknya bit
setiap simbol, adalah :
I ( j ) = − log 2 Pw ( j ) ; j = 0, 1, 2,........., qw − 1
yang mana adalah :
fungsi probabilitas kejadian simbol tersebut
• Rumus tersebut memperlihatkan bahwa :
o kejadian keluarnya event dari sample yang ada adalah :
lebih sering tidak sama besarnya dibandingkan dengan kejadian
keluaran event yang sama pada bidang komunikasi ini
Dengan kata lain random events outcome lebih sering terjadi
dibanding dengan equally likely events outcome.
• Probabilitas keluaran yang kecil akan menghasilkan kandungan
informasi yang tinggi
• Jika banyaknya abjad hanya 1, maka simbolnya hanya terdiri atas 1 bit sehingga
probabilitas keluarnya simbol tersebut adalah Pw( j ) =1
• Akibatnya kandungan informasinya = 0, atau tanpa kandungan in-
formasi apapun juga
37
Entropy
Intisari dari teori komunikasi adalah tentang :
• ukuran informasi
• Yang dimaksudkan dengan informasi didalam teori komunikasi ini adalah :
o segala sesuatu yang dihasilkan oleh sumber berita untuk ditransfer
ke pengguna yang memerlukannya
• Jika isi informasi yang ditransfer ke pengguna tersebut , mempunyai :
o kemungkinan yang kecil untuk diketahui lebih dahulu oleh
pengguna, maka :
nilai informasinya tinggi
o Sebaliknya :
o jika kemungkinannya besar, maka nilai informasinya rendah.
Sebagai contoh jika seseorang berpapasan dengan temannya, lalu bertanya :
• “kemana kamu hendak pergi”
• jika dijawab :
o ”saya mau kedepan “, maka :
nilai informasi yang didapat oleh penanya adalah rendah
sekali, sebab sipenanya hampir sudah pasti tahu bahwa
kemungkinan temannya berjalan menuju kearah depan
Namun jika temannya yang ditanya tadi menjawab : “saya mau ke stasiun bis”, maka nilai
informasi yang diperoleh penanya adalah tinggi, sebab kemungkinan bahwa yang ditanya
akan menuju ke stasiun bis hanya merupakan sebagian kecil dari kemungkinan-kemungkinan
lain yang bisa kerjadi.
Nilai informasi disebut juga dengan entropy. Simbol untuk intropy adalah H(X).
Rumusnya adalah sebagai berikut :
Probabilitas isi informasi diketahui lebih dahulu oleh pengguna
informasi = P ( xi ) =
1
untuk semua i.
n
Maka entropynya adalah :
n n n
H ( X ) = −∑ P ( xi )log P ( xi ) = −∑ log = −∑ (− log n )
1 1 1
i =1 i =1 n n i =1 n
n
1
= ∑ log n
i =1 n
Informasi yang terkandung dalam sebuah gambar
Sering dikatakan bahwa sebuah gambar lebih bermakna daripada ribuan kata. Suatu gambar
dapat diuraikan dalam sejumlah titik dis-krit atau elemen, dimana masing-masing elemen
38
tersebut mempu-nyai level “kecerahan” (brightness) yang rentang-warnanya mulai dari warna
hitam sampai ke warna putih.
Sebagai contoh sebuah gambar pada televisi baku, mempunyai elemen kecerahan seba-
nyak 500 x 600 = 3 x 10 5 buah dan 8 buah level yang dengan mudah dapat dibedakan.
3 x105
Dengan demikian terdapat 8 buah elemen gambar yang mungkin terjadi, dengan masing-
nasing gambar mempunyai kemungkinan kemunculan yang sama, yaitu 8 − 3 x10 , apabila dia-
5
nggap semua kemunculan gambar berlangsung secara acak. Oleh karena itu jika semua
elemen gambar yang mungkin terjadi tersebut dinyatakan dengan digit-digit biner, maka
kebutuhan bit yang dapat memfasilitasi semua elemen gambar tersebut ada-lah sebesar :
ℑ = log2 83 x10 = 3x105 x3 ≅ 106 bits
5
Entropy PCM
0 0 P1 = 0.5
01 P2 = 0.25
1 0 P3 = 0.125
1 1 P4 = 0.125
Contoh :
Misalkan suatu sumber informasi menghasilkan tiga buah kemung-kinan simbol, yaitu A,B
atau C, dengan probabilitas 0.7, 0.2 dan 0.1, selama interval pensignalan berturut-turut.
Ditanyakan :
(a) carilah kandungan informasi per simbol !
(b) carilah entropy atau informasi rata-rata dari keluaran sumber !
(c) jika setiap detik dikirim 1000 simbol oleh sumber informasi , carilah kecepatan informasi
rata-rata !
(d) Berapakah kecepatan informasi maximum yang mungkin ?
Jawab:
(a). Kandungan informasi setiap simbol :
untuk simbol A, adalah : I(A) = -log2 (0.7) = 0.515 Semakin tinggi ke-
untuk simbol B, adalah : I(B) = -log2 (0.2) = 2.322 mungkinannya, sema-
kin rendah kandung-
untuk simbol C, adalah : I(C ) = -log2 (0.1) = 3.322 an informasinya
(b). Entropy-nya dicari dengan rumus :
n
H (W ) = −∑ P( x i ) log P( x i )
i =1
Jadi entropy-nya adalah :
Perlu dicatat bahwa seiap simbol atau kharakter harus dinyatakan dengan bit yang banyaknya
bulat, bukan pecahan. Jadi jika dalam perhitungan setiap simbol terdiri atas susunan bit seba-
bit
nyak H(W) = 1.157 , maka dalam praktek setiap simbol harus dinyatakan dengan lebih
simbol
dari 2 bit.
Contoh :
Pada sistem komunikasi PCM, dimana inputnya adalah signal pembicaraan manusia yang
lebar pita frekuensi W = 4 kHz. Fekuensi sampling = fs = 2W = 8 KHz. Setiap simbol digital
dinyatakan dalam 8 bit. Probabilitas keluarnya simbol dianggap bahwa 12.5 % dari seluruh
3
simbol masing-masing adalah , 25 % dari seluruh simbol masing-masing adalah
256
2 1
dan sisanya masing-masing adalah .
256 1280
a. entropy sistem PCM – nya.
b. bit-rate-nya.
Jawab:
Karena setiap simbol dinyatakan dalam 8 bit, maka m = 28 = 256. Maka banyaknya simbol
yang mungkin terjadi adalah 256.
Simbol-simbol yang mungkin terjadi adalah :
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 0
M M M M M M M M
1 1 1 1 1 1 1 1
a. Entropy sistem PCM adalah :
⎛ ⎞
m ⎜ ⎟
= ( 12 . 5 % x 256 ) ⎜
1 3 1
H = ∑ P j log log 2 ⎟
j =1 Pj ⎜ 256 3 ⎟
⎜ ⎟
⎝ 256 ⎠
⎛ ⎞ ⎛ ⎞
⎜ ⎟ ⎜ ⎟
+ ( 25 % x 256 ) + ( 67 . 5 % x 256 ) ⎜
⎜ 2 1 ⎟ 1 1 ⎟
log 2 log 2
⎜ 256 2 ⎟ ⎜ 1280 1 ⎟
⎜ ⎟ ⎜ ⎟
⎝ 256 ⎠ ⎝ 1280 ⎠
⎛ 3 256 ⎞ ⎛ 1 ⎞ ⎛ 1 ⎞
H = 32 ⎜ log 2 ⎟ + 64 ⎜ log 2 128 ⎟ + 160 ⎜ log 2 1280 ⎟
⎝ 256 3 ⎠ ⎝ 128 ⎠ ⎝ 1280 ⎠
⎛ 256 ⎞
H = 0.375 ⎜ log 2 ⎟ + 0.5 (log 2 128 + log 1280 )
⎝ 3 ⎠
H = 0.375 (8 − log 2 3) + 0.5 (7 + 7 − log 2 10)
= 3 − 0.594 + 7 − 1.661 = 7.745 bit / simbol
42
Dengan frekuensi sampling = fs = 8 kHz, maka periode sampling = Ts= 125 μ detik
1
Dalam 1 detik terdapat = 8000 simbol yang dikirim.
125 x10− 6
Dengan entropy 7.745 bits/simbol, maka dalam 1 detik akan dikirim R = 8000x7.745 =
61960 bit/detk.
]
Kata-kata Sumber
kode Info Reduksi Reduksi
Huffman Asli 1 2
0.70 0.70 1. 0
A A ABC
0
43
1
0
Dikolom pertama terlihat kata-kata kode Huffman yang berkaitan dengan 3 simbol A,B,C.
Pada kolom kedua terlihat simbol-simbol gabungan yang dimaksudkan disertai probabilitas
keluarnya simbol untuk dikrimkan ke tujuan.
Langkah dikolom ke-2 ini , dapat dilihat bahwa B dan C digabung menjadi simbol BC, yang
probabilitasnya menjadi = 0.20 + 0.10 =0.30.
Garis-garis terlihat menghubungkan simbol-simbol asli dengan reduksi pertama. Hanya garis-
garis yang menghubungkan simbol-simbol yang sedang digabung diberi label sebuah “0” dan
sebuah “1”.
Simbol-simbol dari sumber informasi yang tereduksi sekarang diatur lagi dengan jalan mem-
perkecil order dari probabilitas-probabilitas yang berturutan.
Sumber informasi yang tereduksi adalah simbol yang banyaknya kurang satu dibandingkan
dengan sumber informasi masukannya.
Reduksi terhadap sumber informasi ini berlanjut sampai tinggal satu simbol informasi
gabungan tunggal saja, dimana probabilitasnya adalah 1.
Keluaran kode Huffman untuk simbol-simbol informasi asli, secara sederhana adalah urutan
dati “0” dan “1”, yang didapatkan dari simbol gabungan terakhir dari smibol sumber in-
formasi asli.
Sekali lagi perlu dijelaskan bahwa simbol-simbol itu diperuntukkan untuk dibuat cabang-
cabang , dimana simbol-simbol itu digabung.
Kata-kata kode Huffman dapat dilihat pada gambar sebelumnya.
Jika banyaknya kode yang mungkin keluar adalah n jenis dan panjang katakode yang ke-j
dinyatakan dengan lj , dan probabilitas keluarnya simbol j tersebut adalah Pw( j ), maka
panjang kode rata-rata adalah :
n −1
L= ∑l j Pw ( j )
j =0
Pada contoh sebelumnya , n = 3 , yaitu A,B dan C , dengan kata kode A panjangnya 1 bit ;
kata kode B panjangnya 2 bit ; kata kode C panjangnya 3 bit ; probabilitas masing-masing
berturut-turut adalah P(A) = 0.70 ; P(B) =0.20 ; P(C ) = 0.10, maka :
n −1
L= ∑l j Pw ( j ) = l 0 Pw (0 ) + l1 Pw (1) + l 3 −1 Pw (3 − 1)
j=0
= 1 x 0 . 70 + 2 x 0 . 20 + 2 x 0 . 10 = 1 . 30
Nilai ini lebih besar dari nilai minimum yang mungkin, yaitu 1.157 (sudah dihitung
sebelumnya).
44
Hasil ini jauh lebih baik dibandingkan apabila tidak digunakan koding, dimana diperlukan
bit
2.00 ingat : karena ada 3 buah simbol, maka diperlukan 2 bit per simbol, jika
simbol
tidak dilakukan teknik pengkodean Huffman.
Dasar pemikiran teori informasi adalah membuat probabilitas kesalahan berita menjadi nol.,
E
dengan cara penambahan komplexi-tas gelombang pada b tetap.
N0
Dasar pemikiran ini berlaku selama nilai transmisi informasi (banyaknya bit yang diki-
rimkan per satuan waktu) keseluruhan dibawah kapasitas kanal.
Cara-cara yang dilakukan para teknolog informasi untuk mencapai tujuan diatas, yaitu untuk
mengurangi nilai kesalahan berita, adalah dengan jalan memakai teknik-teknik tertentu,
misalnya : menambah daya pemancar ataupun dengan mengurangi besarnya daya pemancar
agar probabilitas kesalahan berita menjadi kecil.
KODE BLOK
Suatu blok yang terdiri atas k buah bit informasi dinyatakan dalam k-vektor, sebagai :
wm = wm 0 wm1 wm 2 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ wm (k −1)
semua wmi bernilai 0 atau 1
Subcript m menyatakan berita tertentu yang sedang diperhatikan dari 2k buah berita yang
mungkin terjadi jika setiap berita terdiri atas k buah bits.
Jadi banyaknya kode untuk informasi atau kode untuk data yang mungkin terjadi = 2k
buah.
Jadi m = 1, 2, 3, ………………2k
Q
M(m) = probilitas berita yang keluar adalah berita ke-m.
Jika berita yang keluar mempunyai kemungkinan keluar yang sama , maka QM(m) = 2-k
Contoh :
Jika k =3, maka berita yang mungkin keluar adalah m = 2k = 23 = 8, yaitu
w0 = 000
w1 = 001
w2 = 010
w3 = 011
w4 = 100
w5 = 101
w6 = 110
w7 = 111
Jika m = 5, maka berita yang dimaksudkan adalah wm –1 = w4 = 1 0 0
Enkoder akan memetakan setiap berita tertentu , yaitu wm (yang terdiri atas k bits) , menjadi n
buah vektor biner tertentu atau berita yang terdiri atas n bits = ( k + q ) bits , yaitu :
x m = x m 0 x m1 x m 2 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ x m (n −1)
Disini yang dimaksud dengan n = jumlah bit berita ( = k bits) ditambah dengan bit paritas
( = m bits ).
Pemetaan ini adalah satu berita ke satu peta, sehingga setiap berita mempunyai satu peta
tersen-diri.
Kode blok (n,k) adalah himpunan dari semua simbol xm ( yang banyaknya 2n buah anggota
himpunan )
Dalam kode blok ini k < n, yang berarti banyaknya bit kode asli lebih kecil daripada banyak
seluruh bit dari kode blok.
Banyaknya bit paritas atau bit penguji = q = n – k
Banyaknya berita yang mungkin terjadi = 2k
45
Banyaknya kata kode yang mungkin terjadi jika setiap berita terdiri atas n bits = 2n > 2k
Maka tidak semua kata kode yang mungkin terjadi digunakan sebagai kata kode
( dari 2n buah kata kode yang mungkin terjadi hanya 2k buah saja yang digunakan sebagai
kata kode )
k
Efisiensi kode = Nilai kode (code-rate) = R = < 1
n
Singkatan :
1. Disain sistem baik harus efisien didalam hal :
- pemakaian sumber dayanya
- lebarpita frekuensinya
- kompak
- menghasilkan komunikasi informasi yang andal dari sumber informasi ke tujuan
informasi
o Untuk itu ukuran keandalannya adalah :
besarnya probabilitas kesalahan adalah harus kecil dan dibawah nilai
max yang diijinkan.
2. Sumber koding harus :
- menggunakan kode redundance sekecil mungkin untuk memini-malkan penggunaan bit
untuk setiap kode yang dikomunikasi-kan
- Hal ini berarti dapat menghemat kebutuhan akan lebarpita frekuensi.
3. Kode kanal digunakan untuk memperbaiki sebanyak mungkIn kesalahan kode yang
terjadi pada kanal tersebut, yang pada gilirannya dapat memperbaiki keandalan
komunikasi.
4. Sumber signal diskrit tanpa menggunakan memory menggambarkan informasi yang
menggunakan urutan simbol-simbol bebas, wo , w1 , ….yang sesuai dengan simbol abjad
W = [0,1,2,…….qw – 1 ]. Probabilitas bahwa simbol keluaran DMS adalah = j eselama
interval I adalah Qw(j).
5. Kandungan informasi suatu simbol keluaran DMS tunggal j , adalah I(j) = -log2Qw(j).
Simbol-simbol keluaran DMS yang banyak kesamaannya mempunyai kandungan
informasi yang kecil dibandingkan dengan simbol-simbol yang sedikit kesamaannya.
Entropy sumber informasi adalah :
q w −1
H (W ) = − ∑ Qw ( j ) log 2 Qw ( j )
j =0
yang mana adalah kandungan informasi rata-rata sumber. Intropy sumber adalah
banyaknya bit rata-rata minimum per simbol keluaran DMS, yang harus dipancarkan
lewat kanal. Jadi informasi sumber tidak dapat dikomunikasikan dengan memakai
jumlah bit rata-rata per simbol DMS yang lebih sedikit jumlahnya dibandingkan dengan
entropynya.
6. Prosedur Huffman adalah sesuatu yang secara intuitip memenuhi koding sumber.
Prosedur ini menggunakan urutan biner yang lebih panjang terhadap simbol-simbol
DMS yang rendah probabilitasnya, dibandingkan dengan simbol-simbol yang lebih
tinggi probabilitasnya.Simbol-simbol DMS dapat dibuat menjadi kode Huffman sebagai
simbol-simbol tunggal ataupun dalam kelompok-kelompok. Kode Huffman daripada
kelompok-kelompok simbol-simbol DMS menghasilkan hasil yang terbaik.
7. Kapasitas suatu kanal, yaitu C , adalah jumlah bit per detk yang teoritis dapat dipancar-
kan tanpa salah. Kapasitas tersebut adalah fungsi dari lebar pita kanal dan SNR (Signal
to Noise Ratio) yang diterima. Kapasitas Shannon adalah :
⎛ P ⎞
C = B log 2 ⎜⎜1 + ⎟
⎝ N o B ⎟⎠
46
Jika kecepatan transmisi yang dinginkan adalah Rm<C, maka akan diperoleh nilai
kesalalahan yang rendah jika menggunakan forward error correction, tanpa menambah
daya. Untuk Rm yang hampir sama debgan C , forward error correction yang lebih rumit
dapat dipertimbangkan.
Eb
8. yang diterima harus lebih tinggi dibanding dengan –1.6 dB. agar komunikasi andal
N0
E
sembarang dimungkinkan untuk dilakukan. Jika b < -1.6 dB maka tidak ada kode
N0
yang serumit apapun yang dapat menolong terjadinya komunikasinya.
9. Kapasitas kanal diskrit tanpa memory yang dinyatakan dengan CN adalah menyatakan
jumlah bit informasi maximum daripada informasi yang dikomunikasikan untuk setiap
simbol DMC yang dipancarkan.
Penyandian Belitan
(Convolution Coding)
Salah satu metode untuk mengontrol kesalahan didepan (forward error control) adalah dengan
menggunakan penyandian belitan.
• Pada teknik penyandian ini :
• simbol-simbol tidak dikelompokkan kedalam kelompok yang berbeda-beda
kemudian disandi (encoded) , namun :
• urutan bit-bit informasi yang kontinyu dipetakan kedalam urutan kontinyu
simbol-simbol keluaran penkoder (enkoder)
• Pemetaan ini disusun secara khusus, yang memungkinkan :
• metode pengdekodean (dekoding) sangat berbeda dibandingkan dengan metode
pengdekodean kelompok
• Dapat dibuktikan bahwa penyandian belitan dapat mencapai :
• gain penyandian yang lebih besar dibandingkan dengan yang dicapai dengan
menggunakan kode kelompok (block code) dengan keruwetannya (koplexitasnya)
yang serupa
• Apapun teknik yang digunakan, baik dengan penyandian kelompok maupun penyandian
belitan :
• mana yang lebih baik untuk digunakan adalah tergantung pada perincian (details)
dari penggunaannya serta teknologi yang ada pada saat itu.
+
Urutan
w(D ) kode
keluaran
g 1 (D ) = 1 + D 2 +
x1 (D )
47
• w(D) = w0 + w1D + w2D 2 +………..+ wjD j + ……. = urutan bit informasi masukan ;
wj ∈ [ 0, 1]
• x1(D) = Keluaran adder modulo –2 bagian atas adalah hasil kali antara w(D) dengan
g1(D)
• w2 (D) = Keluaran adder modulo-2 bagian bawah adalah hasil kali antara w(D) dengan
g2 (D)
• Kode konvolusi disebut juga dengan kode sekuensial ataupun kode berulang-ulang
(recurrent codes)
• Pada kode konvolusi ini digit-digit uji paritas terus-menerus disisip-kan kedalam arus
bit (bit stream)
• Karena itu prosedure enkoding dan dekoding adalah proses yang kontinyu, yang
menghilangkan (eliminiting) pemisah (buffering) ataupun penyimpanan (storage)
perangkat keras yang diperlukan dengan kode-kode blok
• Prinsip kode konvolusi dapat disederhanakan dengan menggu-nakan prinsip rangkaian
enkoder konvolusi sebagai berikut ini :
= mi
(m)
mi mi - 1
xi
mi - 2 mi - 3 mi - 4
= mi − 4 ⊕ mi − 2 ⊕ mi
(c)
xi
+ +
• Switch mengambil digit berita ke-i, yaitu xi( m ) = mi dan digit uji paritas ke-I sebagai
beikut :
xic = mi − 4 ⊕ m1− 2 ⊕ mi
= xi − 4 ⊕ xi − 2 ⊕ xi
(m) (m) (m)
• Jadi banyaknya digit yang dipancarkan menjadi 2 kali digit data yang masuk
• Hal ini dinamakan dengan “kode bercadangan tinggi “ (high redundancy codes)
• Sebagai akibatnya efisiensi kode konvolusi adalah rendah, yaitu R = 50 %
• Di dekorder, dibuat digit syndrome ke-i dari dari urutan berita yang diterima dan
mungkin mengalami kesalahan, menggunakan rumus :
si = yi −4 ⊕ yi −2 ⊕ yi ⊕ yi ; i≥5
( m) (m) (m) (c)
• Disini jika syndrom si = 1 , maka berarti pada digit tersebut mengalami kesalahan
• digit-digit yang benar ditandai dengan digit syndrome bernilai 0
• Untuk gejala peralihan awal (start up transient), ambillah 1 ≤ i ≤ 4
• Maka sindrome-nya adalah :
s1 = e1 ⊕ e1 s 3 = e1 ⊕ e3 ⊕ e3
(m) (c ) (m) (m) (c)
s 2 = e2 ⊕ e2 s 4 = e2 ⊕ e4 ⊕ e4
(m) (c) (m) (m) (c)
s2
X X
s3
X
X X
s4 X
X
X X X
s5
X X X X
X
X
s6
• Dengan mempelajari gambar diatas dapat dilihat bahwa jika terdapat 2 atau 3 buah bit
“1” di s1 , s 3 dan s5 , maka :
= 1 , yang berarti y1
(m) (m)
• vektor kesalahan e1 mengan-dung kesalahan
dan harus dikoreksi
49
(m)
• Dengan cara serupa, y 2 harus dikoreksi jika terdapat lebih banyak bit “1” daripada
bit “0”; demikian seterusnya
• Algorithme seperti diatas dinamakan dengan pengdekodean ambang (threshold
decoding)
• pada pengdekodean ini akan dapat mengoreksi sampai 4 buah kesalahan berturutan
(termasuk juga digit uji paritas) asalkan 8 buah digit yang lain tidak mengalami
kesalahan
• Pengdekodean ambang ini efektip terutama jika kanal-kanalnya terisolasi dari dadakan
kesalahan (error burst) yang disebabkan oleh noise denyut, dan masalah utama
terjadinya kesalahan adalah berasal dari noise denyut tersebut.
• Algorithme pengdekodean yang lain untuk kode-kode konvolusi adalah :
• dengan menggunakan metode algorithme probabilistic atau metode algorithme
berurutan (sequential).
• Oleh karena teori kode-kode konvolusi tidak dikembangkan sebaik teori kode-kode
blok, maka :
• sulit untuk membuat tafsiran yang teliti relatip terhadap ke-baikannya.
Soal –soal :
P[ y (t m )] :
1 1 1
4 2 4
Tabel diatas berlaku juga untuk bit yang dikirimkan “0”, apabila A diganti dengan – A .
(a). Dengan menganggap noisenya jenis Gaussian, carilah Pe !
A α
(b). Carilah Pe untuk = 4.0 jika = 0.05 dan 0.25 !
σ A
Bandingakan dengan Pe untuk α = 0 !
ALGORITHME VITERBI
Algorithme Viterbi adalah :
• suatu metode yang sangat bagus untuk melakukan pendekodean (decoding = membuat
signal yang menggunakan urutan bit-bit menjadi pulsa tersampling kembali) dengan
kemungkinan kebenaran maximum terhadap kode-kode konvolusi
• Hal ini disebabkan bahwa enkoder (alat yang berfungsi untuk membuat kode yang
berupa orutan bit-bit) konvolusi adalah suatu peralatan keadaan yang tertentu (finite
state divice)
• Oleh A.J. Viterbi pada tahun 1967 algorithme tersebut telah digambarkan secara
mathematis
• Sejak itu algorithme tersebut terus menerus berkembang , misalnya apa yang telah
dilakukan oleh Forney, dimana dia membuat tulisan yang luas wawasannya dan tinggi
mutunya terhadap apa yang telah dilakukan oleh Vitebri, baik :
• mengenai algorithmenya itu sendiri
• maupun tentang bagaimana pemakaiannya.
Dengan meninjau kembali terhadap fungsi dari suatu detektor dengan kemungkinan
kebenaran yang maximum, maka :
• apa yang dilakukan oleh Forney adalah :
• mencari urutan kode yang paling mirip dengan kode yang telah dipancarkan
sebelumnya ke kanal transmisi , sehingga membentuk urutan kode keluaran
kanal yang memenuhi syarat
• Kode itu mungkin diterima salah, sehingga harus secara otomatis dikoreksi (self
correction)
• Ini berarti bahwa :
• harus mencari lintasan dengan melalui trellis (terali) yang akan dibahas
kemudian , yang mana :
• urutan kodenya mempunyai fungsi kemungkinan logarithmis terti-
nggi
• Secara mathematis , rumus “kemungkinan log” (log-likehood) ditulis seba-
gai berikut :
∑ ln {P (y )}
∞
ln { Pr ( y x m ) } = r n ' x m ,n '
n =1
• Untuk BSC (Binary Symetric Code), pemaximalan fung-si ini sama saja
artinya dengan mencari lintasan me-lalui terali (trellis) yang urutan
kodenya paling dekat dengan jarak Hamming ke urutan kode yang diterima
• VA (Vitebri Alborithm) akan diterangkan pada contoh , untuk BSC
(Binary Symetric System) yang menggunakan ukuran jarak Hamming
Kedalaman 1 2 3 4 5 6
Urutan 7 8
10 10 10 11 11 10 01 11
yang diterima
00 00 00 00 00 00 00 00
00 11 11 11 11 11 11 11 11
51
10 01 01 01 01 01
01 01 01 01 01
10 10 10 10
11
Contoh :
Misalkan enkoder terpotong bagian atas yang sama dengan yang digunakan untuk VA (
Viterbi Algorithm ) keputusan keras , diguna-kan pada sistem komunikasi keputusan lunak .
Masukan biner DMC (Discrete Memoryless Channel) tergambar se-bagai berikut :
0.80 0
0 0.15
0.04 1
0.01
0.01
0.04 2
0.15
3 0.80 3
Gambar-gambar terali tersebut mencakup urutan keputusan lunak yang diterima , maupun
ukuran-ukuran cabangnya (branch metrics).
Ukuran-ukuran cabang tersebut dihitung dari urutan yang diterima dan fungsi kemungkinan-
log diatas .
Sebagai contoh :
Ukuran cabang untuk cabang diantara kedalaman keadaan nol (depth zero state) 00 dan
keadaan keadaan satu (depth one state) 10 , adalah :
ln[Pr (31)] + ln[Pr (2 3)] = −0.22 − 1.90 = −2.12
Ukuran cabang adalah nomor diantara kurung (parenthesis) pada cabang .
Semua cabang diberi label.
Untuk penggambaran yang lebih jelas daripada proses penkodean itu , maka digambar lagi
berikut :
• Untuk node-node pada kedalaman dua , ukuran kumulatip sama dengan jumlah dari
ukuran kedalaman satu dan ukuran yang diakumulasikan pada cabang , yang mengarah
dari kedalaan satu ke kedalaman dua
• Sebagai contoh , ukuran komulatip yang mengarah ke keadaan 01 di kedalaman dua
adalah ukuraan -2.12 pada kedalaman keadaan satu 10 , ditambah ukuran cabang -3.80
yang dikumula-sikan pada cabang diantara kedalaman keadaan satu 10 dan kedalaman
keadaan dua 01
• Sebagaimana sebelumnya , pendekodean menjadi lebih menarik pada kedalaman tiga ,
dimana sigmen-sigmen lintasan mulai menjadi terbuang (dicarded)
• Perhatikan dua buah sigmen lintasan yang mengarah kedalam keadaan 00 dikedalaman
tiga , dimana :
• Ukuran kumulatip untuk sigmen lintasan [ 00, 00, 00, 00] adalah : - 7.83 - 5.12 –
9.22 = - 22.17
• Ukuran kumulatip untuk sigmen lintasan [ 00, 10, 01, 00] adalah : - 2.12 – 3.80 –
0.44 = - 6.36
• Lintasan dengan ukuran terkecil adalah : -22.17 , dibuang dengan jalan
menempatkan suaatu “x” pada cabang
• Ukuran daripada lintasan yang mempertahankan ditulis diatas keadaan 00 ,
dikedalaman tiga
• Pendekodean berlanjut dengan cara ini , sampaai dengan terali terakhir
• Setelah pendekode mencapai kedalaman delapan , pendekode tersebut berbalik
arah , mengikuti lintasan yang mempertahankan , dengan tujuan untuk
menentukan lintas-an yang benar lewat terali
• Amatilah bahwa lintasan yang mempertahankan adalah identik dengan lintasan
yang diperoleh dengaan pendeko-dean keputusan keras
1. Kode konvolusi berbeda sangat mendasar dibanding kode blok . Proses kode konvolusi ini
melalui urutan bit-bit informasi yang semi-infinite
2. Kode konvolusi dapat digambarkan dengan enkoder register ge-sernya , diagram transisi
keadaanya atau diagram teralisnya
3. Kemungkinan (Likelihood) maximum dekoder , menggunakan di-finisi kode, urutan simbol
yang diterima dan kharateristik kanal , untuk memperkirakan urutan simbol yang
dikirimkan , yang se-tara dengan untuk memperkirakan lintasan (path) yang diikuti
melewati teralis oleh enkoder . Perkiraan keluaran dekoder ada-lah urutan , yang mana :
∞
ln[Pr ( y x m )] = ∑ ln[Pr ( y n ' x mn ' )]
n'
adalah maximum
Urutan informasi keluaran dekoder adalah urutan yang membangkitkan urutan keluaran
enkoder yang diperkirakan
4. Fungsi generator T(D , L , N) daripada kode konvolusi menggam-barkan bobot Hamming
(ukuran N = power of N ) , panjang Ham-ming ( ukuran L ) dan banyaknya informasi 1s
(ukuran N ) , untuk semua lintasan teralis , yang menyebar dari kembali memusat ke-
adaan teralis nol .
Fungsi generator dapat diperoleh dengan menyelesaikan himpun-an persamaan keadaan
untuk diagram transisi keadaan yang dimodifikasi .
4. Algorithme Vitebri (VA) memberikaan cara-cara yang mudah bagi pendekodean dengan
kemungkinan kebenaran maximum untuk kode-kode konvolusi
5. Probabilitas bahwa VA memilih lintasan yang salah (mengelemi-nasi lintasan yang benar)
pada setiap kedalaman ke teralis diba-tasi oleh :
Probabilitas Kesalahan :
∞
PE < ∑a
k=d
k Pk
free
∑ ⎨ ⎜⎜ ⎟⎟ p (1 − p ) + ⎜⎜ ⎟⎟ p (1 − p ) ⎬ unt
k −e
Pk = k = genap
⎝e⎠
e = (k / 2 ) + 1 ⎩ 2 ⎝ k / 2⎠ ⎭
⎧ ⎛k ⎞ k −e ⎫
k
Pk = ∑ ⎨ ⎜⎜ ⎟⎟ p e (1 − p ) ⎬ unt. k = ganjil
e = (k / 2 ) + 1 ⎩ ⎝ e ⎠ ⎭
untuk keluaran kontinyu kanal keputusan lunak
∞
1 ⎛ − x2 ⎞ ⎛ 2kREb ⎞
Pk = ∫ exp⎜⎜ ⎟⎟ dx = Q⎜ ⎟
π ⎜ ⎟
2 kREb
2 ⎝ 2 ⎠ ⎝ N o ⎠
No
∞
Q( x ) = 1 − P ( x ) = ∫ Z (t ) dt
x
7. Uraian asiptotis untuk Q(x) yang berlaku untuk nilai x besar adalah :
Z (x ) ⎡ (− 1) 1.3.5. ⋅ ⋅ ⋅ ⋅(2n + 1) ⎤
n
Q( x ) =
1 1.3
⎢1 − + + ⋅⋅⋅⋅⋅⋅ + ⎥ + Rn
x ⎣ x2 x4 x 2n ⎦
dimana :
Z (t )
∞
Rn = (− 1) 1.3.5 ⋅ ⋅ ⋅ ⋅ ⋅ (2n + 1)∫ 2 n + 2 dt
n +1
x t
• yang mana nilai absolutnya adalah lebih kecil dibandingkan dengan nilai suku pertama
diabaikan
• Untuk nilai x yang moderat (tidak terlalu besar), terdapat bebe-rapa pendekatan yang
rational. Salah satu pendekatan tersebut adalah :
1 − Q( x ) = P( x ) = 1 − Z ( x )(b1t + b2 t + b3 t + b4 t + b5 t ) + ε ( x )
( )
x
erf ( x )
2
∫ e dt = 1 − 2Q 2 x
−t2
π 0
⎛ x ⎞
Note : tabel diatas berdasarkan pada rumus untuk Probabilitas Kesalahan Pe ( x ) = Q( x ) =
1
erfc⎜ ⎟
2 ⎝ 2⎠
Contoh jika x = 2 ; untuk mencari besarnya probabilitas kesalahan dapat diselesaikan dengan program
Matlab , dengan perintah sebagai berikut :
>> 0.5.*erfc(2./(2.^0.5))
ans =
0.0228 ; hasilnya boleh dikatakan sama dengan 0.02275 (yang terdapat pada tabel)
56
10. Probabilitas Kesalahan Bit untuk pendekodean Vitebri terhadap kode-kode konvolusi ,
dibatasi dengan persyaratan sebagai beri-kut :
∞
Pb = ∑c
k = d free
k Pk
11. Diketahui banyak kode konvolusi yang bagus , dimana sebagian besar diperoleh dengan
mencari lewat komputer .
Gain pengkodean untuk kode konvolusi yang bagus dapat setinggi nilai pendekatan ,
yaitu 6 dB , dengan cara memakai pengdekodean keputusan lunak .
Beberapa yang terbaik adalah kode konvolusi bernilai 1/2 dan dan bernilai 1/3 , telah
dibuat petanya .
12. Kode-kode konvolusi dapat didekode memakai pendekodean sekuensial .
Keruwetan pendekodean sekuensial adalah bebas dari panjang kendala , sehingga kode-
kode dengan panjang kendala yang tinggi , dapat didekode .
13. Pendekodean blok daripada kode konvolusi berentetan (con-cantenated convolution)
serta kode Reed-Solomon dapat digu-nakan jika dikehendaki untuk yang gain
penkodeanya besar (large coding gain) .
Sistem-sistem penkodean berentetan telah digunakan misi ruang angkasa .
Soal-soal tentang VA :
1. Dengan menggunakan kode yang ditentukan oleh teralis sebagai gambar berikut :
Jika disusun tabel kombinasi linier dan secara lengkap, maka didapatkan hasil yang persis
sama , sebagaimana tabel kode blok , sebagai berikut :
Kombinasi
w0 w1 w2 w3 Linier
0 0 0 0 0000000
1 0 0 0 1101000
0 1 0 0 0110100
1 1 0 0 1011100
0 0 1 0 1110010
1 0 1 0 0011010
0 1 1 0 1000110
1 1 1 0 0101110
0 0 0 1 1010001
1 0 0 1 0111001
0 1 0 1 1100101
1 1 0 1 0001101
0 0 1 1 0100011
1 0 1 1 1001011
0 1 1 1 0010111
1 1 1 1 1111111
∫ δ (t − t )x(t ) = x(t )
−∞
0 0
A ⎧⎪ −i 2π ( f − f0 )t ⎫⎪ A
∞ ∞
H( f ) = ⎨ ∫ e dt + ∫ e −i 2π ( f 0 + f ) t
dt⎬ = {δ ( f − f 0 ) + δ ( f + f 0 )}
2 ⎪⎩− ∞ −∞ ⎪⎭ 2
∞ ∞ ∞
Note : δ ( f ) = ∫ δ (t )e −i 2π (f )t
dt = ∫ (1 )e
−i 2π (f ) t
dt = ∫e
− i 2π (f )t
dt
−∞ −∞ −∞
∫ δ ( f ) f 0 )e df = e ∫ δ ( f − f )e
j 2π f t 2π f t j 2π f t
Note : dan 0 df = e − j 2π f t
−∞ −∞
• Jadi A cos 2π f t ⇔ {δ ( f − f 0 ) + δ ( f + f 0 )}
A
2
• Jika kendala panjang (length constraint) = M , relatip pendek , yaitu jika M ≤ 8 , maka :
• dekoder dapat melakukan “pendekodean” secara optimal relatip dengan sedikit
perhitungan saja .
Pengdekodean yaang dilakukaan adalah :
• pengdekodean keputusaan keras (hard dececion decoding)
• pengdekodean keputusaan lunak (soft dececion decoding)
- Dekoder keputusaan keras : menerima keputusan bit (bit dececion) dari demodulator .
Setiap bit yang diterima diputus-kan “0” ataau “1”
- Dekoder keputusaan lunak : meliputi pemakaian dari keluaran demodulator yang
sebanding dengan “kemungkinan log” (log- likehood) daripada bit yang dimodulasi ,
baik yang “0” maupun “1” .
- Kemungkinan log (loglikehood) adalah : logarithme dari proba-bilitas menjadi suatu
bit 0 ataupun 1
- Rumus : loglikehood = log (Pr< x = 0⏐z = 1 >)
- Sebagai misal , jika bit yang didemodulasi adalah 1 , maka bit hasil demodulasi adalah
0.
- Jika bit yang dipancarkan adalah variable x dan yang didemo-dulasi adalah variabel z ,
maka expresi ini adalah loglikehood , bahwa x adalah 0 asalkan z adalah 1 .
• Pendekodean keputusaan lunak biasanya menghasilkan kinerja yang lebih baik , namun
lebih komplex
i =1
⎡ 1 1 9⎤
−∞
⎡ LB1 LB 2 ⎤ ⎢ 10 2 10 ⎥
⎢ ⎥ ⎢ 2 1 1⎥
Transfer Probability = ⎢ P( [LB1.LB 2] 0 ) P( [LB 2.LB3] 0 )⎥ = ⎢
1
⎥
⎢ 5 5 15 ⎥
⎢⎣ P( [LB1.LB 2] 0 ) P( [LB 2.LB3] 0 ) ⎥⎦ ⎢ 1
3
1 3 7⎥
⎢⎣ 16 8 8 16 ⎥⎦
APLIKASI FFT
Jika fungsi e −t dihitung dengan menggunakan pendekatan FFT , untuk transfomasi Fourienya
, maka :
• Langkah ke-1 didalam penggunaan DFT adalah :
• Menentukan N = tinggi maximum sample dan T = interval sample
• Sebagai contoh , N = 32 , maka setiap sample dinyatakan dengan 5 buah bit ; jika T
= 0.25 detik , maka pada waktu tersebut nilai e − t ≅ 0
• Hal tersebut digambarkan dengan kurva e −t , yang dilukis berdasarkan program
Matlab berikut ini :
» t=0:0.01:7;
» x=[exp(-t)];
» plot(t,x);
» plot(t,x)
60
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6 7
e −6 = 0.0025 ≅ 0 )
•