1. 통신 중 에러 발생 문제를 해결하는 주요 방법 2가지
ㅇ ① 수신측에서 직접 오류를 고칠 수 있도록,
- 충분한 여분의 정보를 포함시켜 부호화하는 방법 ☞ 오류정정부호화(아래 2.항), 채널 부호화
ㅇ ② 단순히 정확한 데이터가 수신될 때까지,
- 재전송을 요구하는 방법 ☞ 재전송 기반 에러제어
- 例) 정지대기방식, Go Back n ARQ, Selective Repeat ARQ 등
2. 오류 정정 부호화 (위 ①) 이란? ☞ 채널 부호화 참조
ㅇ 무엇이 잘못되었는가를 알 수 있도록, 충분한 여분의 정보를 포함시켜 전송하는 방식
- 전송되는 문자가 무엇인가를 수신기가 추론이 가능하도록,
- 전송되는 데이터 블록에 충분한 여분의 정보(Redundancy)를 포함시키는 부호화 방식
. 채널을 통해 수신된 메세지로부터 재전송 요구나 확인신호(Acknowledgement)를
보낼 필요없이, 직접 오류를 검출/수정하여 원래 메세지를 복원하는 코드 체계
- 한편, 에러정정부호화를 FEC(순방향오류제어)이라고도 함
ㅇ 따라서, 수신측에서 직접 오류를 고칠 수 있는 능력을 갖도록 함
- 채널에서 발생된 오류의 수가, 설계된 부호의 한계(오류정정능력) 내에 있으면,
원래 메세지가 훼손된 상태로부터 복구할 수 있음
3. 오류 정정 부호화가 추구하는 목표 ☞ 오류정정능력 (오류정정가능개수) 참조
ㅇ 정정할 수 있는 오류 수(비트 수) 능력의 최대화
- 例) 단일 비트 에러정정 : (7,4) 해밍부호
- 例) 다중 비트 에러정정 : BCH 부호, RS 부호 등
ㅇ 빠르고 효율적인 부호화/복호화
4. 오류 정정 부호의 구분 ☞ 채널 부호화 분류 참조
ㅇ 블록부호 (Block Code)
- 일정 길이의 정보(신호)에 일정 길이의 부가정보를 부가하여 수신측에서 오류를
정정할 수 있도록 하는 채널 부호
. 선형부호(Linear Code)
.. 例) 반복 부호, 직각 부호, Hamming Code 등
. 순환부호(Cyclic Code)
.. 선형성에 순회성이 추가적으로 부과된 선형블록부호의 일종
.. 例) Reed-Solomon Code, Bose Chaudhuri-Hocquenghem(BCH) Code, CRC 등
ㅇ 길쌈부호 (Convolution Code)
- 부호화기가 메모리(기억성)를 갖고 있는 채널 부호
. 즉, 코드화시킬 때 현재 입력되는 신호에 과거의 일부 신호를 함께 활용.
.. 例) Viterbi Code, Turbo Code 등
5. [참고사항]
ㅇ OSI 계층모델의 관점에서 보면,
- 주로, 데이타링크 계층에서 이루어짐
ㅇ 한편, 에러검출코드(Error Detecting Code)는
- 단지, 수신기가 에러가 발생했다는 사실 만을 추론가능하게 하여,
- 에러 발견시, 재전송요구를 할 수 있도록,
- 최소 여분의 정보 만을 포함시켜 코드화하는 방식
ㅇ 주요 응용 例
- 위성통신, 이동통신 등