패리티 비트(Parity Bit)란 송수신 되는 데이터의 오류를 검출하기 위해 추가된 비트이다.

문자열 내 1비트의 모든 숫자가 짝수 또는 홀수인지를 보증하기 위해 전송하고자 하는 데이터의 각 문자에 1비트를 더하여 전송하는 방법으로 1개의 비트 오류만을 검사할 수 있다.

패리티 비트는 오류 발생의 여부만을 확인할 수 있으며 오류의 수정은 불가능하다는 단점이 있다.

 

각각의 패리티 코드 내의 1의 개수에 따라 홀수 패리티와 짝수패리티로 나뉜다.

  • 짝수 패리티는 실제 송신하고자 하는 데이터의 각 비트의 값 중에서 1의 개수가 짝수가 되도록 패리티 비트를 정하는 것인데 이를테면 데이터 비트에서 1의 개수가 홀수이면 패리티 비트를 1로 정한다. 

  • 홀수 패리티는 전체 비트에서 1의 개수가 홀수가 되도록 패리티 비트를 정하는 방법이다.

예를들어 0010110 이라는 7비트 데이터에서 짝수 패리티가 되게 하기 위해서는 뒤에 1의 패리티 비트를 붙여 00101101 로 만들고 홀수 패리티 비트가 되게 하려면 뒤에 0의 패리티 비트를 붙여 00101100 으로 만든다.

 

패리티 비트는 전송 중 두 비트가 동시에 에러가 나는 경우에는 오류를 잡아낼 수 없기 때문에 절대적으로 확실한 에러 점검 방법은 아니다.

 

해밍코드(Hamming Code)

패리티 비트는 에러 검출만 할 수 있지만 해밍 코드는 에러를 검출할 뿐 아니라 수정까지 할 수 있다. 이 코드는 패리티 비트를 정보 비트 수에 따라 필요한 만큼 사용하고 그 코드 그룹의 적당한 장소에 놓는다. 

 

만약 정보 비트의 수를 d로 표시하면 그때 패리티 비트 수 p는 아래 식에 의해 결정된다. 

2^p + 1 >= d + p , 좌측의 식을 만족하는 p의 최소값

(p은 패리티 비트의 수, d는 데이터 비트의 수)

 

만약 데이터 비트가 4개 있다면 식을 이용하여 적절한 패리티 비트의 수를 얻을 수 있다. 

p가 2라고 가정하면 좌변의 값은 2^2 = 4 가 되고 우변의 값은 4 + 2 + 1 = 7 이 된다.

4 >= 7 따라서 p=2는 식을 만족시키지 못하므로 적당하지 않다.

p를 3이라고 가정하면 8 >= 8 이므로 식을 만족시킨다. 

 

정리하면 정보 비트가 정해지는 위의 식에 의해 필요한 패리티 수가 결정된다.

이렇게 결정된 후 배치방법은 다음 포스팅에서 알아보도록 하자.

 

 

+ Recent posts