해밍 코드 계산기
네 데이터 비트로 해밍 (7,4) 코드를 생성하고 전송 중 발생한 단일 비트 오류를 검출하거나 수정하세요.
해밍 (7,4) 코드
짝수 패리티로 네 데이터 비트를 인코딩합니다. 선택적으로 수신한 일곱 비트 코드를 검사할 수 있습니다.
해밍 코드 계산기 안내
해밍 코드는 수학자 리처드 해밍이 제안한 오류 정정 코드 계열입니다. 데이터 워드의 적절한 위치에 패리티 비트를 추가해 수신 측이 변경된 한 비트를 찾아 복구하도록 합니다. 여기서 사용하는 해밍 (7,4)는 네 데이터 비트를 일곱 비트 코드워드로 변환합니다. 디지털 통신, 컴퓨터 메모리, 저장 시스템, 임베디드 전자 장치에 쓰이는 오류 제어 원리를 간단히 보여줍니다.
일곱 코드 위치에는 일부터 칠까지 번호를 붙입니다. 패리티 비트는 이의 거듭제곱 위치인 첫째, 둘째, 넷째에 놓입니다. 원본 네 데이터 비트는 셋째, 다섯째, 여섯째, 일곱째에 배치됩니다. 각 패리티 비트는 서로 겹치는 다른 위치 그룹을 검사합니다. 이 계산기는 짝수 패리티를 사용하므로 패리티 비트를 포함한 각 검사 그룹에는 값이 일인 비트가 짝수 개 있어야 합니다.
데이터 비트 d1, d2, d3, d4에 대해 p1은 d1, d2, d4를, p2는 d1, d3, d4를, p4는 d2, d3, d4를 검사합니다. 최종 순서는 p1, p2, d1, p4, d2, d3, d4입니다. 따라서 1011을 인코딩하면 0110011이 됩니다. 각 패리티 그룹에서 일의 개수를 세어 확인할 수 있습니다.
일곱 비트 코드를 받으면 수신 측은 세 패리티 검사를 반복합니다. 실패한 검사 결과가 세 비트 신드롬을 구성하며 그 숫자가 오류 위치를 가리킵니다. 신드롬 일이면 첫 비트, 오이면 다섯째 비트, 영이면 단일 비트 오류가 없음을 뜻합니다. 지정된 비트를 뒤집으면 원래 유효한 코드워드가 복원됩니다. 선택적 수신 코드 필드에서 이 과정과 수정된 비트열을 확인할 수 있습니다.
표준 해밍 (7,4) 코드는 한 비트 오류 정정을 보장하지만 모든 두 비트 오류를 신뢰성 있게 구별하지는 못합니다. 확장 해밍 코드는 전체 패리티 비트를 추가해 단일 오류 정정과 이중 오류 검출을 제공합니다. 이 계산기는 고전적인 일곱 비트 버전과 짝수 패리티에 집중합니다. 비트 위치를 명확히 하도록 공백, 접두사, 구분자 없이 영과 일만 입력하세요.
해밍 코드 예시
| 데이터 또는 수신 코드 | 결과 | 설명 |
|---|---|---|
| 데이터 1011 | 0110011 | 패리티 비트는 0, 1, 0입니다. |
| 데이터 1101 | 1010101 | 패리티 비트는 1, 0, 0입니다. |
| 수신 코드 0010101 | 위치 1 오류 | 첫 비트를 뒤집으면 1010101로 복원됩니다. |
해밍 코드 계산기 사용법
- 공백이나 구분자 없이 이진 데이터 비트 네 개를 입력하세요.
- 선택적으로 수신한 일곱 비트 코드워드를 입력해 전송 오류를 확인하세요.
- 해밍 코드 계산을 선택해 짝수 패리티 코드워드를 생성하세요.
- 수신 코드를 입력했다면 신드롬과 수정 코드를 확인하세요.
해밍 코드 자주 묻는 질문
해밍 (7,4)는 무엇을 뜻하나요?
코드워드는 총 일곱 비트이며 원본 데이터 네 비트를 담습니다. 나머지 세 비트는 오류 정정용 패리티 정보입니다.
어떤 패리티 규칙을 사용하나요?
세 패리티 그룹 모두 짝수 패리티를 사용합니다. 유효한 검사 그룹에는 값이 일인 비트가 짝수 개 있습니다.
신드롬은 오류를 어떻게 찾나요?
실패한 각 패리티 검사는 신드롬의 이진 자릿값에 기여합니다. 합친 값은 일부터 세는 단일 오류 비트 위치와 같습니다.
해밍 (7,4)는 두 오류를 수정할 수 있나요?
아니요. 코드워드마다 변경된 한 비트를 수정하도록 설계되었습니다. 두 비트가 바뀌면 잘못된 신드롬이 나올 수 있어 안전하게 수정된다고 볼 수 없습니다.
해밍 코드는 어디에 쓰이나요?
부호 이론 교육과 메모리, 통신, 저장 장치 설계에 쓰입니다. 실제 시스템은 신뢰성 요구에 따라 확장 코드나 더 강력한 코드를 사용하기도 합니다.