Apa itu Hamming Code: Sejarah, Kerja dan Aplikasinya

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Dalam sistem digital, data yang dihantar untuk komunikasi boleh rosak kerana bunyi luaran dan kegagalan fizikal yang lain. Sekiranya data yang dikirim tidak dipadankan dengan data input yang diberikan, maka itu disebut 'kesalahan'. Kesalahan data dapat menghapus data penting dalam sistem digital. Pemindahan data akan dalam bentuk bit (0 dan 1) dalam sistem digital. Sekiranya ada yang berubah, prestasi keseluruhan sistem dapat dipengaruhi. Sekiranya bit ‘1’ diubah menjadi bit ‘0’ atau sebaliknya, maka ia disebut bit error. Terdapat berbeza jenis kesalahan seperti ralat bit tunggal, ralat berganda dan kesalahan pecah. Dalam artikel ini, kita membincangkan pembetulan dan pengesanan ralat, dan kod hamming.

Apakah Pengesanan Ralat dan Pembetulan?

Dalam komunikasi digital, data akan hilang jika terdapat kesalahan dalam pemindahan maklumat dari satu sistem / rangkaian ke sistem / rangkaian lain. Oleh itu, penting untuk mencari dan membetulkan kesilapan. Sebilangan ralat pengesanan dan kaedah pembetulan digunakan untuk mengesan dan membetulkan kesalahan untuk komunikasi yang berkesan. Sekiranya kaedah ini digunakan, maka data dapat dipindahkan dengan ketepatan yang lebih tinggi.




Pengesanan ralat didefinisikan sebagai, metode yang digunakan untuk mendeteksi kesalahan yang dikirimkan dari pemancar / pengirim ke penerima dalam sistem digital. Kod redundansi ditambahkan ke data semasa penghantaran untuk mencari kesalahan. Ini dipanggil kod pengesanan ralat.

Pembetulan ralat adalah pembetulan data yang dihantar dari pemancar ke penerima. Pembetulan ralat boleh dilakukan dalam dua jenis.



Pembetulan Kesalahan Belakang

Dalam jenis pembetulan ralat ini, penerima meminta pengirim kembali untuk menghantar semula data sekiranya penerima mengesan kesalahan.

Pembetulan Ralat Ke Hadapan

jika data yang diterima oleh penerima mendapati kesalahan, maka ia melaksanakan kod pembetulan kesalahan, untuk membetulkan dan memulihkan data secara automatik.


Sekiranya terdapat bit data 'm' no. Dan bit 'r' no. Yang berlebihan, maka gabungan maklumat akan menjadi 2r.

2r> = m + r + 1

Jenis Kod Pengesanan Ralat

Kesalahan dalam data yang diterima dapat dikesan dengan menggunakan 3 jenis kod pengesanan ralat. Ia adalah, pemeriksaan pariti, pemeriksaan redundansi siklik (CRC) dan pemeriksaan redundansi membujur.

Pemeriksaan Pariti

Bit berlebihan yang disebut bit pariti ditambahkan untuk menjadikan bilangan bit tidak sama atau ganjil sekiranya pariti genap atau pariti ganjil. Penerima mengira bit no.of (1) dalam bingkai untuk menambah bit pariti. Ini dipanggil pemeriksaan pariti. Sekiranya no.of 1 dalam bingkai sama rata, maka paritas sama digunakan dengan menambahkan bit ‘1’ dengan nilai sifar. Begitu juga dengan no.of 1 adalah ganjil, maka paritas ganjil digunakan dengan menambahkan bit dengan nilai ‘1’.

Ralat-Pengesanan

pengesanan ralat

Oleh itu, ia digunakan untuk memastikan bahawa bingkai / tarikh yang diterima oleh penerima dari sumber tidak rosak. Dalam pengesanan ralat jenis ini, nombor 1 harus berada dalam bingkai yang diterima. Ia sangat murah di antara semua jenis pengesanan ralat.

Pemeriksaan Redundansi Longitudinal (LRC)

