> hamming | (7,4) | ecc <
// Код Хэмминга – код коррекции ошибок для надёжной передачи данных
Коррекция ошибок
Автоматически обнаруживает и исправляет одиночные битовые ошибки в данных.
Обнаружение двойных ошибок
Может обнаруживать (но не исправлять) ошибки на два бита в каждом блоке.
Минимальные накладные расходы
Всего 3 бита чётности на каждые 4 бита данных (эффективность 75%).
>> техническая информация
Как работает код Хэмминга:
Код Hamming(7,4) добавляет 3 бита чётности к каждым 4 битам данных, формируя 7-битовые блоки. Биты чётности располагаются на позициях, являющихся степенями двойки (1, 2, 4). При появлении ошибок синдром (результат проверки чётности) напрямую указывает на позицию ошибочного бита.
Структура Hamming(7,4):
Данные: 1011 (4 бита) Позиции: 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
Зачем использовать код Хэмминга:
- >Коррекция ошибок в памяти
- >Спутниковая связь
- >Системы хранения данных
- >Сетевые передачи
- >RAID-массивы
>> часто задаваемые вопросы
Что такое код Хэмминга?
Код Хэмминга — это код коррекции ошибок, предложенный Ричардом Хэммингом в 1950 году. Он добавляет к данным биты чётности, которые позволяют автоматически обнаруживать и исправлять одиночные битовые ошибки.
Что означает (7,4)?
Hamming(7,4) означает 7 бит всего: 4 бита данных и 3 бита чётности. Он может исправить любую одиночную битовую ошибку в 7-битовом блоке. Существуют и другие варианты, например (15,11) и (31,26).
Как работает коррекция ошибок?
При приёме данных биты чётности пересчитываются. Если они не совпадают, синдром (разница) напрямую указывает, какой бит неверен. Ошибка исправляется инверсией этого бита.
Код Хэмминга против других ECC-кодов?
Код Хэмминга прост и эффективен для одиночных битовых ошибок. Более сложные коды, такие как Reed–Solomon, могут исправлять несколько ошибок, но требуют больших ресурсов. Код Хэмминга идеально подходит для каналов с низким уровнем шумов.