Hamming Kodu Nedir: Tarih, Çalışma ve Uygulamaları

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Dijital sistemlerde, iletilen veriler iletişim harici gürültü ve diğer fiziksel arızalar nedeniyle bozulabilir. Aktarılan veriler verilen giriş verileriyle eşleşmezse, buna 'hata' denir. Veri hataları, dijital sistemlerdeki hayati verileri silebilir. Veri aktarımı dijital sistemlerde bit (0 ve 1) şeklinde olacaktır. Bitlerden herhangi biri değiştirilirse, tüm sistemin performansı etkilenebilir. Bit '1' bit '0' olarak değiştirilirse veya tam tersi olursa, o zaman bit hatası olarak adlandırılır. Farklı var hata türleri tek bitlik hatalar, çoklu hatalar ve patlama hataları gibi. Bu makalede, hata düzeltme ve tespiti ile hamming kodunu tartışıyoruz.

Hata Tespit ve Düzeltme Nedir?

Dijital iletişimde, bir sistemden / ağdan başka bir sisteme / ağa bilgi aktarımında hata olması durumunda veriler kaybolacaktır. Bu yüzden hataları bulmak ve düzeltmek önemlidir. Bir hata tespit etme Etkili iletişim için hataları tespit etmek ve düzeltmek için ve düzeltme yöntemleri kullanılır. Bu yöntemler kullanılırsa, veriler daha yüksek doğrulukla aktarılabilir.




Hata tespiti, dijital sistemlerde verici / göndericiden alıcıya iletilen hataları tespit etmek için kullanılan yöntem olarak tanımlanmaktadır. Hataların bulunması için aktarım sırasında verilere fazlalık kodları eklenir. Bunlara hata tespit kodları denir.

Hata düzeltme, vericiden alıcıya iletilen verilerin düzeltilmesidir. Hata düzeltme iki tipte yapılabilir.



Geriye Dönük Hata Düzeltme

Bu tür bir hata düzeltmesinde, alıcı hatayı tespit ederse, göndericiden veriyi yeniden iletmesini ister.

İleri Hata Düzeltme

Alıcı tarafından alınan veri hatayı bulursa, verileri otomatik olarak düzeltmek ve kurtarmak için hata düzeltme kodlarını yürütür.


Veri bitlerinin 'm' sayısı ve artık bitlerin 'r' sayısı varsa, bilgi kombinasyonları 2r olacaktır.

2r> = m + r + 1

Hata Tespit Kodlarının Türleri

Alınan verilerdeki hatalar 3 tip hata tespit kodu kullanılarak tespit edilebilir. Parite kontrolü, döngüsel artıklık kontrolü (CRC) ve uzunlamasına artıklık kontrolüdür.

Parite Kontrolü

