ГОСТ ISO/IEC 15438-2018. Межгосударственный стандарт. Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода PDF417
Приложение Q
(справочное)
ПРИМЕРЫ ГЕНЕРАЦИИ КОДОВЫХ СЛОВ КОРРЕКЦИИ ОШИБОК
Для генерации кодовых слов коррекции ошибки должен использоваться алгоритм в соответствии с 5.10 (обозначения, используемые в приведенном примере, соответствуют обозначениям в 5.10).
Пример - Данные PDF417 представлены кодовыми словами 5, 453, 178, 121, 239, перед которыми расположен дескриптор длины символа) Кодовые слова-заполнители отсутствуют. Тогда
n = 5 (количество кодовых слов, включая дескриптор длины символа)
d4 = 5
d3 = 453
d2 = 178
d1 = 121
d0 = 239
При выборе уровня коррекции ошибок 1 получают:
s = 1 | |
k = 21 + 1 | = 4 |
Примечание - Пример, приведенный для представления всего процесса, упрощен и содержит только пять кодовых слов данных и четыре кодовых слова коррекции ошибок. Процесс значительно усложняется при увеличении числа кодовых слов данных и кодовых слов коррекции ошибки.
Порядок вычисления:
устанавливают E0, ..., E3 на нулевое значение.
t1 = (d4 + E3) mod 929 = (5 + 0) mod 929 = 5
t3 = 929 - t2 = 929 - 329 = 600 E3 = (E2 + t3) mod 929 = (0 + 600) mod 929 = 600
t3 = 929 - t2 = 929 - 828 = 101 E2 = (E1 + t3) mod 929 = (0 + 101) mod 929 = 101
t3 = 929 - t2 = 929 - 53 = 876 E1 = (E0 + t3) mod 929 = (0 + 876) mod 929 = 876
t3 = 929 - t2 = 929 - 752 = 177 E0 = t3 mod 929 = 177 mod 929 = 177
t1 = (d3 + E3) mod 929 = (453 + 600) mod 929 = 124
t3 = 929 - t2 = 929 - 913 = 16 E3 = (E2 + t3) mod 929 = (101 + 16) mod 929 = 117
t3 = 929 - t2 = 929 - 468 = 461 E2 = (E1 + t3) mod 929 = (876 + 461) mod 929 = 408
t3 = 929 - t2 = 929 - 757 = 172 E1 = (E0 + t3) mod 929 = (177 + 172) mod 929 = 349
t3 = 929 - t2 = 929 - 627 = 302 E0 = t3 mod 929 = 302 mod 929 = 302
t1 = (d2 + E3) mod 929 = (178 + 117) mod 929 = 295
t3 = 929 - t2 = 929 - 831 = 98 E3 = (E2 + t3) mod 929 = (408 + 98) mod 929 = 506
t3 = 929 - t2 = 929 - 544 = 385 E2 = (E1 + t3) mod 929 = (349 + 385) mod 929 = 734
t3 = 929 - t2 = 929 - 340 = 589 E1 = (E0 + t3) mod 929 = (302 + 589) mod 929 = 891
t3 = 929 - t2 = 929 - 705 = 224 E0 = t3 mod 929 = 224 mod 929 = 224
t1 = (d1 + E3) mod 929 = (121 + 506) mod 929 = 627
t3 = 929 - t2 = 929 - 9 = 920 E3 = (E2 + t3) mod 929 = (734 + 920) mod 929 = 725
t3 = 929 - t2 = 929 - 898 = 31 E2 = (E1 + t3) mod 929 = (891 + 31) mod 929 = 922
t3 = 929 - t2 = 929 - 329 = 600 E1 = (E0 + t3) mod 929 = (224 + 600) mod 929 = 824
t3 = 929 - t2 = 929 - 286 = 643 E0 = t0 mod 929 = 643 mod 929 = 643
t1 = (d0 + E3) mod 929 = (239 + 725) mod 929 = 35
t3 = 929 - t2 = 929 - 445 = 484 E3 = (E2 + t3) mod 929 = (922 + 484) mod 929 = 477
t3 = 929 - t2 = 929 - 222 = 707 E2 = (E1 + t3) mod 929 = (824 + 707) mod 929 = 602
t3 = 929 - t2 = 929 - 371 = 558 E1 = (E0 + t3) mod 929 = (643 + 558) mod 929 = 272
t3 = 929 - t2 = 929 - 619 = 310 E0 = t3 mod 929 = 310 mod 929 = 310 |
В конце вычисляют дополнения приведенных выше результатов и получают четыре кодовых слова коррекции ошибок для закодированных данных PDF417:
E3 = 929 - E3 = 929 - 477 = 452 E2 = 929 - E2 = 929 - 602 = 327 E1 = 929 - E1 = 929 - 272 = 657 E0 = 929 - E0 = 929 - 310 = 619 |
