패리티 비트와 해밍코드

이명균·2022년 11월 24일
0

CS_Week4

목록 보기
2/3

패리티 비트(Parity Bit)

정보전달 과정에서 오류 발생여부를 검사하기 위해 추가된 비트를 말하며,

아래와 같이 전송하고자 하는 데이터의 끝에 1비트를 더하여 정보를 전달한다.


패리티 비트는 홀수(odd) 패리티 비트와 짝수(even) 패리티 비트로 분류하는데,

  • 전달하고자 하는 DATA의 1의 개수로 홀수와 짝수를 구분합니다.

  • 짝수패리티의 경우 0을 붙여주고, 홀수 패리티인 경우 1을 붙여줍니다.

    Ex) 전달하고자 하는 데이터가 10010101일 경우, 1이 총 4개이므로
    짝수 패리티인 0이 붙게 됩니다.

  • 한계점
    이러한 패리티비트로는 오류 검출만 가능할 뿐 어디가 잘못됐는지 정정할 수 없다.
    따라서 잘못된 곳을 찾기 위해서는 해밍 코드를 활용해야 합니다.

해밍 코드(Hamming Code)란?

해밍 코드란 자기 정정 부호의 하나로 2bit의 오류 검출해서 1bit 오류를 수정할 수 있는 오류 검출 및 수정 부호를 말한다.

  • 오류의 검출 및 스스로 수정까지 하므로 자기 정정 부호라고도 지칭
  • 전송 비트 중 1, 2, 4, 8, 16, 32, 64, … , 2ⁿ번째를 오류 검출을 위한 패리티 비트로 사용
  • 오류 검출 및 교정을 위한 잉여 비트가 많이 필요

이러한 해밍 코드를 이용하면 앞에서 다뤘던 패리티 코드의 한계점을 극복하여 전체 데이터 비트의 어느 지점에서 오류가 발생했는지 검출할 수 있다.
패리티 비트와 해밍 코드는 분리된 개념이 아니라 함께 활용하는 것으로 전송하는 비트 중 2ⁿ번째 자리를 패리티 비트로 사용합니다.

Ex) 전송되는 데이터의 크기가 12일 경우, 패리티 비트는 아래 색칠된 부분 2ⁿ 자리에
     총 4번 들어가게 됩니다.

p1 : 2⁰ =1번째 자리
p2 : 2¹ =2번째 자리
p3 : 2² =4번째 자리
p4 : 2³ =8번째 자리


참고 자료
[오류검출코드]패리티비트(Parity Bit)와 해밍 코드(Hamming Code)

profile
Unlimited Potential

0개의 댓글