패리티 비트 - 에러 검출 코드
1비트의 오류를 검출만 가능, 교정은 불가합니다
홀수 패리티 | 짝수 패리티 |
코드 안의 '1'의 개수가 홀수로 되도록 | 코드 안의 '1'의 개수가 짝수로 되도록 |
홀수 패리티
1의 개수가 홀수가 되도록 0을 붙여서 송신합니다.
짝수 패리티
1의 개수가 짝수가 되도록 1을 붙여서 송신합니다.
해밍 코드 - 에러 검출 코드
1비트의 오류를 검출, 교정이 가능한 코드, 1,2,4,8비트가 오류 검출을 위한 패리티 비트
기본 구조는 이렇습니다.
여기서 BCD코드 1001에 대한 해밍 코드를 구하려면?(단, 짝수)
먼저 1001을 BCD코드에 대입합니다.
5, 6, 7에 4가 들어가 있는데 5 = 0, 6 = 0, 7 = 1 입니다.
1이 1개니 홀수입니다.
4에 1이 들어와야 짝수가 되겠습니다.
마찬가지로 3,6,7에 2가 들어있는데 3 = 1, 6 = 0, 7 = 1
1이 2개니 짝수입니다.
2에 0이 들어와야 짝수로 유지 됩니다.
마찬가지로 3,5,7에 1이 들어있는데 3 = 1, 5 = 0, 7 = 1
1이 2개니 짝수입니다.
1에 0이 들어와야 짝수로 유지 됩니다.
정답: 0011001
짝수 패리티 비트의 해밍 코드로 0011011을 받았을 때 오류가 수정된 코드는?
이런식으로 작성할 수 있습니다.
여기서 4가 들어간게 4, 5, 6, 7인데 1, 0, 1, 1이라서 홀수가 됩니다.
따라서 4는 틀린 값인 겁니다.
또, 2가 들어간게 2, 3, 6, 7인데 0, 1, 1, 1이라서 홀수가 됩니다.
따라서 2도 틀린 값인 겁니다.
1이 들어간건 1, 3, 5, 7인데 0, 1, 0, 1이라서 짝수가 됩니다.
1은 맞는 값입니다.
결과적으로 2번과 4번이 틀렸는데 그 2번, 4번이 들어있는 6번이 틀린것입니다.
따라서 6번의 값을 0으로 오류 수정합니다.
정답: 0011001
'CS' 카테고리의 다른 글
명령어 형식과 특징 (0) | 2023.09.27 |
---|---|
반가산기와 전가산기 (0) | 2023.09.19 |
논리게이트와 드 모르간 법칙 (0) | 2023.09.10 |
10진 표현 pack형식/unpack형식, 2진 부동 소수점 (0) | 2023.09.05 |
BCD 코드, 그레이 코드, 3초과 코드 (0) | 2023.09.05 |