Apa itu Kode Hamming: Sejarah, Cara Kerja dan Penerapannya

Coba Instrumen Kami Untuk Menghilangkan Masalah





Dalam sistem digital, data ditransmisikan untuk komunikasi dapat rusak karena kebisingan eksternal dan kegagalan fisik lainnya. Jika data yang dikirimkan tidak sesuai dengan data masukan yang diberikan, maka hal tersebut disebut dengan 'error'. Kesalahan data dapat menghapus data penting dalam sistem digital. Transfer data akan berupa bit (0 dan 1) dalam sistem digital. Jika salah satu bit diubah, maka kinerja sistem secara keseluruhan dapat terpengaruh. Jika bit '1' diubah menjadi bit '0' atau sebaliknya, maka disebut bit error. Ada yang berbeda jenis kesalahan seperti kesalahan bit tunggal, kesalahan ganda, dan kesalahan burst. Pada artikel ini, kita membahas koreksi dan deteksi kesalahan, dan kode hamming.

Apa itu Deteksi dan Koreksi Kesalahan?

Dalam komunikasi digital, data akan hilang jika terjadi kesalahan dalam transfer informasi dari satu sistem / jaringan ke sistem / jaringan lain. Jadi, penting untuk menemukan dan memperbaiki kesalahan. Beberapa kesalahan deteksi dan metode koreksi digunakan untuk mendeteksi dan memperbaiki kesalahan untuk komunikasi yang efektif. Jika metode ini digunakan, maka data dapat ditransfer dengan akurasi yang lebih tinggi.




Deteksi kesalahan didefinisikan sebagai, metode yang digunakan untuk mendeteksi kesalahan yang dikirimkan dari pemancar / pengirim ke penerima dalam sistem digital. Kode redundansi ditambahkan ke data selama transmisi untuk menemukan kesalahan. Ini disebut kode pendeteksi kesalahan.

Koreksi kesalahan adalah koreksi data yang dikirimkan dari pemancar ke penerima. Koreksi kesalahan dapat dilakukan dalam dua jenis.



Koreksi Kesalahan Mundur

Dalam jenis koreksi kesalahan ini, penerima meminta kembali pengirim untuk mengirimkan ulang data jika penerima mendeteksi kesalahan tersebut.

Koreksi Kesalahan Teruskan

jika data yang diterima oleh penerima menemukan kesalahan, maka ia mengeksekusi kode koreksi kesalahan, untuk memperbaiki dan memulihkan data secara otomatis.


Jika terdapat 'm' no data bits dan 'r' no. Redundant bits, maka kombinasi informasinya akan menjadi 2r.

2r> = m + r + 1

Jenis Kode Deteksi Kesalahan

Kesalahan dalam data yang diterima dapat dideteksi dengan menggunakan 3 jenis kode deteksi kesalahan. Yaitu, pemeriksaan paritas, pemeriksaan redundansi siklik (CRC) dan pemeriksaan redundansi longitudinal.

Pemeriksaan Paritas

Bit redundan yang disebut bit paritas ditambahkan untuk membuat jumlah bit genap atau ganjil dalam kasus paritas genap atau paritas ganjil. Penerima menghitung jumlah bit (1) dalam bingkai untuk menambahkan bit paritas. Ini disebut pemeriksaan paritas. Jika nomor 1 dalam bingkai genap, maka paritas genap digunakan dengan menambahkan bit '1' dengan nilai nol. Demikian pula untuk no.of 1 ganjil, maka digunakan paritas ganjil dengan menjumlahkan bit dengan nilai '1'.

Deteksi Kesalahan

deteksi kesalahan

Karenanya, ini digunakan untuk memastikan bahwa frame / tanggal yang diterima oleh penerima dari sumber tidak rusak. Dalam jenis deteksi kesalahan ini, nomor 1 harus genap dalam bingkai yang diterima. Ini sangat lebih murah di antara semua jenis deteksi kesalahan.

Pemeriksaan Redundansi Longitudinal (LRC)