Eşlik biti olarak adlandırılan fazlalık bit, çift eşlik veya tek eşlik durumunda bit sayısını çift veya tek yapmak için eklenir. Alıcı, eşlik bitini eklemek için bir çerçevedeki bit sayısını (1'ler) sayar. Buna eşlik denetimi denir. Bir çerçevedeki 1 sayısı çift ise, sıfır değeriyle '1' biti eklenerek eşitlik bile kullanılır. Benzer şekilde, 1 numaralarının arasında tuhaftır, bu durumda tek eşlik, '1' değerine sahip bit eklenerek kullanılır.

Hata Tespiti

hata algılama

Bu nedenle alıcının kaynaktan aldığı çerçeve / tarihin bozulmamasını sağlamak için kullanılır. Bu tür bir hata tespitinde, 1’lerin sayısı alınan çerçevede eşit olmalıdır. Tüm hata algılama türleri arasında çok daha ucuzdur.

Boyuna Artıklık Kontrolü (LRC)

Bit kümesi / bloğu organize edildiğinde, her çerçevede eşlik bitini kontrol etmek için LRC yöntemi kullanılabilir. Orijinal verilerle birlikte eşlik bitleri kümesinin gönderilmesine yardımcı olur ve fazlalığı kontrol eder.

Döngüsel Artıklık Kontrolü

onun türü kaynaktan alınan verinin / çerçevenin geçerli olup olmadığını tespit etmek için kullanılır. Gönderilmesi gereken verinin ikili bölünmesini içerir ve polinomları kullanır (bölen oluşturmak için). Önce iletim Kalanı hesaplamak için gönderici tarafından veri / bit / çerçeve üzerinde bir bölme işlemi gerçekleştirilir.

Döngüsel Artıklık Kontrolü

döngüsel artıklık denetimi

Göndericiden gerçek verilerin iletimi sırasında, kalanı gerçek verilerin sonuna ekler. Gerçek verilerin ve geri kalanının birleşimine kod sözcüğü denir. Veriler, kod sözcükleri biçiminde iletilir. Bu süreçte veri bozulursa alıcı tarafından reddedilecek, aksi takdirde kabul edilecektir.

Hamming Kodu nedir?

Hamming kodu, 2-ara hataya kadar hata tespit sürecinde kullanılan doğrusal bir kod olarak tanımlanır. Aynı zamanda tek bitlik hataları da tespit edebilir. Bu yöntemde, gereksiz bitler veriyi kodlamak için gönderici tarafından veriye / mesaja eklenir. Hata tespiti ve düzeltmesi yapmak için, bu fazlalık bitler, hata düzeltme işlemi için belirli konumlara eklenir.

Hamming Kodu

hamming kodu

Hamming Kodlarının Tarihçesi

1950'de Richard W. hamming, verilerdeki hataları tespit etmek ve düzeltmek için Hamming kodlarını icat etti. Daha yüksek güvenilirliğe sahip bilgisayarların evriminden sonra, 1 hata düzeltme kodları için hamming kodlarını tanıttı ve daha sonra 2 hata tespit kodlarına kadar genişletti. Hamming kodları, eşlik denetimi verilerdeki hataları algılayamadığı ve düzeltemediği için oluşturulur. Hamming kodları, gerçek veriler ve artıklık bitleri arasındaki herhangi bir blok uzunluğundaki veriye eklenir. Hata düzeltme yöntemlerinin problemleri üzerinde çalışmak için bir dizi algoritma geliştirdi ve bu kodlar ECC belleğinde yaygın olarak kullanılıyor.

Hamming Kodunu Kullanarak Mesaj Kodlama İşlemi

Gönderen tarafından bir hamming kodu kullanarak bir mesajı kodlama işlemi 3 adımı içerir.

Aşama 1: İlk adım, bir mesajdaki fazla bit sayısını hesaplamaktır.

  • Örneğin, bir mesaj 'n' bit sayısını içeriyorsa ve fazlalık bitlerin 'p' sayısı mesaja eklenirse, 'np' (n + p + 1) farklı durumları belirtir.
  • (N + p) her bit konumundaki bir hatanın konumunu temsil eder
  • 1 (ekstra durum) hata olmadığını gösterir.
  • 'P', (n + p + 1) durumlarına eşit olan 2 ^ p (2p) durumlarını gösterdiğinden.

Adım 2: Yedek bitleri tam / doğru konuma yerleştirin

'p' bitleri, 1, 2, 4, 8, 16, vb. gibi 2'nin gücü olan bit konumlarına eklenir. Bu bit konumları, p1 (konum 1), p2 (konum 2), p3 (konum 4) vb.

Aşama 3: Yedek bitlerin değerlerini hesaplayın

  • Burada eşlik bitleri, fazlalık bitlerin değerlerini hesaplamak için kullanılır.
  • Eşlik bitleri, bir mesajdaki 1 sayısını çift veya tek yapabilir.
  • Bir mesajdaki toplam 1 sayısı çift ise, eşitlik kullanılır
  • Bir mesajdaki toplam 1 sayısı tek ise, o zaman tek eşlik kullanılır.

Hamming Kodunda Mesajın Şifresini Çözme İşlemi

Hamming kodunu kullanarak alıcı tarafından göndericiden alınan bir mesajın şifresini çözme işlemi aşağıdaki adımları içerir. Bu işlem, bir mesajdaki hataları tespit etmek ve düzeltmek için yapılan yeniden hesaplamadan başka bir şey değildir.

Aşama 1: Fazla bit sayısını sayın

İletiyi fazlalık bitler kullanarak kodlamanın formülü,

2p≥ n + p + 1

Adım 2: tüm yedek bitlerin konumlarını düzeltin

Fazladan bitlerin 'p' no. 1,2,4,8,16,32 vb. Gibi 2'nin bir bit kuvvetine yerleştirilir.

Aşama 3: eşlik denetimi (tek eşlik ve çift eşlik)

Eşlik bitleri, veri bitleri ve yedek bitlerdeki 1 sayısı esas alınarak hesaplanır.

Örneğin

P1'in paritesi 1, 3, 5, 7, 9, 11,… olacaktır.

P2'nin paritesi 2, 3, 6, 7, 10, 11,… olacaktır.

P3'ün paritesi 4-7, 12-15, 20-23,… olacaktır.

Hamming Kodunun Avantajları

Bir hamming kodu kullanmanın ana avantajı, bir veri akışı tek bitlik hatalar içeriyorsa uygun maliyetli olmasıdır.

  • Hata tespiti sağlayabilir ve ayrıca düzeltme için bir hata içeren biti gösterir.
  • Hamming kodları çok kolaydır ve bilgisayar belleğinde ve tek bit hata düzeltme ve tespitinde kullanmak için en iyisidir.

Hamming Kodunun Dezavantajları

  • Yalnızca tek bitlik hata düzeltme ve algılama için en iyisidir. Birden fazla bit hatası varsa, tamamı bozulabilir.
  • Hamming kod algoritması yalnızca tek bitlik hataları çözebilir.

Hamming Kodlarının Uygulamaları

Hamming kodları kullanılır,

  • Bilgi işlem
  • Telekomünikasyon
  • Veri sıkıştırma
  • Bulmacaları ve turbo kodları çözme
  • Uydular
  • Plazma CAM
  • Korumalı teller
  • Modemler
  • Bilgisayar hafızası
  • Açık konektörler
  • Gömülü sistemler ve işlemci

SSS

1). Hamming kodu 2 bitlik hataları algılayabilir mi?

