Search
Duplicate
💻

패리티 비트 & 해밍 코드

생성일
2023/02/22 06:57
태그
CA

패리티 비트 & 해밍 코드

 패리티 비트 (Parity Bit)

패리티 비트는 정보의 전달 과정에서 오류가 생겼는지를 검사하기 위해 추가된 비트이다.
문자열 내 1비트의 모든 숫자가 짝수 또는 홀수 인지를 보증하기 위해 전송하고자 하는 데이터의 각 문자에 1비트를 더하여 전송하는 방법으로 2가지 종류의 패리티 비트(홀수, 짝수)가 있다.
패리티 비트는 오류 검출 부호에서 가장 간단한 형태로 쓰인다.

 짝수 패리티

데이터의 모든 1의 개수를 짝수로 맞춰야 한다.
예를 들어, 1100100의 1의 개수는 3개(홀)이므로, 자동적으로 패리티 비트는 1이 되어 (11100100) 총 1의 개수는 4개(짝)이 된다.
만약, 데이터가 중간에 손실되서 11100100이 아닌 11000100이 가게 된다면 데이터가 손실 되었다는 것을 알 수 있다.

 홀수 패리티

데이터의 모든 1의 개수를 홀수로 맞춰야 한다.
예를 들어, 1100100의 1의 개수는 3개(홀) 이므로, 패리티 비트는 0이 된다.

 특징

2bit의 데이터가 손실되면 알아차릴 수 있다.
오류 검출만 할 뿐 수정하지는 않는다.

 해밍 코드 (Hamming Code)

데이터 전송 시 1비트의 에러를 정정할 수 있는 자기 오류정정 코드를 말한다.
패리티 비트를 보고, 1비트에 대한 오류를 정정할 곳을 찾아 수정할 수 있다.
패리티 비트는 오류를 검출하기만 할 뿐, 수정하지는 않기 때문에 해밍 코드를 활용

 생성 규칙

2의 n승 번째 자리인 1, 2, 4번째 자릿수가 패리티 비트
이 숫자로부터 시작하는 세 개의 패리티 비트가 짝수인지, 홀수인지 기준으로 판별한다.
짝수 패리티의 해밍 코드가 0011011일 때, 오류 수정
1, 3, 5, 7 번째 비트 확인 : 0101로 짝수이므로 ‘0’
2, 3, 6, 7 번째 비트 확인 : 0111로 홀수이므로 ‘1’
4, 5, 6, 7 번째 비트 확인 : 1011로 홀수이므로 ‘1’
역순으로 패리티비트 ‘110’을 10진법으로 바꾸면 ‘6’ 이므로 6번째 비트를 수정하면 된다.
따라서 수정한 데이터는 0011001이다.

ref)