Hamming Code: Contoh Pembetulan Ralat

Apakah Ralat?

Data yang dihantar boleh rosak semasa komunikasi. Ia mungkin dipengaruhi oleh bunyi luaran atau kegagalan fizikal yang lain. Dalam situasi seperti itu, data input tidak dapat sama dengan data output. Ketidakcocokan ini dikenali sebagai "Ralat."

Kesalahan data boleh mengakibatkan kehilangan data penting atau selamat. Sebilangan besar pemindahan data dalam sistem digital akan berbentuk 'Bit transfer'. Walaupun sedikit perubahan boleh mempengaruhi prestasi keseluruhan sistem. Dalam urutan data, jika 1 diubah menjadi 0 atau 0 diubah menjadi 1, itu disebut "Kesalahan bit."

Dalam tutorial kod Hamming ini, anda akan belajar:

  • Apakah Ralat?
  • Jenis Kesalahan
  • Apakah Pengesanan Ralat dan Pembetulan?
  • Apakah kod Hamming?
  • Sejarah kod Hamming
  • Penggunaan kod Hemming:
  • Kelebihan kod Hamming
  • Kekurangan kod Hamming
  • Proses Pengekodan mesej menggunakan Hamming Code
  • Proses Mendekripsi Mesej dalam kod Hamming

Jenis Kesalahan

Terdapat tiga jenis ralat bit yang berlaku dalam penghantaran data dari pengirim ke penerima.

  • Kesalahan bit tunggal
  • Kesalahan bit berganda
  • Kesalahan pecah

Kesalahan Bit Tunggal

Perubahan yang dibuat dalam satu bit dalam keseluruhan urutan data dikenali sebagai "Kesalahan bit tunggal". Walau bagaimanapun, kejadian ralat bit tunggal tidaklah biasa. Lebih-lebih lagi, kesalahan ini hanya berlaku dalam sistem komunikasi selari kerana data dipindahkan sedikit demi sedikit dalam satu baris. Oleh itu, ada lebih banyak kemungkinan bahawa satu baris boleh menjadi bising.

Kesalahan Bit Berganda

Dalam urutan data, jika ada perubahan dalam dua atau lebih bit urutan data pemancar ke penerima, itu dikenal sebagai "Kesalahan berganda bit."

Kesalahan jenis ini kebanyakannya berlaku pada rangkaian komunikasi data jenis bersiri dan selari.

Kesalahan pecah

Perubahan set bit dalam urutan data dikenali sebagai "Burst error". Kesalahan data jenis ini dikira dari perubahan bit pertama hingga perubahan bit terakhir.

Apakah Pengesanan Ralat dan Pembetulan?

Kesalahan sistem komunikasi digital akan dipindahkan dari satu sistem komunikasi ke sistem komunikasi yang lain. Sekiranya kesalahan ini tidak dikesan dan diperbaiki, maka data akan hilang. Untuk komunikasi yang berkesan, data sistem harus dipindahkan dengan ketepatan yang tinggi. Ini akan dilakukan dengan mengenal pasti kesalahan dan membetulkannya terlebih dahulu.

Pengesanan ralat adalah kaedah untuk mengesan kesalahan yang terdapat dalam data yang dikirimkan dari pemancar ke penerima dalam sistem komunikasi data.

Di sini, anda boleh menggunakan kod redundansi untuk mencari kesalahan ini, dengan menambahkan data ketika dihantar dari sumber. Kod ini dipanggil "Kesalahan mengesan kod".

Tiga jenis kod pengesanan ralat adalah:

  • Pemeriksaan Pariti
  • Pemeriksaan Redundansi Siklik (CRC)
  • Pemeriksaan Redundansi Longitudinal (LRC)

Pemeriksaan Pariti:

  • Ia juga dikenali sebagai parity check.
  • Ia mempunyai mekanisme kos efektif untuk mengesan kesalahan.
  • Dalam teknik ini, bit berlebihan dikenali sebagai bit pariti. Ia dilampirkan untuk setiap unit data. Jumlah 1s dalam unit harus menjadi genap, yang dikenali sebagai parity bit.

Pemeriksaan Redundansi Longitudinal

Dalam teknik pengesanan ralat ini, sekumpulan bit disusun dalam format jadual. Kaedah LRC membantu anda mengira bit pariti untuk setiap lajur. Kumpulan kesamaan ini juga dihantar bersama dengan data asal. Blok keseimbangan membantu anda memeriksa kelebihan.