Apabila set / blok bit disusun, maka kaedah LRC dapat digunakan untuk memeriksa bit paritas di setiap bingkai. Ia membantu menghantar set bit pariti bersama dengan data asal dan memeriksa kelebihan.

Pemeriksaan Redundansi Siklik

jenisnya digunakan untuk mengesan data / bingkai yang diterima dari sumber itu sah atau tidak. Ia melibatkan pembahagian binari data yang harus dihantar dan menggunakan polinomial (untuk menghasilkan pembahagi). Sebelum penghantarannya , operasi pembahagian dilakukan oleh pengirim pada data / bit / bingkai untuk mengira selebihnya.

Cek-Redundansi-Pemeriksaan

semakan-redundansi kitaran

Semasa penghantaran data sebenar dari pengirim, ia menambahkan selebihnya di akhir data sebenar. Gabungan data sebenar dan selebihnya disebut codeword. Data dihantar dalam bentuk codewords. Dalam proses ini, jika data tersebut rosak, maka data tersebut akan ditolak oleh penerima sebaliknya akan diterima.

Apakah Kod Hamming?

Kod hamming didefinisikan sebagai, kod linier yang digunakan dalam proses pengesanan ralat hingga kesalahan 2-perantaraan. Ia juga dapat mengesan kesalahan single-bit. Dalam kaedah ini, bit berlebihan ditambahkan ke data / mesej oleh pengirim untuk mengekod data. Untuk melakukan pengesanan dan pembetulan ralat, bit berlebihan ini ditambahkan pada kedudukan tertentu untuk proses pembetulan ralat.

Hamming-Code

hamming-code

Sejarah Kod Hamming

Pada tahun 1950, Richard W. hamming mencipta kod Hamming untuk mengesan dan membetulkan kesalahan dalam data. Setelah evolusi komputer dengan kebolehpercayaan yang lebih tinggi, dia memperkenalkan kod hamming untuk kod pembetulan 1-kesalahan dan kemudian dia memperluas hingga 2 kod pengesanan ralat. Kod hamming dibuat kerana pemeriksaan pariti tidak dapat mengesan dan membetulkan kesalahan dalam data. Kod Hamming dimasukkan ke mana-mana panjang blok data antara data sebenar dan bit berlebihan. Dia mengembangkan sebilangan algoritma untuk mengatasi masalah kaedah pembetulan ralat dan kod-kod ini banyak digunakan dalam memori ECC.

Proses Pengekodan Mesej menggunakan Hamming Code

Proses pengekodan mesej menggunakan kod hamming oleh pengirim merangkumi 3 langkah.

Langkah 1: Langkah pertama adalah mengira bit berlebihan yang tidak ada dalam mesej

  • Sebagai contoh, jika mesej mengandungi bit 'n' no. dan bit 'p' no.of ditambahkan ke mesej, maka 'np' menunjukkan (n + p + 1) keadaan yang berbeza.
  • Di mana (n + p) mewakili lokasi kesalahan dalam setiap kedudukan bit
  • 1 (keadaan tambahan) tidak menunjukkan ralat.
  • Oleh kerana ‘p’ menunjukkan keadaan 2 ^ p (2p), yang sama dengan keadaan (n + p + 1).

Langkah 2: Letakkan bit berlebihan pada kedudukan tepat / betul

Bit 'p' dimasukkan dalam kedudukan bit yang merupakan kekuatan 2 seperti 1, 2, 4, 8, 16, dan lain-lain. Kedudukan bit ini ditunjukkan sebagai p1 (kedudukan 1), p2 (kedudukan 2), p3 (kedudukan 4), dll.

Langkah 3: Hitungkan nilai bit berlebihan

  • Di sini bit pariti digunakan untuk mengira nilai bit berlebihan.
  • Pariti bit boleh membuat nombor 1 dalam mesej sama ada atau ganjil.
  • Sekiranya jumlah nombor 1 dalam mesej sama, maka nilai rata-rata digunakan
  • Sekiranya jumlah no 1 dalam mesej adalah ganjil, maka pariti ganjil digunakan.

Proses Mendekripsi Mesej dalam Hamming Code

