Pert 6 Hamming Code

29
 1

Transcript of Pert 6 Hamming Code

Page 1: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 1/29

 

1

Page 2: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 2/29

 

Hamming CodeKode ini dikenalkan oleh Richard Hamming (1950)

sebagai kode tunggal pengoreksi kesalahan (single error-correcting code ).

Bit parity ditambahkan ke dalam bit-bit informasi,

 jika suatu saat ada perubahan bit-bit data ketika prosestransmisi, maka bit-bit informasi asli masih bisadiselamatkan.

Kode ini dikenal pula sebagai parity code 

Bit parity tambahan diberikan pada bit-bit informasisebelum ditransmisikan, sedangkan pada sisi penerima

dilakukan pengecekan dengan algoritma yang samadengan pembangkitan bit parity tambahan2

Page 3: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 3/29

 

Hamming Code

Cara pengisian bit tambahan pada bit-bit informasi x

Untuk bit data 4-bit, bit-bit data terletak pada posisi 3, 5,6 dan 7

Bit pengisi terletak pada posisi 1, 2, 4 (2K) K = jumlah

bit data -13

 

Page 4: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 4/29

Hamming Code

Jumlah bit informasi =

(n jumlah bit cek)

Σ Bit pengisi / cek Σ bit informasi

2 1

3 44 11

5 26

4

 

Page 5: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 5/29

Tabel hamming untuk informasi 4 bit

5

 

Page 6: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 6/29

Hamming Code

Nilai bit pengisi / cek: (untuk informasi 4-bit)

6

 

Page 7: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 7/29

Hamming Code

7

Untuk informasi n-bit, nilai bit

pengisi / cek adalah:

Bit-bit masing-masing

posisi yang

disertakandi Ex-OR kan

 

Page 8: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 8/29

Hamming Code

Contoh: Bagaimana bentuk data yang

ditransmisikan dengan kode Hamming, jika diketahui bit data = 1010 ?

Jawab:

a1 = a3 + a5 + a7 a1 = 1 + 0 + 0 = 1

a2 = a3 + a6 + a7 a2 = 1 + 1 + 0 = 0

a4 = a5 + a6 + a7 a3 = 0 + 1 + 0 = 1Sehingga bentuk data yang ditransmisikan

menjadi: 10110108

 

Page 9: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 9/29

Hamming Code

Cara penge-cekan disisi penerima: (untuk

informasi 4-bit)

Jika nilai e = 0, maka seluruh data yang

diterima adalah benar 

9

 

Page 10: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 10/29

Hamming Code

Untuk informasi n-bit, cara penge-

cek an adalah:

1. Tanda semua posisi bit yang merupakan pangkat duasebagai bit parity (posisi 1, 2, 4, 8, 16, 32, 64, ...)

2. Posisi yang lain digunakan sebagai bit data yang akandikodekan (posisi 3, 5, 6, 7, 9, 10, 11, 12, 13, ...)

10

 

Page 11: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 11/29

Hamming Code

3. Masing-masing bit pengecek menghitung bit setiapposisi dengan cara menge-cek dan melewati, sebagai

berikut:Posisi 1 : cek 1 bit, lewat 1 bit, cek 1 bit, lewat 1 bit dsb

(1,3,5,7,9,11,13,15…)

Posisi 2 : cek 2 bit, lewat 2 bit, cek 2 bit, lewat 2 bit dsb

(2,3,6,7,10,11,14,15,…)Posisi 4 : cek 4 bit, lewat 4 bit, cek 4 bit, lewat 4 bit dsb

(4,5,6,7,12,13,14,15,20,21,22,23, …)

Posisi 8 : cek 8 bit, lewat 8 bit, cek 8 bit, lewat 8 bit dsb(8-15,24-31,40-47,...)

Posisi 32 : cek 32 bit, lewat 32 bit, cek 32 bit, lewat 32bit, dsb (32-63,96-127,160-191,...)

11

 

Page 12: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 12/29

Hamming Code

Bernilai bit parity = 1 jika total bit “1” diposisi

yang dicek adalah ganjil (Odd ) dan berinilai 0 jika total bit “1” adalah genap (Even )

12

 

Page 13: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 13/29

Hamming Code

Contoh: 

Sebuah urutan data diterima: 0010011Dengan:

e1 = 0

e2 = 1e4 = 0

Tentukan bit diposisi mana yang salah?Berapa nilai data asli (sebelum ditambah bitparity)?

13

 

Page 14: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 14/29

Hamming Code

Jawab:

e1 = a1 + a3 + a5 + a7 = 0 + 1 + 0 + 1 = 0 benar 

e2 = a2 + a3 + a6 + a7 = 0 + 1 + 1 + 1 = 1 salah

e3 = a4 + a5 + a6 + a7 = 0 + 0 + 1 + 1 = 0 benar 

a1 = a3 + a5 + a7 = 1 + 0 + 1 = 0 sama dengan yang dikirima2 = a3 + a6 + a7 = 1 + 1 + 1 = 1 tidak sama dengan yang dikirim

a3 = a5 + a6 + a7 = 0 + 1 + 1 = 0 sama dengan yang dikirim

Berarti bit diposisi 2 yang salah, seharusnya yangditerima adalah: 0110011

Nilai data asli= a3 a5 a6 a7 = 101114

 

Page 15: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 15/29

Matriks Generator 

Kode Hamming• Kode ini dapat dibentuk dengan sebuah algoritma yang

sederhana matriks parity check,

• Contoh kode (7, 4), dibentuk dengan cara berikut:• Biner 1 sampai 7:

1→

0 0 12 → 0 1 0

3 → 0 1 1

4 → 1 0 0

5 → 1 0 1

6 → 1 1 0

7 → 1 1 1

15

 

Page 16: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 16/29

Parity Check

• Dalam matriks parity check berikut, urutan kolom dari kiri

ke kanan dibentuk dengan urutan: 7, 6, 5, 3, 1, 2 dan 4,

dengan pembacaan bit dari bawah ke atas.

• Matriks Parity check

k nkxI P H  M

)( −=

16

 

Page 17: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 17/29

Matriks Generator 

• Generator dibangkitkan dari:

k nkxk P I G )( −= M

17

 

Page 18: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 18/29

ENCODING

• Pembentukan Codeword:

c = d.G • untuk kode (7,4):

⎥⎥⎥

⎢⎢⎢

=

1100001

1010010

0110100

1111000

|

|

|

|

),,,( 4321 d d d d c

18

 

Page 19: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 19/29

CODEWORD

• Jika d = 1101, maka:

7 bit codeword : (d1, d2 , d3 , d4 , p1, p2 , p3 ).Terdiri dari : 4 bit data (d1, d2 , d3 , d4 ) dan

3 bit parity (p1, p2 , p3 ).

)1101010(

0001110

0010101

0100011

1000111

)1101( =

⎥⎥

⎥⎥

⎢⎢

⎢⎢

=C 

19

 

Page 20: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 20/29

DECODING• Untuk men-dekode codeword yang telah diterima (r),

harus diketahui syndrome. Dimana syndrome didapat

dari :

s = r . H T 

⎥⎥⎥⎥⎥⎥⎥

⎥⎥

⎢⎢⎢⎢⎢⎢⎢

⎢⎢

=

100

010

001

011101

110

111

),,,,,,( 7654321 r r r r r r r s

),,( 732164215431 r r r r r r r r r r r r s +++++++++=20

 

Page 21: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 21/29

DECODING

• Jika semua elemen s adalah 0, maka

codeword telah diterima dengan benar.• Tapi jika s berisi bit 1, maka bit error dapat

ditentukan dengan menganalisis paritycheck yang mana yang salah,

21

 

Page 22: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 22/29

Kode Hamming (15,11)

• Matriks Parity check H

22

 

Page 23: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 23/29

Kode Hamming (15,11)

• Matriks generator (15,11)

⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢

⎢⎢⎢

=

111110000000000

111001000000000

110100100000000

110000010000000

101100001000000

101000000100000

100100000010000

011100000001000

011000000000100

010100000000010001100000000001

G

23

 

Page 24: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 24/29

Check bit

24

• Persamaan Check bit dapat diperoleh denganmengalikan bit data dengan matriks parity checkPkx(n-k), yaitu sebagai berikut:

c = d . Pkx(n-k) 

• Dimana matriks P diperoleh dari matriksgenerator tanpa menyertakan matrik I.

• d terdiri dari bit-bit datadan c terdiri dari check

bit (γ1, γ2, γ3, ...γn), dimana dalam kodesistematik adalah bit n – k yang terakhir daricodeword, ada empat bit.

• check bit di buat dari product (modulo-2) antaramessage dan matriks P 

Page 25: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 25/29

Check bit

⎥⎥⎥⎥⎥

⎥⎥⎥⎥

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

⎢⎢⎢⎢

⎢⎢⎢⎢⎢

=

1111

1110

1101

1100

1011

1010

1001

0111

0110

0101

0011

*),,,,,,,,,,(),,( 1110987654321321 d d d d d d d d d d d γ  γ  γ  

25

 

Page 26: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 26/29

Check bit

• Sehingga check bit untuk codeword

(15,11)

• Codeword:C = γ1+ γ2+ γ3+ γ4

1110987654

1110984323

1110764312

119754211

d d d d d d d 

d d d d d d d 

d d d d d d d 

d d d d d d d 

⊕⊕⊕⊕⊕⊕=⊕⊕⊕⊕⊕⊕=

⊕⊕⊕⊕⊕⊕=

⊕⊕⊕⊕⊕⊕=

γ  

γ  

γ  

γ  

26

 

Page 27: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 27/29

Shift Register 

• Implementasi Shift Register dari suatu kode Generator 

menjadi kode Hamming (15,11)

27

 

Page 28: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 28/29

Syndrome

28

• Syndrome

s = r . HT s = (c + e) HT 

• Karena :

c.HT = 0 

S = e.HT 

 

Page 29: Pert 6 Hamming Code

5/10/2018 Pert 6 Hamming Code - slidepdf.com

http://slidepdf.com/reader/full/pert-6-hamming-code 29/29

Tabel syndrome dan coset leader 

Syndrome Coset Leader

(correctable error pattern):

s1 s2 s3 s4 r1 r2 r3………………….r15

0 0 0 0 tidak ada error

1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0

1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0

1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0

1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0

0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0

1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0

0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 29