연관토픽
기출문제
회차 | 문제 |
관리110-3 | 3. CRC(Cyclic Redundancy Check)의 원리를 기술하고, CRC-8 = x^8 + x^2 + x + 1이고 데이터워드가 01101011 일 때 코드워드를 계산하는 과정을 설명하고, 그 결과가 옳음을 검증하시오. |
개념
- 오류 발견을 위해 패킷 데이터 전송 시 송신측은 적은 양의 부가정보(CRC 코드)를 전송할 데이터 꼬리 부분에 부착하여 전송하고, 수신측에서 이를 이용하여 에러 발생 여부를 판단하는 기법
- 데이터 전송 전, 주어진 데이터 값에 따라 CRC 값을 계산하여 데이터에 붙여 전송하고, 수신측은 동일 방법으로 연산하여 수신된 CRC 값과 비교하여 에러를 발견하는 기법
- 짝수 개의 폭주 오류 검출을 위해 2차원 패리티 검사 활용하기도 하나 각 차원에 짝수개의 폭주오류 동시 발생 시 검출 불가, 순환코드를 활용한 CRC를 통해 검출 성능 향상
CRC의 특징
특징 | 설명 |
순환 코드 구조 | 오류 정정을 위해 순환코드 생성, Divisor(제수)를 활용하여 단계적 나눗셈(XOR 연산) 수행 |
폭주 오류 검출 성능 향상 | 폭주 오류 길이가 Divisor - 1 길이보다 작을 경우 모두 탐지 가능 |
CRC 동작방식
- 송신 : CRC 생성(Data + CRC 전송), 수신 : Divider 이용(나머지 값 확인)
- CRC 기법은 Encoding 단계에서 CRC를 생성하여 송신하며, 수신측에서 Divisor를 이용하여 나머지 값 0 유무로 에러 발생 여무 검증
① CRC 생성 |
|
② 데이터 전송 |
|
③ CRC 검증 |
|
- 일반적으로 사용되는 생성 다항식은 CRC-8, CRC-16, CRC-32 등 국제표준으로 생성자를 정의
CRC 기법 사례
(1) CRC 기법의 코드워드 계산 과정
(2) CRC 기법 에러 검증 과정
모범답안