Proses menyahsulitkan mesej yang diterima dari pengirim oleh penerima menggunakan kod hamming merangkumi langkah-langkah berikut. Proses ini tidak lain hanyalah pengiraan semula untuk mengesan dan membetulkan kesalahan dalam mesej.

Langkah 1: Hitung bit yang berlebihan

Formula untuk menyandikan mesej menggunakan bit berlebihan adalah,

2p≥ n + p + 1

Langkah 2: betulkan kedudukan semua bit berlebihan

‘P’ no. Bit berlebihan diletakkan pada kedudukan bit kuasa 2 seperti 1,2,4,8,16,32 dll

Langkah 3: pemeriksaan pariti (pariti ganjil dan pariti ganjil)

Bit pariti dikira berdasarkan nombor 1 dalam bit data dan bit berlebihan.

Sebagai contoh

Pariti p1 ialah 1, 3, 5, 7, 9, 11,…

Pariti p2 adalah 2, 3, 6, 7, 10, 11,…

Pariti p3 ialah 4-7, 12-15, 20-23,…

Kelebihan Kod Hamming

Kelebihan utama menggunakan kod hamming adalah menjimatkan kos jika aliran data mengandungi kesalahan bit tunggal.

  • Ia dapat memberikan pengesanan ralat dan juga menunjukkan bit yang mengandungi kesalahan untuk pembetulan.
  • Kod hamming sangat mudah dan terbaik digunakan dalam memori komputer dan pembetulan dan pengesanan ralat bit tunggal.

Kekurangan Kod Hamming

  • Paling baik hanya untuk pembetulan dan pengesanan ralat bit tunggal. Sekiranya banyak kesalahan bit, maka keseluruhannya boleh rosak.
  • Algoritma kod Hamming hanya dapat menyelesaikan kesilapan bit tunggal.

Aplikasi Kod Hamming

Kod hamming digunakan dalam,

  • Pengkomputeran
  • Telekomunikasi
  • Pemampatan data
  • Menyelesaikan teka-teki dan kod turbo
  • Satelit
  • CAM Plasma
  • Wayar terlindung
  • Modem
  • Memori komputer
  • Buka penyambung
  • Sistem terbenam dan pemproses

Soalan Lazim

1). Bolehkah kod Hamming mengesan kesalahan 2-bit?

Kod hamming dapat mengesan dan memperbaiki kesalahan sehingga 2-bit dalam aliran data

2). Bagaimana anda memperbaiki kod Hamming?

Kod hamming diletakkan dalam panjang data antara data sebenar dan bit berlebihan. Kod-kod ini adalah tempat dengan jarak minimum 3 bit

3). Apakah kod pariti?

Kod pariti atau bit pariti menambah sedikit pada bingkai yang diterima (data mengandungi 1 dan 0) untuk menjadikan jumlah bilangan bit (1) sama atau ganjil.

4). Berapakah jarak Hamming antara data?

Jarak paluan antara dua aliran data yang berlainan sama panjangnya adalah no. 1.

Jarak pemaluan antara dua rentetan data dengan panjang yang sama dapat dikira dengan menggunakan operasi XOR.

Contohnya, a = 11011001

b = 10011101

Jarak hamming dapat dikira sebagai,

11011001 ⊕ 10011101 = 01000100 (bilangan 1 bit adalah 2)

Jarak paluan menunjukkan nombor 1 dalam aliran data yang dihasilkan

Jadi, d (11011001, 10011101) = 2

Begitu juga, 010 ⊕ 011 = 001, d (010, 011) = 1.

5). Adakah kod Hamming berbentuk kitaran?

Ya, kod hamming setara dengan kod siklik yang boleh digunakan sebagai kod pengesan ralat.

Ini semua mengenai pembetulan ralat dan pengesanan, jenis pengesanan ralat, kod hamming , proses mengenkripsi dan mendekripsi mesej menggunakan kod hamming, aplikasi kod hamming, kelebihan, dan kekurangan kod Hamming. Berikut adalah pertanyaan untuk anda, 'Apa aplikasi pengesanan dan pembetulan ralat?'