Hamming Kodu Nedir?

Hamming kodu, ikili bir iletimdeki hataları tespit etmek ve düzeltmek için kullanılan bir yöntemdir. Bunu, algılama mantığını sağlayan bir algoritmanın yanı sıra, kontrol için kullanılan sıraya ek ikili rakamların dahil etmesiyle yapar. Böyle bir kod, herhangi bir bit dizisinde iki hata bulma ve yanlış olabilecek bir biti tamir etme yeteneğine sahiptir. En sık başvurulan Hamming kodu Hamming (7,4) olarak bilinir; burada dördü başlangıçtaki başlangıç ​​bitlerinin sayısını gösterir ve yedi tanesi ek kontrol bitlerinin eklenmesinden sonra dizideki toplam bit sayısını temsil eder.

Bu teknik, adını 1950'de yayınlayan yaratıcısı Richard Hamming'den aldı. Hamming kodunun çalışması, bir dizi bit alarak ve aynı zamanda parite bitleri olarak adlandırılan ek kontrol bitlerini diziye eklemektir. Kontrol bitleri her zaman iki gücüne sahip bir konumda enjekte edilir, bu nedenle herhangi bir sayıda bit, ek parite bitleri dahil edilerek doğrulanabilir. Bu, sekansa eklenen son parite biti, sekanstaki nihai pozisyondan daha küçük veya ona eşit olan ikisinin gücü olan bir pozisyonda olana kadar devam edebilir.

Tüm parite bitlerinin yerinde olması durumunda, kalan pozisyonlar gerçek veri bitleridir. Dört bitlik bir örnek verildiğinde, üç, beş, altı ve yedi numaralı konumlar veri iken, bir, iki ve dördüncü bit konumları parite bitleri olur. Bu sıra oluşturulduktan sonra Hamming kodunun mantığı işe yarıyor.

Bir Hamming kodunda, diziye eklenen her bir parite bitinin, kendileri de dahil olmak üzere yakın oldukları bazı bit konumlarını kontrol etmek için kullanılır. Birinci pozisyondaki parite biti, diğer her bit pozisyonunu kontrol eder; bu, sekanstaki her bir tek numaralı pozisyondur. İkinci parite biti, ikinci konumda, iki ve üç numaralı konumları kontrol eder, ardından iki konumu atlar, iki konumu daha kontrol eder, iki ve daha fazlasını atlar vb. Dördüncü pozisyonda bir eşlik biti varsa, dört ila yedi arasındaki pozisyonları kontrol etmesi, ardından dört pozisyonu atlaması, dördüncü ve sonraki kontrolleri için benzer şekilde davranır. Dizideki her parite biti, dizilim boyunca bu şekilde devam eder.

Bir Hamming kodunun bir hatayı tespit edip düzelttiği işlem, her bir parite kontrolü için, her biri bir çift sayı çıkarmak zorunda olan her bir parite kontrolü için kontrol dizisindeki bitlerin eklenmesidir. Yedi bit örnek göz önüne alındığında, ilk parite kontrolü için, bir, üç, beş ve yedi bit eklenir. Toplam bir çift sayıysa, parite kontrol eder, ancak toplam tek ise, bir hata vardır. Parite kontrolleri çakıştığından, bu gibi iki hata ortaya çıkacaktır. Toplamları bile bulamayan iki parite bit konumu bir araya eklendiğinde, düzeltilmesi gereken biti ortaya çıkarır.

Yedi bit Hamming kodu örneğinde, beş numaralı konumdaki bitin yanlış olduğunu düşünün. Bir, üç, beş ve yedi konumlardaki bitlerin toplamı, dört ila yedi konumlarındaki bitlerin toplamı gibi tek bir sayı olarak ortaya çıkacaktır. Bu, parite kontrol bitlerini bir ve dördüncü pozisyonlarda başarısız olduğunu gösterir. Bir ve dört birlikte eklendiğinde, toplam beş olur; bu, iletimdeki yanlış bitin düzeltilmesi gereken konumdur.