Pemeriksaan Redundansi Siklik

Cyclic Redundancy Check adalah urutan berlebihan yang mesti dilampirkan ke hujung unit. Itulah sebabnya unit data yang dihasilkan harus dibahagi dengan nombor perduaan yang ditentukan sebelumnya.

Di destinasi, data masuk perlu dibahagi dengan nombor yang sama. Sekiranya tidak ada baki, maka unit data dianggap benar dan diterima. Jika tidak, ini menunjukkan bahawa unit data rosak semasa penghantaran, dan oleh itu ia mesti ditolak.

Apakah kod Hamming?

Hamming code adalah kod pelapik yang berguna untuk pengesanan ralat hingga dua kesalahan bit segera. Ia mampu melakukan kesalahan satu bit.

Dalam kod Hamming, sumber mengekodkan mesej dengan menambahkan bit berlebihan dalam mesej. Bit berlebihan ini kebanyakannya dimasukkan dan dihasilkan pada kedudukan tertentu dalam mesej untuk menyelesaikan proses pengesanan dan pembetulan ralat.

Sejarah kod Hamming

  • Hamming code adalah teknik yang dibina oleh RWHamming untuk mengesan kesalahan.
  • Hamming code harus diterapkan pada unit data dengan panjang apa pun dan menggunakan hubungan antara bit data dan redundansi.
  • Dia mengusahakan masalah kaedah pembetulan ralat dan mengembangkan susunan algoritma yang semakin kuat yang disebut Hamming code.
  • Pada tahun 1950, ia menerbitkan Hamming Code, yang banyak digunakan hari ini dalam aplikasi seperti memori ECC.

Penggunaan kod Hamming

Berikut adalah beberapa aplikasi biasa menggunakan kod Hemming:

  • Satelit
  • Memori Komputer
  • Modem
  • PlasmaCAM
  • Buka penyambung
  • Kawat perisai
  • Pemproses Tertanam

Kelebihan kod Hamming

  • Kaedah kod hamming berkesan pada rangkaian di mana aliran data diberikan untuk kesalahan bit tunggal.
  • Kod hamming bukan sahaja memberikan pengesanan ralat bit tetapi juga membantu anda memasukkan ralat yang mengandungi bit sehingga dapat dibetulkan.
  • Kemudahan penggunaan kod hamming menjadikannya sesuai untuk digunakan dalam memori komputer dan pembetulan kesalahan tunggal.

Kekurangan kod Hamming

  • Kod pengesanan dan pembetulan ralat bit tunggal. Walau bagaimanapun, jika terdapat beberapa bit kesalahan, maka hasilnya dapat menghasilkan bit lain yang seharusnya betul untuk diubah. Ini boleh menyebabkan data menjadi lebih ralat.
  • Algoritma kod hamming hanya dapat menyelesaikan masalah bit tunggal.

Proses Pengekodan mesej menggunakan Hamming Code

Proses yang digunakan oleh pengirim untuk menyandikan mesej merangkumi tiga langkah berikut:

  • Pengiraan jumlah bilangan bit berlebihan.
  • Memeriksa kedudukan bit yang berlebihan.
  • Terakhir, mengira nilai bit berlebihan ini.

Apabila bit berlebihan di atas disisipkan di dalam mesej, ia akan dihantar kepada pengguna.

Langkah 1) Pengiraan jumlah bit yang berlebihan.

Anggaplah bahawa mesej tersebut mengandungi:

  • n - bilangan bit data
  • p - bilangan bit berlebihan yang ditambahkan kepadanya sehingga np dapat menunjukkan sekurang-kurangnya (n + p + 1) keadaan yang berbeza.

Di sini, (n + p) menggambarkan lokasi ralat di setiap posisi bit (n + p) dan satu keadaan tambahan menunjukkan tidak ada kesalahan. Oleh kerana p bit dapat menunjukkan keadaan 2 p , 2 p sekurang-kurangnya sama dengan (n + p + 1).

Langkah 2) Letakkan bit berlebihan pada kedudukannya yang betul.

Bit redundan p harus diletakkan pada kedudukan bit kekuatan 2. Contohnya, 1, 2, 4, 8, 16, dan lain-lain. Mereka disebut sebagai p 1 (di kedudukan 1), p 2 (di kedudukan 2) , p 3 (di kedudukan 4), dll.

