본문 바로가기

Library/Data Communication

전향 오류 수정(Forward Error Correction)

오류를 수정하는 방법으로, 재전송에 의해 오류를 수정하거나, 전향 오류 수정(forward error correction)이라는 방법이 있다. 전향 오류 수정은, 데이터를 다시 보내지 않고도 데이터 자체 값을 통해서 오류를 수정하도록 하는 방법이다.

예를 들어, 7비트의 ASCII 코드의 오류를 수정하기 위해서, 어느 위치에서 오류가 발생했는지 파악해야 한다. 즉, 최소 3비트의 정보가 필요하다. 그러나, 이 위치 정보를 나타내는 비트 자체에도 오류가 발생할 수 있는 가능성이 있다. 3비트는 여덟가지의 가능성만을 가지고 있기 때문에, 7비트 + 3비트 = 10비트에서의 오류 위치를 알아낼 수 있도록 1비트가 더 필요하다.

주어진 수 m의 데이터 비트를 수정하기 위해 요구되는 중복 비트의 수 r을 계산하기 위해서, m과 r의 관계를 알아야 한다. m개의 데이터 비트와 여기에 추가되는 r개의 중복 비트에 의해 결과적으로 얻어지는 코드의 길이는 m + r이다.

전송할 수 있는 단위 비트의 전체 수가 m + r이라면, 적어도 m + r + 1의 다른 상태를 가리킬 수 있어야 한다. 따라서, 2^r >= m + r + 1의 관계가 성립한다.