인코드 | 디코드 | 압축

> hamming | (7,4) | ecc <

// 해밍 코드 – 신뢰할 수 있는 데이터 전송을 위한 오류 정정 코드

[정정]

오류 정정

데이터의 단일 비트 오류를 자동으로 탐지하고 수정합니다.

[검출]

이중 오류 검출

각 블록에서 2비트 오류를 검출할 수 있습니다(수정은 불가).

[효율적]

적은 오버헤드

4비트 데이터당 패리티 비트는 3비트뿐입니다(효율 75%).

>> 기술 정보

해밍 코드는 어떻게 동작하나요?:

Hamming(7,4) 코드는 4비트 데이터마다 3비트 패리티 비트를 추가하여 7비트 블록을 만듭니다. 패리티 비트는 2의 거듭제곱 위치(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) 같은 다른 변형도 있습니다.

오류 정정은 어떻게 동작하나요?

데이터를 수신하면 패리티 비트가 다시 계산됩니다. 값이 일치하지 않으면 시드롬(차이)이 어느 비트가 잘못되었는지 직접 알려 줍니다. 해당 비트를 뒤집어 오류를 수정합니다.

해밍 코드 vs. 다른 ECC 코드?

해밍 코드는 단일 비트 오류에 대해 단순하고 효율적입니다. Reed–Solomon과 같은 더 복잡한 코드는 여러 오류를 정정할 수 있지만 오버헤드가 더 큽니다. 해밍 코드는 노이즈가 낮은 채널에 적합합니다.

다른 언어