정의
반복 부호(英: repetition code)는 디지털 통신 및 저장 시스템에서 사용되는 가장 단순한 형태의 오류 정정 부호이다. 원래의 정보를 여러 번 동일하게 복제하여 전송하거나 저장함으로써, 수신 측에서 다수결 원리에 의해 오류를 검출·수정한다.
개요
반복 부호는 n 개의 비트(또는 기호)를 동일하게 반복하는 (n, 1) 블록 부호이다. 예를 들어, 1비트를 3번 반복하는 3‑반복 부호는 ‘0’을 ‘000’, ‘1’을 ‘111’ 로 변환한다. 수신 측에서는 수신된 n 비트를 분석하여, 다수의 값이 일치하는 비트를 원본으로 추정한다. 이 과정은 일반적으로 다수결 디코딩(majority‑vote decoding)이라고 불린다.
반복 부호는 구현이 매우 간단하고, 오류 정정 능력이 명확히 정의될 수 있기 때문에 교육용 예제, 실험적 프로토타입, 혹은 높은 신뢰도가 요구되는 저속 통신(예: 우주 탐사, 일부 무선 센서 네트워크) 등에 활용된다. 그러나 동일한 전송량 대비 효율이 낮아, 현실적인 고속·고용량 시스템에서는 보다 효율적인 부호(예: 해밍 부호, 콘볼루션 부호, 터보 부호 등)가 주로 사용된다.
어원/유래
‘반복 부호’는 영어 용어 repetition code를 직역한 한국어 표현이다. repetition은 ‘반복’이라는 의미이며, 부호는 ‘코드’를 뜻한다. 따라서 ‘반복 부호’라는 명칭은 정보 비트를 반복하여 부호화한다는 동작을 그대로 나타낸다. 이 용어는 정보이론 및 오류 정정 코드 연구 초창기(1950~1960년대)부터 학술 논문 및 교과서에 등장하였다.
특징
| 구분 | 내용 |
|---|---|
| 구조 | (n, 1) 블록 부호; 원본 비트 1개를 n개로 확장 |
| 인코딩 | 동일 비트를 n번 복제 |
| 디코딩 | 다수결(majority‑vote) 방식; 수신 비트 중 과반수가 원본 |
| 정정 능력 | ⌊(n‑1)/2⌋ 개의 비트 오류를 정정 가능 (예: 3‑반복 부호는 1비트 오류 정정) |
| 전송 효율 | 원본 대비 전송 비트 수가 n배이므로 효율은 1/n (낮음) |
| 복잡도 | 인코딩·디코딩 모두 연산이 매우 단순함 |
| 응용 | 교육·시뮬레이션, 저속·고신뢰 통신, 시스템 테스트, 초기 단계 프로토타입 |
관련 항목
- 오류 정정 코드 (Error‑correcting code)
- 블록 부호 (Block code)
- 해밍 부호 (Hamming code)
- 터보 부호 (Turbo code)
- 콘볼루션 부호 (Convolutional code)
- 다수결 디코딩 (Majority‑vote decoding)
- 정보이론 (Information theory)
※ 본 문서는 확인된 학술 자료 및 교과서를 기반으로 작성되었으며, 최신 연구 동향에 따라 추가적인 세부 사항이 존재할 수 있다.