2016-08-19 14 views
2

임의의 CRC 다항식의 오류 검출 기능을 계산하는 방법을 찾으려고 노력했습니다.CRC 다항식의 오류 검출 기능 확인

는 단일 비트 오류의
  1. 감지 :이 때문에이 작업을 수행 할 수 있습니다 모두의 CRC는 필요

    I (또는하지 않을 수) 임의의 다항식에 적용 할 수있는 다양한 오류 감지 기능이 있다는 것을 알고 CRC 폭> = 1.

  2. 버스트 오류 감지 : 모든 CRC는 최대 너비와 동일한 크기까지 버스트 오류를 ​​감지 할 수 있습니다.

  3. 비트 오류 홀수 검사 : 짝수 항 (전체 바이너리 다항식에서 1 비트의 짝수를 의미)이있는 다항식의 CRC는이를 수행 할 수 있습니다.

  4. 임의의 비트 오류 감지 (프레임 크기에 따라 다름) : 미리 준비된 C 알고리즘을 사용하여 주어진 HD 및 포 괄체에 대해 최대 프레임 크기를 계산할 수 있습니다. 나는 그것을 완전히 이해하지 못했다.

16 비트 CRC 다항식 x16 + x12 + x5 + 1 = 0x11021로 가정합니다. 그 다항식은 다음과 같이 할 수 있습니다 :

  • 모든 단일 비트 오류 (데이터 크기와 무관)를 감지합니다.
  • 은 최대 16 비트 폭 (데이터 크기 독립)의 모든 버스트 오류를 ​​감지합니다.
  • 은 모든 홀수의 비트 오류를 ​​감지합니다 (4 개의 다항식 항이 있으므로 데이터 크기에 독립적입니다).
  • 은 최대 32571 비트 데이터 크기의 3 비트 오류 (HD4)를 감지합니다.

위 내용이 맞습니까?

추가 CRC 오류 감지 기능이 있습니까? 그렇다면 임의의 CRC 다항식이 CRC를 지원하는지 (깊은 수학 지식없이) 어떻게 확인할 수 있습니까?

+0

이 질문은 매우 흥미 롭습니다. cs.stackexchange.com에 더 좋을 수도 있습니다. – Nayuki

+0

@Nayuki : 아마도 맞을 것입니다. 먼저 여기서 일어나는 일을 볼 수 있습니다. – Silicomancer

답변

2

paper by Koopman and Chakravarty은 많은 다항식에 대한 측정 값과 결과를 설명하는 CRC 성능의 여러 측정 값을 조사합니다. 즉, "양호한"다항식의 정의는 적용되는 메시지의 길이에 따라 달라지며, 응용 프로그램에 따라 다릅니다. 주요 측정 값은 동일한 CRC로 돌아 가기 위해 변경해야하는 메시지의 최소 비트 수인 해밍 거리와 규정 된 낮은 비트 오류율에서의 성능입니다.