Обнаружение ошибок CRC и вероятности необнаруженных ошибок

Если у нас есть большой файл, скажем, 1 петабайт, какой лучший CRC может обнаружить все ошибки? Достаточно ли 32 бит?

Я также слышал это undetected error rate (packet or chunk) is= BitR* BER * 0.5^kгде K является FSC CRC. в CRC 32 k равно 31

Я хочу знать, есть ли у нас пакеты большего или меньшего размера, как это повлияет на CRC... из этого уравнения это вообще не влияет.

1 ответ

Решение

"Достаточно" зависит от вашей терпимости к ложным срабатываниям. Учитывая CRC или любой другой хороший хэш, какая вероятность будет для вас приемлемой, если вы не обнаружите ошибку в каком-либо одном сообщении?

Если вы называете это p, то длина CRC или хэша, которая вам нужна, в битах, n равно n = потолок (–log2(p)).

Обратите внимание, что это не зависит от длины сообщения. Килобайты, эксабайты, что угодно. За исключением тех случаев, когда расходы на создание, отправку или хранение сообщения влияют на p, которое вы сочтете приемлемым.

Для особо дорогих данных или данных, отправляемых по ненадежным каналам, вы можете рассмотреть коды исправления ошибок, такие как коды Рида-Соломона или BCH.

Другие вопросы по тегам