Jika set / blok bit diatur, maka metode LRC dapat digunakan untuk memeriksa bit paritas di setiap frame. Ini membantu untuk mengirim set bit paritas bersama dengan data asli dan memeriksa redundansi.

Pemeriksaan Redundansi Siklik

tipenya digunakan untuk mendeteksi data / frame yang diterima dari sumbernya valid atau tidak. Ini melibatkan dalam pembagian biner dari data yang harus dikirim dan menggunakan polinomial (untuk menghasilkan pembagi). Sebelum transmisi , operasi pembagian dilakukan oleh pengirim pada data / bit / bingkai untuk menghitung sisanya.

Cyclic-Redundancy-Check

cyclic-redundancy-check

Selama transmisi data aktual dari pengirim, ia menambahkan sisanya di akhir data aktual. Kombinasi data aktual dan sisanya disebut kata kode. Data ditransmisikan dalam bentuk codeword. Dalam proses ini, jika data rusak, maka data akan ditolak oleh penerima jika tidak maka akan diterima.

Apakah Kode Hamming itu?

Kode Hamming didefinisikan sebagai, kode linier yang digunakan dalam proses deteksi kesalahan hingga kesalahan 2-menengah. Ia juga mampu mendeteksi kesalahan bit tunggal. Dalam metode ini, bit redundan ditambahkan ke data / pesan oleh pengirim untuk menyandikan data. Untuk melakukan deteksi dan koreksi kesalahan, bit redundan ini ditambahkan pada posisi tertentu untuk proses koreksi kesalahan.

Kode Hamming

kode hamming

Sejarah Kode Hamming

Pada tahun 1950, Richard W. hamming menemukan kode Hamming untuk mendeteksi dan memperbaiki kesalahan dalam data. Setelah evolusi komputer dengan keandalan yang lebih tinggi, dia memperkenalkan kode hamming untuk kode koreksi 1 kesalahan dan kemudian dia memperluas hingga kode pendeteksi kesalahan 2. Kode Hamming dibuat karena pemeriksaan paritas tidak dapat mendeteksi dan memperbaiki kesalahan dalam data. Kode Hamming dimasukkan ke setiap panjang blok data antara data aktual dan bit redundansi. Ia mengembangkan serangkaian algoritma untuk mengerjakan masalah metode koreksi kesalahan dan kode-kode ini banyak digunakan dalam memori ECC.

Proses Encoding Pesan menggunakan Kode Hamming

Proses pengkodean pesan menggunakan kode hamming oleh pengirim mencakup 3 langkah.

Langkah 1: Langkah pertama adalah menghitung jumlah bit yang berlebihan dalam sebuah pesan

  • Misalnya, jika pesan berisi 'n' no bits dan 'p' no. Redundant bits ditambahkan ke pesan, maka 'np' menunjukkan (n + p + 1) status yang berbeda.
  • Dimana (n + p) mewakili lokasi kesalahan di setiap posisi bit
  • 1 (status ekstra) menunjukkan tidak ada kesalahan.
  • Karena 'p' menunjukkan 2 ^ p (2p) status, yang sama dengan (n + p + 1).

Langkah 2: Tempatkan bit redundan pada posisi yang tepat / benar

Bit 'p' dimasukkan ke dalam posisi bit yang merupakan pangkat 2 seperti 1, 2, 4, 8, 16, dll. Posisi bit ini ditunjukkan sebagai p1 (posisi 1), p2 (posisi 2), p3 (posisi 4), dll.

Langkah 3: Hitung nilai bit redundan

  • Di sini bit paritas digunakan untuk menghitung nilai bit redundan.
  • Bit paritas dapat membuat angka 1 dalam pesan genap atau ganjil.
  • Jika jumlah total 1 dalam pesan genap, maka paritas genap digunakan
  • Jika jumlah total 1 dalam pesan ganjil, maka paritas ganjil digunakan.

Proses Mendekripsi Pesan dalam Kode Hamming

