2009 중등임용 기술 디지털논리회로 1차 35번 CRC 오류 검출 기출문제 풀이
2009학년도 중등교사 임용시험 · 기술
다음은 순환 중복 검사(Cyclic Redundancy Check)에 대한 내용이다. (가), (나)에 알맞은 것은?
우리는 흔히 압축된 데이터를 해제하거나 수신된 데이터를 검사할 때 순환 중복 검사를 사용하여 수신된 데이터의 손상 여부를 판별한다.
수신된 데이터가 110101110이고, 제수(divisor)의 생성 다항식이 g(x) = x³ + x + 1일 때, CRC를 사용하여 수신된 데이터를 검사하면 오류가 가. 그 이유는 나머지가 10진수로 나이기 때문이다.
| (가) | (나) | |
|---|---|---|
| ① | 없다 | 0 |
| ② | 있다 | 1 |
| ③ | 없다 | 2 |
| ④ | 있다 | 3 |
| ⑤ | 없다 | 4 |
정답과 해설 보기
② (가) 있다 / (나) 1
① 먼저 생성 다항식을 비트열로 바꿉니다. g(x) = x³ + x + 1은 x³, x¹, x⁰ 항이 있고 x² 항이 없으므로 계수를 차수가 높은 쪽부터 늘어놓아 1011이 됩니다. 최고 차수가 3이므로 나머지는 3비트입니다.
② CRC 검사는 수신한 데이터 전체를 제수로 나누어 나머지를 봅니다. 이때 나눗셈은 보통의 뺄셈이 아니라 자리올림이 없는 모듈로-2 방식이며, 뺄셈 자리마다 배타적 논리합(XOR)을 적용합니다.
③ 나누는 방법은 이렇습니다. 왼쪽부터 훑다가 1을 만나면 그 자리에 제수 1011을 맞춰 XOR하고, 0을 만나면 건너뜁니다. 더 이상 제수를 맞출 자리가 없을 때까지 반복하면 끝에 3비트가 남습니다.
| 단 계 | 현재 값 | ⊕ 1011 자리 | 결 과 |
|---|---|---|---|
| 1 | 110101110 | 1번째 비트 | 011001110 |
| 2 | 011001110 | 2번째 비트 | 001111110 |
| 3 | 001111110 | 3번째 비트 | 000100110 |
| 4 | 000100110 | 4번째 비트 | 000001010 |
| 5 | 000001010 | 6번째 비트 | 000000001 |
④ 위 표대로 다섯 번 XOR하면 000000001이 되고, 마지막 3비트인 001이 나머지입니다. 10진수로 1이므로 (나)는 1입니다.
⑤ 나머지가 0이 아니면 전송 중에 비트가 바뀌었다는 뜻이므로 오류가 있습니다. 따라서 (가)는 “있다”이고 답은 ②입니다.
선택지 좁히기 — ③와 ⑤는 “오류가 없다”면서 나머지를 2와 4로 두고 있어 그 자체로 앞뒤가 맞지 않습니다. CRC에서 오류가 없다는 것은 나머지가 0이라는 뜻이므로 (없다, 0) 짝만 성립합니다. 계산 없이도 ①·②·④로 좁힐 수 있습니다.
키워드디지털통신오류검출CRC생성다항식모듈로2나눗셈
댓글
댓글 쓰기