> hamming | (7,4) | ecc <
// Hamming-kod – felkorrigeringskod för tillförlitlig dataöverföring
Felkorrigering
Upptäcker och korrigerar automatiskt enbitfel i data.
Detektering av dubbla fel
Kan upptäcka (men inte korrigera) tvåbitfel i varje block.
Minimal overhead
Endast 3 paritetsbitar för varje 4 databitar (75 % effektivitet).
>> teknisk info
Hur Hamming-kod fungerar:
Hamming(7,4)-koden lägger till 3 paritetsbitar till varje 4 databitar och skapar 7-bitarsblock. Paritetsbitarna placeras på positioner som är potenser av 2 (1, 2, 4). När fel uppstår pekar syndromet (resultatet av paritetskontrollen) direkt ut den felaktiga bitpositionen.
Hamming(7,4)-struktur:
Data: 1011 (4 bitar) Positioner: 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
Varför använda Hamming-kod:
- >Felkorrigering i minne
- >Satellitkommunikation
- >Datasystem för lagring
- >Nätverkstransmission
- >RAID-array
>> vanliga frågor
Vad är Hamming-kod?
Hamming-kod är en felkorrigeringskod som uppfanns av Richard Hamming 1950. Den lägger till paritetsbitar till data så att enbitfel kan upptäckas och korrigeras automatiskt.
Vad betyder (7,4)?
Hamming(7,4) betyder 7 bitar totalt, med 4 databitar och 3 paritetsbitar. Koden kan korrigera vilket enbitfel som helst i 7-bitarsblocket. Andra varianter inkluderar (15,11) och (31,26).
Hur fungerar felkorrigering?
När data tas emot beräknas paritetsbitarna om. Om de inte stämmer överens anger syndromet (skillnaden) direkt vilken bit som är felaktig. Felet åtgärdas genom att den biten vänds.
Hamming jämfört med andra ECC-koder?
Hamming-kod är enkel och effektiv för enbitfel. Mer komplexa koder som Reed–Solomon kan korrigera flera fel men med högre overhead. Hamming är perfekt för kanaler med låg brusnivå.