Как определить который CRC использовать?

Если у меня есть определенное число байтов для передачи последовательно, как я определяю который CRC (CRC8, CRC16, и т.д., в основном, сколько разрядного CRC?), чтобы использовать и все еще иметь процент обнаружения ошибок быть высоким? Существует ли формула для этого?

5
задан djpark121 23 June 2010 в 19:22
поделиться

2 ответа

С точки зрения длины CRC применяется обычная статистика. Для битовой ширины CRC у вас есть 1 / (2 ^ n) шанс получить ложное срабатывание. Таким образом, для 8-битного CRC у вас есть шанс 1/255 и т. Д.

Однако выбранный полином также имеет большое значение. Математика сильно зависит от передаваемых данных, и это непростой ответ.

Вы должны оценивать больше, чем просто CRC, в зависимости от вашего механизма связи (FEC с такими системами, как турбокоды, очень полезен и распространен).

6
ответ дан 13 December 2019 в 19:21
поделиться

Чтобы ответить на этот вопрос, вам необходимо знать коэффициент битовых ошибок вашего канала, который можно определить только эмпирически. А затем, когда у вас есть измеренный BER, вы должны решить, какой уровень обнаружения является «достаточно высоким» для ваших целей.

Отправка каждого сообщения, например, 5 раз даст вам довольно хорошее обнаружение даже на очень шумном канале, но это немного снизит вашу пропускную способность. Однако, если вы отправляете команды исследователю дальнего космоса, вам может понадобиться эта избыточность.

5
ответ дан 13 December 2019 в 19:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: