Kod Dan Kod Semakan Pariti

6
Kod Ulangan Satu cara yang mudah untuk memperkenalkan lebihan adalah untuk mengulang semua. Jadi, jika ada mesej, ia boleh dikodkan dengan mengulang setiap digit n kali. Jika n = 5, panjang kod ulangan ialah 5. Contoh : S 10011 → 11111 00000 00000 11111 11111 U 10101 → 11111 00000 11111 00000 11111 S 10011 → 11111 00000 00000 11111 11111 I 01001 → 00000 11111 00000 00000 11111 E 00101 → 00000 00000 11111 00000 11111 Jika dikirim S = 10011 as 11111 00000 00000 11111 11111, ia akan diterima sebagai urutan ) dan 1 yang panjangnya 5. !ita perlu peraturan "algoritma) untuk mengdekod mesej yang diterima. #engan bantuan komputer mengdekod mesej, tekaan mengikut konteks tidak dilakukan tetapi peraturan yang tepat perlu digunakan. $isalnya, apabila mesej berikut di terima: 11011 00110 11000 10000 10111 bagaimanakah ianya didekod %& Algoritma Dekod bagi Kod Ulangan Panjang 5 1. 'ilang digit 1. . Jika bilangan digit 1 ( , tulis 11111. . Jika bilangan digit 1 * , tulis 00000. +erhatikan baha a kod ini boleh membetulkan ralat tetapi ia mempunyai kad maklumat yang sangat rendah 1 5 . Jika n = - "setiap digit diulang - kali),apakah yang berlaku jika terima 0011 % 5

description

KOD ULANGAN DAN KOD SEMAKAN PARITI

Transcript of Kod Dan Kod Semakan Pariti

Kod Ulangan

Satu cara yang mudah untuk memperkenalkan lebihan adalah untuk mengulang semua. Jadi, jika ada mesej, ia boleh dikodkan dengan mengulang setiap digit n kali.

Jika n = 5, panjang kod ulangan ialah5.

Contoh :

S100111111100000000001111111111

U101011111100000111110000011111

S100111111100000000001111111111

I010010000011111000000000011111

E001010000000000111110000011111

Jika dikirim S = 10011 as 11111 00000 00000 11111 11111, ia akan diterima sebagai urutan ) dan 1 yang panjangnya 25.

Kita perlu peraturan (algoritma) untuk mengdekod mesej yang diterima.

Dengan bantuan komputer mengdekod mesej, tekaan mengikut konteks tidak dilakukan tetapi peraturan yang tepat perlu digunakan.

Misalnya, apabila mesej berikut di terima:

11011 00110 11000 10000 10111 bagaimanakah ianya didekod ?\

Algoritma Dekod bagi Kod Ulangan Panjang 5

1. Bilang digit 1.

2. Jika bilangan digit 1 3 , tulis 11111.

3. Jika bilangan digit 1 2 , tulis 00000.

Perhatikan bahawa kod ini boleh membetulkan 2 ralat tetapi ia mempunyai kad maklumat yang sangat rendah 15 .

Jika n = 4 (setiap digit diulang 4 kali),apakah yang berlaku jika terima 0011 ?

35 36

Saluran Simetri Binari

Kebarangkalian menerima simbol yang silap adalah serupa sama ada simbol 0 atau simbol 1 dikirim.

Kebarangkalian menerima simbol yang silap = p

Misalnya, jika p =1, jadi kebarangkalian satu digit tunggal diterima secara silap

100

ialah1= 0.01, jadi kebarangkalian satu digit tunggal diterima secara betul ialah

10099 = 0.99.100

Dianggap semual ralat berlaku secara rawak iaitu secara tidak bersandar satu sama lain.

Untuk memudahkan pengiraan, kod ulangan panjang 3 digunakan.

Bolehkahkebarangkalian99= 0.99diperbaiki jika satu katakod satu digit

100

diterima?

