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