Proses mendekripsi pesan yang diterima dari pengirim oleh penerima menggunakan kode hamming mencakup langkah-langkah berikut. Proses ini tidak lain adalah penghitungan ulang untuk mendeteksi dan memperbaiki kesalahan dalam sebuah pesan.

Langkah 1: Hitung jumlah bit yang berlebihan

Rumus untuk menyandikan pesan menggunakan bit redundan adalah,

2p≥ n + p + 1

Langkah 2: perbaiki posisi semua bit yang berlebihan

'P' no. Bit redundan ditempatkan pada posisi bit kekuatan 2 seperti 1,2,4,8,16,32 dll

Step3: pemeriksaan paritas (paritas ganjil dan paritas genap)

Bit paritas dihitung berdasarkan nomor 1 dalam bit data dan bit redundan.

Sebagai contoh

Paritas p1 akan menjadi 1, 3, 5, 7, 9, 11,…

Paritas p2 akan menjadi 2, 3, 6, 7, 10, 11,…

Paritas p3 akan menjadi 4-7, 12-15, 20-23,…

Keuntungan dari Kode Hamming

Keuntungan utama menggunakan kode hamming adalah hemat biaya jika aliran data berisi kesalahan bit tunggal.

  • Ini dapat memberikan deteksi kesalahan dan juga menunjukkan bit yang berisi kesalahan untuk koreksi.
  • Kode Hamming sangat mudah dan terbaik untuk digunakan dalam memori komputer dan koreksi dan deteksi kesalahan bit tunggal.

Kerugian dari Kode Hamming

  • Yang terbaik hanya untuk koreksi dan deteksi kesalahan bit tunggal. Jika beberapa bit error, maka keseluruhannya bisa rusak.
  • Algoritme kode Hamming hanya dapat menyelesaikan kesalahan bit tunggal.

Penerapan Kode Hamming

Kode Hamming digunakan di,

  • Menghitung
  • Telekomunikasi
  • Kompresi data
  • Memecahkan teka-teki dan kode turbo
  • Satelit
  • CAM plasma
  • Kabel terlindung
  • Modem
  • Memori komputer
  • Konektor terbuka
  • Sistem tertanam dan prosesor

FAQ

1). Dapatkah kode Hamming mendeteksi kesalahan 2-bit?

Kode Hamming dapat mendeteksi dan mengoreksi kesalahan hingga 2-bit dalam aliran data

2). Bagaimana Anda memperbaiki kode Hamming?

Kode Hamming ditempatkan di setiap panjang data antara data aktual dan bit yang berlebihan. Kode-kode ini adalah tempat dengan jarak minimal 3 bit

3). Apa kode paritasnya?

Kode paritas atau bit paritas menambahkan sedikit ke bingkai yang diterima (data berisi 1 dan 0) untuk membuat total jumlah bit (1) genap atau ganjil.

4). Berapa jarak Hamming antar data?

Jarak hamming antara dua aliran data yang berbeda dengan panjang yang sama adalah nomor 1.

Jarak hamming antara dua string data dengan panjang yang sama dapat dihitung dengan menggunakan operasi XOR.

Misalnya, a = 11011001

b = 10011101

Jarak Hamming dapat dihitung sebagai,

11011001 ⊕ 10011101 = 01000100 (no 1-bits 2)

Jarak hamming menunjukkan nomor 1 dalam aliran data yang dihasilkan

Jadi, d (11011001, 10011101) = 2

Demikian pula, 010 ⊕ 011 = 001, d (010, 011) = 1.

5). Apakah kode Hamming bersifat siklik?

Ya, kode hamming setara dengan kode siklik yang dapat digunakan sebagai kode pendeteksi kesalahan.

Jadi ini semua tentang koreksi dan deteksi kesalahan, jenis deteksi kesalahan, kode hamming , proses mengenkripsi dan mendekripsi pesan menggunakan kode hamming, aplikasi kode hamming, kelebihan, dan kekurangan kode Hamming. Ini pertanyaan untuk Anda, ‘Apa saja aplikasi dari deteksi dan koreksi kesalahan?”