4.10 Формирование кодовых слов коррекции ошибок
Кодовые слова коррекции ошибок формируют с помощью приведенной ниже процедуры и вычисляют на основе значений всех кодовых слов данных, включая дескриптор длины символа и все кодовые слова-заполнители. Последовательность кодовых слов должна быть представлена в виде
,
....
,
где - дескриптор длины символа.
Полином данных символа представляет собой
.
Ниже приведено математическое описание вычисления кодовых слов коррекции ошибок для конкретного потока данных и выбранного уровня коррекции ошибок. Все арифметические действия должны быть выполнены по модулю 929.
Кодовые слова коррекции ошибок являются дополнением коэффициентов остатка, получающегося в результате деления полинома данных символа , умноженного на
, на порождающий полином
. Отрицательные значения отражаются в поле Галуа GF (929) прибавлением 929 до получения значения
0.
Для вычисления коэффициентов для кодовых слов коррекции ошибок , необходимых для уровня коррекции ошибок, используют порождающий полином:
,
где - порождающий полином;
- неизвестная переменная;
- общее число кодовых слов коррекции ошибок;
- коэффициент показателей степеней
, образованный порождающим полиномом
.
Пример вычисления коэффициентов приведен в приложении R.
В приложении F приведены все значения коэффициентов, необходимые для кодирования символа PDF417 для любого уровня коррекции ошибок.
Кодовые слова коррекции ошибок должны вычисляться в соответствии с приведенным ниже алгоритмом с использованием следующих обозначений:
- кодовое слово данных
,...,
;
- кодовое слово коррекции ошибок
,...,
;
- коэффициент показателей степени числа
из порождающего полинома (пояснения приведены ниже, а значения - в приложении F);
- временные переменные.
Алгоритм:
1. Обозначают последовательность кодовых слов данных
2. Устанавливают в исходное состояние кодовые слова коррекции ошибок ,...,
для значения, равного нулю