MesejMesejMesej mungkinMesej

dikirimdikodkanditerimadidekod

00000000010

010100

1 1111010111

110111

36

37

Jika 000 dikirim,

Pengiraan kebarangkalian mesej yang mungkin diterima:

Pr (000)=99x99x99=0.970299

100100100

Pr (001)=99x99x1= 0.009801

100100100

Pr (010)=99x1x99=0.009801

100100100

Pr (100)=1x99x99=0.009801

100100100

Jadi kebarangkalian mengdekod mesej sebagai 0:

Pr (0) = Pr (000) + Pr (001) + Pr (010) + Pr (100)

0.970299 + 3 x 0.009801

0.999702 .

Jadi, secara purata, kesilapan mengdekod mesej yang dikirim 0 sebagai 1 berlaku hanya sekali setiap 100 kali, kita akan dapat ralat kurang daripada 3 setiap 10 000 (atau 1/3000) ! Ini merupak kemajuan yang hebat.

Bagi kod ulangan panjang n,

n digit

}

}}

1 digitn 1 digit

Mesejsemakan

Kadar maklumat, R = 1n . Ini sangat kecil!

Kod ulangan dapat membetulkan ralat tetapi kadar maklumatnya sangat rendah!

37

38

Latihan

1. Anda telah menerima mesej berikut yang ditulis dengan kod ulangan panjang 5.

0000010010110111100001111

1111001010010000101100001

0011110000011001110000000

0100011111001111011111101

0111100010010001011110000

a) Tukar mesej ini kepada kod 5 digit binari.

b) Tukarkan kepada abjad biasa.

2. Anda telah menerima mesej berikut yang ditulis dengan kod ulangan panjang 5.

0000011011011110010011111

0100011111001000000111101

1110100100000001111001111

1111110000010000000000100

1011100010100000011101100

0110010001010100001111001

0101010111011111111100000

1111100010110110100000000

a) Tukar mesej ini kepada kod 5 digit binari.

b) Tukarkan kepada abjad biasa.

c) Apakah mesej yang sebenar?

3. Kod ulangan panjang 3 digunakan untuk transmisi mesej. Jika kebarangkalian membuat kesilapan dalam satu digit ialah 0.01 dan kita anggap kesilapan berlaku secara tak bersandar satu sama lain, kirakan kebarangkalian mesej 000 yang dikirim diterima sebagai 111.

38

Kod Semakan Pariti

Kod semakan pariti tunggal merupakan ekstrem daripada kod ulangan. Berbanding dengan kod ulangan, kod semakan pariti tunggal hanya ada satu digit semakan.

Digit semakan ini diperolehi daripada jumlah digit maklumat (mod 2).

Sebagai contoh, lihat bagaimana digit semakan dikira

A0000011

}

5 digit1 digit

maklumatsemakan

B0000101

C0000110

D0001001

Secara am katakod ditulis sebagai c1 c2 c3 c4 c5 c6 di mana

c6 = c1 + c2 + c3 + c4 + c5 (mod 2).

Bagi kod semakan pariti tunggal,

n digit

}

-- --

}

k = n 1 1 digit semakan digit mesej

Kadar maklumatk=n 1, amat tinggi!

nn

Akan tetapi, kod semakan pariti tunggal hanya boleh mengesan bilangan ralat yang ganjil tetapi tidak dapat membetulkannya.

39

Latihan

1. Cari katakod yang mewakili huruf berikut dalam kod semakan

pariti tunggal di atas : J , L , Q , S , G , X.

2. Tulis mesej NO ERRORS dengan kod semakan pariti tunggal.

3. Mesej berikut telah diterima dalam kod semakan pariti tunggal:

000011000000001111011110010110001001

000000100100001010100111101001011000 101000

a) Kesan di mana ralat telah berlaku.

b) Dekod semua huruf yang lain.

c) Cuba teka mesej yang dikirim.