[Site Map]  [네트워크목차]

 

연관토픽

  1. [상위] 오류제어(Error Control)
  2. [하위] 해밍코드(Hamming Code)

 

 

기출문제

회차 문제
응용110-1 12. FEC(Forward Error Correction)

 

 

 

개념 

  • 송신측이 전송할 문자나 프레임에 부가적 정보(Redundancy)를 첨가하여 전송하고, 수신측이 에러를 발견 시, 이 부가적 정보로 에러검출 및 에러정정을 하는 오류제어 기법

 

 

 

오류제어기법의 유형

  • 데이터 전송 시 신뢰성 보장을 위해 전송 중 발생되는 오류를 검출하고(오류검출), 오류를 정정하는(오류정정) 기술 중 하나로 FEC(Forward Error Correction) 존재
구분 설명 특징/유형
패리티 검사 전송 데이터의 Bit값 중에서 1의 개수가 짝수나 홀수가 되도록 1개의 부가 Bit를 추가하여 에러발견 기법 - Even / Odd parity
- 구현 용이
- Single bit 또는 홀수개 bits Error만 발견
검사합
(Check Sum)
전송 데이터를 특정 단위로 구분하여, 구분된 자료를 2진 정수값으로 환산하여 그 합을 전송하고, 수신측은 동일 방법으로 수신 데이터를 연산한 값과 전송 받은 합을 비교하여 에러 발견기법 - 16/32 Bits check sum
- 덧셈 연산 사용으로 생성 및 검증 용이
- 각각 1비트씩 바뀌는 전송오류 발견 불가
순환중복검사
(CRC)
데이터 전송 전, 주어진 데이터 값에 따라 CRC값을 계산하여 데이터에 붙여 전송하고, 수신측은 동일 방법으로 연산하여 수신된 CRC 값과 비교하여 에러 발견 기법 - CRC-8/CRC-10/CRC-16/CRC-32
- 에러 검출율 높음
- 연산과정이 복잡함

 

 

 

순방향 에러 발견 절차 다이어그램

  • 송신측이 전송할 문자나 프레임에 부가적 정보(Redundancy)를 첨가하여 전송하고, 수신측이 에러를 발견 시, 이 부가적 정보로 에러검출 및 에러정정을 하는 방식
  • 오류가 발생해도 재전송 요구 없이 오류수정 가능하므로, 실시간 처리 및 높은 처리율 제공

[절차]

  1. 송신측에서 데이터 전송단위만큼의 데이터와 에러 검사용 정보(CRC, Check sum, Parity bit 값 등)를
    함께 전송
  2. 수신측에서는 전송 받은 데이터의 CRC 검사, Check sum 검사, Parity bit 검사 등을 통해 비트의
    오류를 검출
  3. FEC(순방향 에러 정정)의 경우 추가된 정보를 기반으로 수신 받은 데이터의 오류를 직접 정정할 수
    도 있고, ARQ(역방향 에러정정)의 경우 재 전송요청을 통해 송신지로 부터 새로운 데이터를 수신 받게 됨

 

 

 

FEC 코드 유형

구분 FEC Code 설명
Block Code Hamming Code
  • 데이터 전송시에 1비트의 에러를 정정할 수 있는, 미국의 Bell 연구소의 Hamming에 의해 고안된 자기 오류정정부호
  • 1비트 오류는 정정, 2비트 오류는 검출까지 가능
  • 디지털 데이터 전송에는 효율적이나, 음성정보에는 적합하지 않음
  • ARQ등 재전송이 어려운 원거리 통신에 적합한 코딩기법
Reed-Solomon Code
(RS Code)
  • 1961년 I.S.Reed와 G.S.Solomon이 제안한, 비 2진 순환부호(non-binary cyclic code)
  • 오류정정 능력이 우수
  • 통신로 상에서 발생하는 랜덤 오류(Random Error) 및 연집 오류(Burst Error)까지 모두 정정
  • 각종 디지털 시스템상에서 광범위하게 사용
Non-block Code Convolutional Code
(길쌈부호)
  • 해당 블록에만 의존하는 블록부호화와 달리 부호화 때 현재의 입력신호에 과거의 일부 신호를 함께 활용하는 메모리(기억성)를 갖는 부호화
  • 수학적으로는 블록부호 보다 덜 복잡하나, 설계구현 복잡도는 블록부호 보다 다소 큼
Turbo Code
  • Convolutional Code(길쌈부호)들 중에 쉽게 부호화할 수 있는 것들을 조합, 랜덤하게 병렬 인접한 부호
  • 초보자가 이해하기에 다소 어려움
  • 샤논의 이론적 채널용량 한계에 근접하는 성능을 보임
  • 고속의 데이터용 부호화기로 사용되며, 저속에서는 비효율적임

 

 

 

FEC vs. BEC

구분 FEC(Forward Error Correction) BEC(Backward Error Correction)
원리 수신측이 에러를 발견 시 부가적 정보로 에러검출 및 에러정정을 하는 방식 수신측이 에러를 발견 시, 재전송(검출 후 재전송, ARQ)을 송신측에 요구하는 방식
특징 오류가 발생해도 재전송 요구 없이 오류수정이 가능하므로, 실시간 처리 및 높은 처리율 제공  
용도 - 송신측이 한 곳이고 수신측이 여러 곳
- 재전송/되돌려보내는 피드백이 어려운 곳
- 채널환경이 열악한 곳
- 높은 신뢰성이 요구되는 곳 등
- 실시간 처리에 곤란한 에러제어방법
유형 - Hamming Code
- RS Code
- Convolutional Code
- Turbo Code
- Stop&Wait ARQ
- Go-Back N ARQ
- Selective ARQ
- Adaptive ARQ
  • 열악한 무선 채널 환경 등으로 오류가 자주 발생되는 이동통신환경은 FEC와 BEC를 혼용하여 사용하는 H-ARQ(Hybrid ARQ) 사용

 

 

 

모범답안

  1. [답안] FEC (1교시형)

 

+ Recent posts