2010-06-23 22 views
5

Si tengo una cierta cantidad de bytes para transferir en serie, ¿cómo puedo determinar qué CRC (CRC8, CRC16, etc., básicamente cuántos CRC de bits?) Usar y aún tener un porcentaje de detección de errores alto? Hay una formula para esto?¿Cómo determinar qué CRC usar?

Respuesta

5

Para responder a esta pregunta, debe conocer el bit error rate de su canal que solo se puede determinar empíricamente. Y una vez que tenga la BER medida, debe decidir qué tasa de detección es "suficientemente alta" para sus propósitos.

Enviar cada mensaje, por ejemplo, 5 veces le dará una detección bastante buena, incluso en un canal muy ruidoso, pero que reduce su rendimiento un poco. Sin embargo, si envía comandos a una sonda de espacio profundo, puede necesitar esa redundancia.

6

Desde el punto de vista de la longitud del CRC, se aplican estadísticas normales. Para un ancho de bits de CRC, tiene 1/(2^n) posibilidad de tener un falso positivo. Entonces, para un CRC de 8 bits, tiene una posibilidad de 1/255, etc.

Sin embargo, el polinomio elegido también tiene un gran impacto. La matemática depende en gran medida de los datos que se transfieren y no es una respuesta fácil.

Debe evaluar algo más que CRC dependiendo de su mecanismo de comunicación (FEC con sistemas tales como códigos turbo es muy útil y común).

Cuestiones relacionadas