Probablemente el vínculo dado por starblue le da información más que suficiente. Un par de observaciones generales que pueden ayudar a dar un nuevo lector una visión general, así que aquí viene:
1) Una irreductible de verificación polinomio $p(D)\in F_2[D]$ (Edit: de grado $m$) detecta todos los errores de los patrones de peso $\le 2$, siempre que la longitud del bloque de datos+CRC-comprobar es que en la mayoría de la orden de $k$ $D$ modulo el polinomio $p(D)$. IOW $k$ es el menor entero positivo tal que $D^k\equiv 1\pmod{p(D)}$. Aquí el juego es maximizar $k$ (maximizar el rango de facilidad de uso de este CRC). El máximo de $2^m-1$ se alcanza exactamente, cuando $p(D)$ es lo que se llama un polinomio primitivo (o su raíz genera el grupo multiplicativo del campo $GF(2^m)$).
2) Si usted quiere una garantía para la CRC para la captura de más de 3 errores de bits de seguridad, entonces usted tiene que utilizar un producto de polinomios irreducibles. Normalmente (pero no necesariamente) tendrían el mismo grado. Si usted está familiarizado con la teoría de BCH-códigos, luego ves que un código cíclico generado por un producto de un mínimo de polinomios $p_1(D)$ de una primitiva elemen $\alpha$ y el mínimo de polinomio $p_3(D)$$\alpha^3$, da lugar a un CRC-polinomio garantizados para atrapar a todos los patrones de error de pesos $\le4$. PERO el precio que paga por ello es que la longitud útil de la CRC-polinomio $p_1(D)p_3(D)$ solo $2^{\deg p_1(D)}-1$, no $2^{\deg p_1(D)p_3(D)}-1$ como se podría haber esperado. Esto es debido a que el polinomio $D^{2^m-1}+1, m=\deg p_1(D)$ es divisible por tanto $p_1(D)$ $p_3(D)$ y crea "uncatchable" peso 2-patrones, si se hace el bloque de demasiado tiempo.
3) Generador de polinomios de cíclico otro código BCH-los códigos son utilizados con frecuencia. Hay varios pares de polinomios irreducibles que dan lugar a la misma garantizado de detección de errores de la probabilidad como el polinomio generador de una BCH-código. Diseño de secundaria criterios suelen inclinar la balanza a favor de estos, también otras opciones que dan lugar a la verificación de polinomios con un poco diferentes límites de longitud. He visto generador de polinomios de Melas códigos y Zetterberg códigos utilizados como CRC-polinomios.
4) siempre puede asegurarse de que usted CRC coge todo el peso desigual de error patrones de multiplicar el polinomio con $1+D$, si usted puede evitar que la sola comprobación adicional de bits.