2017-01-11 9 views
1

Недавно я использовал CRC 8 для проверки своих данных на наличие ошибок в битах. Мои данные составляют 320 байтов. Насколько высока вероятность не обнаруживать битовые ошибки при использовании 8-битного CRC с 320 байтами данных?Кодовая ошибка CRC

Я, честно говоря, не смог найти информацию о провале. До сих пор это работало нормально, но мне просто интересно, как хорошо это будет работать, и если есть необходимость перейти на 16-битный CRC. Полином, который я использую, равен 0x07.

Спасибо!

+0

Что такое поисковая ошибка «ошибка вероятности невидимой ошибки»? Для меня это 35 тыс. Результатов. –

+0

Это не программирование, а общий математический вопрос. Существуют документы, в которых подробно описываются CRC, которые вы должны прочитать. Вкратце: простого ответа нет. – Olaf

+0

@ Олаф: Все в порядке. В турне сайта указано, что вопросы о «программных алгоритмах» обсуждаются по теме. CRC широко используются в программировании, и их алгоритм имеет некоторые свойства (скорость обнаружения ошибок), которые, как я думаю, можно разумно обсудить на форуме программирования, таком как Stack Overflow. @ Darius: [Эта страница может вас заинтересовать] (http://barrgroup.com/Embedded-Systems/How-To/CRC-Math-Theory). CRC могут обнаруживать некоторые ошибки со 100% -ной скоростью (например, однобитовые сальто), но в целом 8-разрядная контрольная сумма может достигать до 99,6% от всех возможных ошибок из-за столкновений. – Cornstalks

ответ

1

Длина сообщения не имеет значения, если это не менее восьми бит. Тогда вероятность ложного положительного с большим количеством ошибок составляет 1/256. При небольшом числе ошибок вероятность ложного положительного может быть равна нулю. Вспышка из восьми бит в строке всегда будет обнаружена без ложных срабатываний.

В общем случае п -битный ЦИК будет иметь ложные срабатывания от 2 -n более чем п ошибок в сообщении, которое может быть любой длиной.

+0

Я действительно не понимаю - почему вероятность необнаруженных ошибок не зависит от длины данных? Должен ли я иметь больше необнаруженных ошибок в большем файле? – Darius

+0

Вероятность проскальзывания ошибок, конечно, зависит от длины сообщения (фактически: полигона). Это также зависит от типа ошибок (одиночные биты, последовательность, длина последовательности и т. Д.). Кроме того, некоторые полигоны обеспечивают лучшее обнаружение, чем другие для той же длины. – Olaf

+1

Вероятность ошибок _having_ в первую очередь, вероятно, будет функцией длины сообщения, в зависимости от деталей источника ошибки. Однако вероятность того, что больше ошибок, чем длина CRC, не будет обнаружена CRC, - это просто вероятность того, что CRC поврежденного сообщения случайно окажется CRC исходного сообщения. Легко видеть, что эта вероятность равна числу возможных значений CRC. –

 Смежные вопросы

  • Нет связанных вопросов^_^