> hamming | (7,4) | ecc <

// Hamming kodu – güvenilir veri iletimi için hata düzeltme kodu

[DÜZELTME]

Hata düzeltme

Verilerdeki tek bitlik hataları otomatik olarak algılar ve düzeltir.

[TESPİT]

Çift hata tespiti

Her bloktaki iki bitlik hataları tespit edebilir (ancak düzeltemez).

[VERİMLİ]

Minimum ek yük

Her 4 veri biti için yalnızca 3 parite biti (%%75 verimlilik).

>> teknik bilgiler

Hamming kodu nasıl çalışır?:

Hamming(7,4) kodu, her 4 veri bitine 3 parite biti ekleyerek 7 bitlik bloklar oluşturur. Parite bitleri, 2’nin kuvveti olan konumlara (1, 2, 4) yerleştirilir. Hata oluştuğunda sendrom (parite kontrolünün sonucu) doğrudan hatalı bitin konumunu gösterir.

Hamming(7,4) yapısı:

Veri: 1011 (4 bit) Konumlar: P1 P2 D1 P3 D2 D3 D4 Hamming: 1 0 1 1 0 1 1 P1 = D1 ⊕ D2 ⊕ D4 = 1 ⊕ 0 ⊕ 1 = 0 P2 = D1 ⊕ D3 ⊕ D4 = 1 ⊕ 1 ⊕ 1 = 1 P3 = D2 ⊕ D3 ⊕ D4 = 0 ⊕ 1 ⊕ 1 = 0

Neden Hamming kodu kullanmalı?:

  • >Bellek hata düzeltme
  • >Uydu haberleşmesi
  • >Veri depolama sistemleri
  • >Ağ iletimi
  • >RAID dizileri

>> sık sorulan sorular

Hamming kodu nedir?

Hamming kodu, 1950’de Richard Hamming tarafından geliştirilen bir hata düzeltme kodudur. Tek bitlik hataların otomatik olarak algılanıp düzeltilmesini sağlayan parite bitlerini verilere ekler.

(7,4) ne anlama geliyor?

Hamming(7,4), toplam 7 bit, 4 veri biti ve 3 parite biti anlamına gelir. 7 bitlik blok içindeki herhangi bir tek bitlik hatayı düzeltebilir. Diğer varyantlara örnek olarak (15,11) ve (31,26) verilebilir.

Hata düzeltme nasıl çalışır?

Veri alındığında parite bitleri yeniden hesaplanır. Eşleşmezlerse sendrom (fark) hangi bitin hatalı olduğunu doğrudan gösterir. Hata, o bit ters çevrilerek düzeltilir.

Hamming ve diğer ECC kodları?

Hamming kodu, tek bitlik hatalar için basit ve etkilidir. Reed–Solomon gibi daha karmaşık kodlar birden fazla hatayı düzeltebilir ancak ek yükleri daha fazladır. Hamming, düşük gürültülü kanallar için idealdir.

// Hızlı başvuru

Posbitcovered by
1p1p1
2p2p2
3d1p1 p2
4p3p3
5d2p1 p3
6d3p2 p3
7d4p1 p2 p3

// Çözümlü örnek

Data 1011 -> positions 3,5,6,7 = 1,0,1,1
p1 = d3^d5^d7 = 1^0^1 = 0     p2 = d3^d6^d7 = 1^1^1 = 1     p3 = d5^d6^d7 = 0^1^1 = 0
Codeword (pos 1..7)  0110011
Received 0110111 (bit 5 flipped)
Syndrome s3 s2 s1 = 1 0 1 = 5   ->  flip bit 5  ->  0110011 corrected

>> Daha fazla soru

S: Hamming kodunda (7,4) ne demektir?

C: 4 veri bitine 3 parite biti eklenerek 7 bitlik kod sözcüğü oluşur. Parite bitleri 2’nin kuvveti konumlarındadır: 1, 2 ve 4. En küçük uzaklık 3’tür: 1 hatayı düzeltir, 2 hatayı saptar ama düzeltemez.

S: Sendrom hata konumunu nasıl gösterir?

C: Her parite biti, konum numarasında ilgili bit 1 olan konumları denetler. Üç sonuç ikili olarak hatalı bitin konumunu verir (0 = hata yok). Örnekte 101, 5. konumu gösterir.

S: Genişletilmiş Hamming (SECDED) nedir?

C: Ek bir genel parite biti (7,4)’ü (8,4) yapar: 1 hatayı düzeltir, 2 hatayı saptar. ECC bellek aynı ilkeyi kullanır; genellikle (72,64): 64 veri bitine 8 denetim biti.

Diğer diller