Langkah 3) Pengiraan nilai bit berlebihan.

Bit yang berlebihan hendaklah bit pariti menjadikan bilangan 1 sama ada genap atau ganjil.

Dua jenis pariti adalah -

  • Jumlah bit dalam mesej dibuat genap disebut sama rata.
  • Jumlah bit dalam mesej dibuat ganjil disebut parity ganjil.

Di sini, semua bit berlebihan, p1, mesti dikira sebagai pariti. Ia harus merangkumi semua kedudukan bit yang perwakilan binari harus merangkumi 1 pada kedudukan 1 tidak termasuk kedudukan p1.

P1 adalah bit pariti untuk setiap bit data dalam kedudukan yang perwakilan binernya merangkumi 1 pada kedudukan yang kurang penting tidak termasuk 1 Suka (3, 5, 7, 9,

…. )

P2 adalah bit pariti untuk setiap bit data dalam kedudukan yang perwakilan binernya termasuk 1 pada posisi 2 dari kanan, tidak termasuk 2 Suka (3, 6, 7, 10, 11,

…)

P3 adalah bit pariti untuk setiap bit dalam kedudukan yang perwakilan binernya merangkumi 1 pada kedudukan 3 dari kanan tidak termasuk 4 Suka (5-7, 12-15,

…)

Proses Mendekripsi Mesej dalam kod Hamming

Penerima mendapat mesej masuk yang memerlukan pengiraan semula untuk mencari dan membetulkan kesalahan.

Proses pengiraan semula dilakukan dalam langkah berikut:

  • Mengira bilangan bit yang berlebihan.
  • Menempatkan betul semua bit berlebihan.
  • Pemeriksaan pariti

Langkah 1) Mengira bilangan bit yang berlebihan

Anda boleh menggunakan formula yang sama untuk pengekodan, bilangan bit yang berlebihan

2 p ≥ n + p + 1

Di sini, bilangan bit data dan p adalah bilangan bit yang berlebihan.

Langkah 2) Dengan betul meletakkan semua bit berlebihan

Di sini, p adalah bit berlebihan yang terletak pada kedudukan bit kuasa 2, Contohnya, 1, 2, 4, 8, dll.

Langkah 3) Pemeriksaan pariti

Bit pariti perlu dikira berdasarkan bit data dan bit berlebihan.

p1 = pariti (1, 3, 5, 7, 9, 11

…)

p2 = pariti (2, 3, 6, 7, 10, 11

…)

p3 = pariti (4-7, 12-15, 20-23

…)

Ringkasan

  • Data yang dihantar boleh rosak semasa komunikasi
  • Tiga jenis ralat Bit adalah 1) Kesalahan Bit Tunggal 2) Ralat Bit Berganda 3) Kesalahan Burst Bit
  • Perubahan yang dibuat dalam satu bit dalam keseluruhan urutan data dikenali sebagai "Kesalahan bit tunggal."
  • Dalam urutan data, jika ada perubahan dalam dua atau lebih bit urutan data pemancar ke penerima, itu dikenal sebagai "Kesalahan berganda bit."
  • Perubahan set bit dalam urutan data dikenali sebagai "Burst error".
  • Kesalahan pengesanan adalah kaedah untuk mengesan kesalahan yang terdapat dalam data yang dikirimkan dari pemancar ke penerima dalam sistem komunikasi data
  • Tiga jenis kod pengesanan ralat adalah 1) Pemeriksaan Pariti 2) Pemeriksaan Redundansi Cyclic (CRC) 3) Pemeriksaan Redundansi Longitudinal (LRC)
  • Hamming code adalah kod pelapik yang berguna untuk pengesanan ralat hingga dua kesalahan bit segera. Ia mampu melakukan kesalahan satu bit.
  • Hamming code adalah teknik yang dibina oleh RWHamming untuk mengesan kesalahan.
  • Aplikasi biasa menggunakan kod Hemming adalah Memori Komputer Satelit, Modem, Pemproses Tertanam, dll.
  • Manfaat terbesar kaedah hamming code adalah berkesan pada rangkaian di mana aliran data diberikan untuk kesalahan bit tunggal.
  • Kelemahan terbesar kaedah kod hamming adalah bahawa ia dapat menyelesaikan masalah bit tunggal sahaja.
  • Kami dapat melakukan proses mengenkripsi dan menyahkod mesej dengan bantuan kod hamming.

Artikel menarik...