-
- по счет CRC не в курс, но вот в ГОСТ МЭК60870-5-1 разжевывают такие темы как "количественная оценка достоверности данных" и тп. можете взглянуть - Constantin24(29.04.2021 10:14)
- КМК, CRC не предназначена для исправления ошибок, равно для их возникновения. Применяется де-факто только для установления факта однозначного несовпадения принятого блока данных с отправленным, т.е. факта нецелостности. Обратное утверждение (посылка цела) принимается с некоторой вероятностью, которая должна учитывать вероятность возникновения коллизии. Даже для ошибки Parity существуют рекомендации, как можно попытаться добыть искомое, но оно того не стОит. В том же Modbus Vit(541 знак., 28.04.2021 22:17)
- практика - мин.длина CRC = -log2(вероятность_ошибки). Для ошибки 10-9 нужна CRC30, как минимум. Удлинение посылки оправдано только в случае, когда доп. байты используются для исправления ошибок. - argus98(28.04.2021 21:51)
- Вот еще - Evgeny_CD(28.04.2021 16:32, ссылка, ссылка)
- Там все очень сложно. Начиная с того, что вероятность пропуска
ошибки связана с вероятностью появления самой ошибки (чем больше
хаотичных искажений тем больше шансов получить корректную CRC).
Потом важен возможный тип ошибки, который зависит от физической
реализации канала (может быть инверсия бита, может быть пропуск или
вставка бита). Еще можно учесть аппаратную ловлю ошибок (типа
ошибки формата у UART-а). Все слишком сложно. Для простоты можно
считать что CRC32 имеет 4Е9 AlexBi(101 знак., 28.04.2021 16:25)
- Это хорошо, но нужна "бумажка с печатью" ;-) - misyachniy(28.04.2021 16:27)
- Все начинается с вероятности появления единичной ошибки. Если она
меньше 1Е-9, то вам ни какой СRC не надо. Если больше, то считаете
вероятность появления некоторого количества ошибок за время вашей
посылки (тут простейшая теория вероятностей) и смотрите полином с
достаточным HD (как в статье описано). Пишете бумажку, ставите
печать :) - AlexBi(28.04.2021 16:37)
- Модель сферического CRC в вакууме? Как получить "вероятности
появления единичной ошибки."? misyachniy(127 знак., 28.04.2021 16:49)
- Я и начал с того, что это очень сложный вопрос. Вероятность единичной ошибки можно взять "с потолка". Можно воспользоваться имеющейся статистикой для вашего канала связи. Если ни то ни другое не подходит, тогда можно собрать статистику самостоятельно: помещаете ваш канал связи в наихудшие, с точки зрения прохождения сигнала, условия, и смотрите на количество ошибок прохождения информации. Только учтите, что собранная статистика даст ответ так же с какой-то точностью. Все это AlexBi(588 знак., 28.04.2021 21:31)
- Часто в каналах связи частота ошибок зависит только от отношения сигнал/шум. А что у вас там, только вам ведомо. Какова вероятность появления на работе нетрезвого слесаря дяди Васи, роняющего во внутренности изделия гаечный ключ с последующим возникновением ошибки? - SciFi(28.04.2021 16:51)
- Модель сферического CRC в вакууме? Как получить "вероятности
появления единичной ошибки."? misyachniy(127 знак., 28.04.2021 16:49)
- Все начинается с вероятности появления единичной ошибки. Если она
меньше 1Е-9, то вам ни какой СRC не надо. Если больше, то считаете
вероятность появления некоторого количества ошибок за время вашей
посылки (тут простейшая теория вероятностей) и смотрите полином с
достаточным HD (как в статье описано). Пишете бумажку, ставите
печать :) - AlexBi(28.04.2021 16:37)
- Это хорошо, но нужна "бумажка с печатью" ;-) - misyachniy(28.04.2021 16:27)
- Например - Evgeny_CD(28.04.2021 16:08, ссылка)
- Слабенькая статья. misyachniy(308 знак., 28.04.2021 16:25)