Циклическая проверка избыточности: ошибка одного бита

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


person Community    schedule 28.12.2014    source источник
comment
Целью CRC является обнаружение ошибок. Вы хотите CRC, который не может обнаружить небольшое количество ошибок?   -  person Mark Adler    schedule 29.12.2014
comment
Да, до определенного порога   -  person    schedule 29.12.2014
comment
CRC, конечно, не может этого сделать. Вам нужно будет использовать код Рида-Соломона, который может обнаруживать и локализовать (и исправлять) несколько ошибок. Затем вы можете обнаружить и принять решение не исправлять небольшое количество ошибок. Это совершенно вне меня, почему кто-то хотел бы сделать это.   -  person Mark Adler    schedule 29.12.2014


Ответы (1)


Не существует CRC, который будет совпадать, если возникают только небольшие ошибки, но вы также можете использовать код исправления ошибок (также известный как прямое исправление ошибок), а затем, если CRC не соответствует, применить ECC, а затем перепроверить CRC.

person Jasen    schedule 28.12.2014