Cara mengira kod Hamming

Pengarang: John Webb
Tarikh Penciptaan: 10 Ogos 2021
Tarikh Kemas Kini: 10 Mungkin 2024
Anonim
Cara mudah deteksi error dengan Hamming Code
Video.: Cara mudah deteksi error dengan Hamming Code

Kandungan

Kod hamming digunakan untuk memasukkan maklumat pembetulan kesalahan ke dalam aliran data. Kod-kod tersebut dirancang supaya kesalahan tidak hanya dapat dikesan, tetapi juga diperbetulkan. Menambah maklumat pembetulan ralat meningkatkan jumlah data, tetapi juga meningkatkan kebolehpercayaan komunikasi melalui media dengan kadar ralat yang tinggi.

Pengekodan hamming boleh menjadi rumit untuk dilaksanakan, tetapi dapat dilakukan dengan cepat dengan menggunakan trik aritmetik tahap bit. Ini memungkinkan penciptaan sistem pembetulan kesalahan yang berguna dan berkelajuan tinggi, untuk digunakan dalam aplikasi yang disematkan.

Langkah 1

Buat perkataan data. Sebarang bit dengan kedudukan dua kekuatan (pertama, kedua, keempat, dll.) Mesti disediakan untuk maklumat pariti. Gunakan selagi perlu untuk kata mempunyai data asal dan bit pariti.


Contoh:

1 1 0 1 0 0 1 0 menjadi _ _ 1 _ 1 0 1 _ 0 0 1 0

Bit asli tetap dalam urutan yang sama, tetapi disebarkan untuk memasukkan bit parity.

Langkah 2

Kirakan bit pariti pertama. Bermula dengan bit pertama, sedikit dibaca dan kemudian sedikit dilangkau dan prosedur diulang hingga akhir. Sementara itu, bilangan yang dijumpai dikira. Bit pariti tidak dikira dalam proses ini.

Sekiranya bilangannya sama, tetapkan bit pertama ke sifar. Jika tidak, tetapkannya menjadi satu.

Contoh:

Bit 1, 3, 5, 7, 9 dan 11 dari _ _ 1 _ 1 0 1 _ 0 0 1 0, _11101, mengandungi empat. Ini sama rata, jadi bit pertama ditetapkan ke sifar: 0 _ 1 _ 1 0 1 _ 0 0 1 0

Langkah 3

Kirakan baki pariti yang tinggal. Bermula dengan bit kedua, dua bit dibaca dan kemudian dua bit dilangkau dan prosedur diulang hingga akhir. Bit keempat membaca empat bit, melangkau empat bit lagi, bermula dengan bit empat. Corak yang sama diikuti oleh semua bit parity, sehingga semuanya dikira.


Contoh:

Bit 2: 0 _ 1 _ 1 0 1 _ 0 0 1 0 memeriksa _1, 01, 01, yang mengandungi tiga, jadi bit 2 ditetapkan menjadi satu. Bit 4: _ 0 1 1 1 0 1 _ 0 0 1 0 menyemak _101, 0, yang mengandungi dua, jadi bit 4 ditetapkan ke sifar. Bit 8: 0 1 1 0 1 0 1 _ 0 0 1 0 memeriksa _0010, yang mengandungi hanya satu, jadi bit 8 ditetapkan menjadi satu.

Oleh itu, perkataan ini dikodkan sebagai 011010110010.

Langkah 4

Sahkan perkataan. Sekiranya perkataan rosak, bit pariti tidak akan sepadan dengan yang diharapkan. Untuk mengesahkan bahawa perkataan itu tidak rosak, hitung bit pariti menggunakan langkah dua dan tiga. Sekiranya bit tidak sama, catat kedudukannya.

Langkah 5

Betulkan bit yang salah. Sekiranya anda menjumpai bit pariti yang salah, cukup tambah kedudukan bit. Nilai jumlah adalah kedudukan bit yang tidak betul. Tukar nilai bit pada kedudukan ini.

Sebagai contoh, jika bit pariti yang salah adalah satu dan empat, mengubah nilai bit kelima akan membetulkan ralat.