해밍 코드 예제

인코딩할 데이터 바이트가 10011010인 경우 데이터 단어(_1_001_1010)는 __1_1_001_1010이고 코드 워드는 011100101010입니다. 오류 수정 코드(ECC)는 시끄러운 채널을 통해 전송된 데이터의 오류를 감지하고 제거하기 위해 특정 알고리즘에 의해 생성된 숫자 시퀀스입니다. 오류 수정 코드는 알고리즘의 제한 내에서 손상된 비트의 정확한 수와 손상된 비트의 위치를 확인합니다. 마지막으로, 이러한 행렬은 다음 연산에 의해 동등한 비체계적인 코드로 변이될 수 있습니다:[4] Hamming 코드가 데이터에 추가하는 제한된 중복성으로 인해 오류율이 낮을 때만 오류를 감지하고 수정할 수 있습니다. 비트 오류가 극히 드물고 해밍 코드가 널리 사용되는 컴퓨터 메모리(ECC 메모리)의 경우입니다. 이 컨텍스트에서는 하나의 추가 패리티 비트를 갖는 확장 된 Hamming 코드가 종종 사용됩니다. 확장된 해밍 코드는 4의 해밍 거리를 달성하므로 디코더는 최대 1비트 오류가 발생하는 시기와 2비트 오류가 발생하는 시기를 구분할 수 있습니다. 이러한 의미에서 확장된 해밍 코드는 SECDED로 축약된 단일 오류 수정 및 이중 오류 감지입니다. 당신이 볼 수 있듯이, 당신은 m 패리티 비트가있는 경우, 그것은 1에서 2m까지 비트를 커버 할 수 있습니다 – 1 {디스플레이 스타일 2 ^{m}-1} . 패리티 비트를 빼면 데이터에 사용할 수 있는 2m – m – 1 {디스플레이 스타일 2^{m}-m-1} 비트가 남습니다. m은 다양하므로 가능한 모든 해밍 코드를 얻습니다: Hamming 코드는 데이터를 발신자에서 수신자로 이동하거나 저장할 때 발생할 수 있는 오류를 감지하고 수정하는 데 사용할 수 있는 오류 수정 코드 집합입니다.

오류 수정을 위해 R.W. Hamming이 개발한 기술입니다. 디코더가 오류를 수정하지 않으면 트리플 비트 오류를 안정적으로 감지할 수 있습니다. 디코더가 오류를 수정하면 일부 삼중 오류가 단일 오류로 오인되고 잘못된 값으로 “수정”됩니다. 따라서 오류 수정은 확실성(삼중 비트 오류를 안정적으로 감지하는 기능)과 복원력(단일 비트 오류에 직면하여 계속 작동할 수 있음) 간의 절충입니다.