ГОСТ Р 51294.9—2002
Исходная последовательность кодовых слов
dm1
данных
•
...,do
Значения кодовых слов902
423
Дополненная последовательность кодовых
d„ i
d„
2
слов данных
,
...,do
•
dg,
..,do
Значения кодовых слов256902
423
900900
4.10 Формирование кодовых слов коррекции ошибок
Кодовые слова коррекции ошибок формируют с помощью приведенной ниже процедуры и вы
числяют на основе значений всех кодовых слов данных, включая дескриптор длины символа и все
кодовые слова-заполнители. Последовательность кодовых слов должна быть представлена в виде
d„ 1?dn
2
—do,
где d, !дескриптор длины символа.
Полином данных символа представляет собой
d(x) = d, i х" 1+ d,
2
xn2+ ,..., + d \ + do.
Ниже приведено математическое описание вычисления кодовых слов коррекции ошибок для
конкретного потока данных и выбранного уровня коррекции ошибок. Все арифметические действия
должны быть выполнены по модулю 929.
Кодовые слова коррекции ошибок являются дополнением коэффициентов остатка, получающе
гося в результате деления полинома данных символа d(x), умноженного на хк, на порождающий по
лином g(x). Отрицательные значения отражаются в поле Галуа GF (929) прибавлением 929 до полу
чения значения > 0.
Для вычисления коэффициентов для кодовых слов коррекции ошибок к, необходимых для
уровня коррекции ошибок, используют порождающий полином:
gk(x)= (х3) (хЗ2) (хЗ3) ,..., (хЗк) = Оо+ а, х + а2х2+ ,..., ак ,хк 1+ хк,
где gk(x) порождающий полином;
х неизвестная переменная;
кобщее число кодовых слов коррекции ошибок;
Ojкоэффициент показателей степеней х, образованный порождающим полиномом gk(x).
Пример вычисления коэффициентов приведен в приложении R.
В приложении F приведены все значения коэффициентов, необходимые для кодирования сим
вола PDF417 для любого уровня коррекции ошибок.
Кодовые слова коррекции ошибок должны вычисляться в соответствии с приведенным ниже ал
горитмом с использованием следующих обозначений:
dкодовое слово данных d, i,..., do;
Е,кодовое слово коррекции ошибок Ek ],..., Е0;
Ojкоэффициент показателей степени числа х из порождающего полинома (пояснения приве
дены ниже, а значенияв приложении F);
tb t2, t3 - временные переменные.
Алгоритм:
1. Обозначают последовательность кодовых слов данных
dn I•dn2 •••••d0
2. Устанавливают в исходное состояние кодовые слова коррекции ошибок Е0, ..., Ek ]для значе
ния, равного нулю
3. Для каждого кодового слова данных (data) ф = dn | ,..., do
НАЧАЛО
F = (ф + Ek i) mod 929
для каждого кодового слова коррекции ошибок Ej = Ek | ,..., Ед
26