Hamming kodları, bir veri akışındaki 2 bitlik hataları algılayabilir ve düzeltebilir

2). Hamming kodunu nasıl düzeltirsiniz?

Hamming kodları, gerçek veriler ve fazlalık bitler arasındaki herhangi bir veri uzunluğuna yerleştirilir. Bu kodlar minimum 3 bit mesafeli yerlerdir

3). Eşlik kodu nedir?

Eşlik kodu veya eşlik biti, toplam bit sayısını (1'ler) çift veya tek yapmak için alınan çerçeveye bir bit eklemektir (veriler 1'ler ve 0'lar içerir).

4). Veriler arasındaki Hamming mesafesi nedir?

Eşit uzunluktaki iki farklı veri akışı arasındaki hareket mesafesi 1’lerin sayısıdır.

Eşit uzunluktaki iki veri dizisi arasındaki hamming mesafesi XOR işlemi kullanılarak hesaplanabilir.

Örneğin, a = 11011001

b = 10011101

Hamming mesafesi şu şekilde hesaplanabilir:

11011001 ⊕ 10011101 = 01000100 (1 bit sayısı 2'dir)

Hamming mesafesi, sonuçta ortaya çıkan veri akışındaki 1 sayısını gösterir.

Yani, d (11011001, 10011101) = 2

Benzer şekilde, 010 ⊕ 011 = 001, d (010, 011) = 1.

5). Hamming kodu döngüsel mi?

Evet, hamming kodları, hata tespit kodları olarak kullanılabilen döngüsel kodlara eşdeğerdir.

Bu nedenle, bu tamamen hata düzeltme ve tespiti, hata tespiti türleri, Hamming kodları , Hamming kodlarını kullanarak mesajı şifreleme ve deşifre etme işlemi, hamming kodlarının uygulamaları, Hamming kodlarının avantajları ve dezavantajları. İşte size bir soru: 'Hata algılama ve düzeltme uygulamaları nelerdir?'