ГОСТ IEC 61142—2011
Приложение А
(справочное)
Циклический избыточный код CRC 16
Проверка ошибки передачи с использованием циклического избыточного кода CRC в каждой структуре
была выбрана как наиболее эффективная, в отличие от простой проверки бита четности.
Структуры содержат максимум 128 байтов, и прогнозируемая доля ошибок оказывается менее 10~6.
Благодаря своему полиноминальному генератору (CRC 16), 16-битный CRC может обнаружить одиноч
ные. двойные и тройные ошибки а структуре со 128 байтами и все ошибки в 16-битных пакетах.
8
-битный CRC не
был бы так эффективен для обнаружения ошибок в структурах размера, рассматриваемого в этом протоколе.
Вероятность Рс необнаружения пакетных ошибок длины / (/ > 16) равна Рс = 2~,в.
Используемый физический канал позволяет ожидать вероятности появления ошибки порядка 10~т
(один неправильный бит на 10
7
переданных). В этом случав при максимальной длине структуры 128 байтов
(128 Х
8
= 1024 бита) вычисления показывают, что приблизительно 10000 структур можно передавать
без ошибки. Вероятность ошибки 10
- 5
дает в среднем 100безошибочных 128-байтных структур.
Вообще, в противоположном варианте протокола, определенного в настоящем стандарте, структуры дос
таточно редко будут достигать максимальной длины в 128 байтов; поэтому при той же вероятности ошибки эффек
тивность передачи будет больше, чем упомянуто выше.
Используемый 16-позиционный полиномиальный генератор кода (CRC 16) представляет собой
G (х) =х,в +х
15
+ х
2
+1 (по модулю 2).
Реализация
Передача происходит следующим образом.
НтЛапш*
пишуииД
A w P W
иШ
Э тм опъ2S181Б87О -> Кагфылвнн*
Няямнышй
•ЖШШ ujd
A
W P W
ОШ
В представленном CRC «исключающее ИЛИ» (XOR) относится к слову АО01, соответствующему
(MSB/LS
8
) коэффициентам полиноминального генератора (кроме наибольшего значимого бита).
Выборочные результаты
Сообщение
0 1 2 0 0 1
80(H)
80 АО 01 80(H)
CRC
00 А0(Н)
АО 01(H)
96