ГОСТ Р 51294.9—2002
ПРИЛОЖЕНИЕ L
(обязательное)
Процедуры коррекции ошибок
Схема восстановления может быть вызвана при общем числе неустановленных кодовых слов v менее или
равном заданному соответствующим уравнением в 4.7.2 (v = 1, f = 0). Неустановленные кодовые слова подлежат
замещению нулями, и позицией неустановленного кодового слова 1является ц при 1= 1, 2 ,..., v. Составляют
полином знака символа:
С(х) = C„_ix" 1+ С„_2х"2+,..., + Cjx1+С0,
где показатели п являются считанными кодовыми словами с первым кодовым словом С„_ь
п - общее количество кодовых слов.
Рассчитывают значения синдрома к (от Si до Sk) путем следующих вычислений:
С(х) при х = З1
для i = 1до i = к,
где кчисло знаков коррекции ошибок в символе = 2Ьи .
Схема генерации синдромов приведена на рисунке L.1.
Рисунок L.1Делитель синдрома символа
Так как позиции неустановленных кодовых слов известны из jj при 1= 1,2v, полином местонахожде
ния ошибок с(х) для этих известных позиций можно вычислить но формуле
с(х) = (1 - p tx)(l - р 2х), ..., (1 - p vx)= 1
+ С Д Х
+ , ..., + ovxv,
где р! = З-1.
Полином местонахождения ошибок о(х) можно корректировать, чтобы включить позиции ошибок. Это
можно выполнить с помощью алгоритма Берлекамна-Массе (Berlekamp-Massey). Исходный текст приведен в [6].
Далее следует удостовериться, что количество стираний и ошибок удовлетворяет соответствующему
уравнению, вычисляющему возможности исправления ошибок, приведенному в 4.7.2.
Решение о(х)=0 дает позицию для
t
ошибок, где
t
> 0; если t = 0, то ошибки отсутствуют. Далее рассчиты
вают значение ошибок e,i для позиции ф, 1= 1, ... , v + t. Для вычисления ошибок требуется вспомогательный
полином Z(x), который определяют следующим образом:
Z(x) —1 + (sj + Oi)x + (s2+ 0 ]S] + a2)x2+ ... + (sn+ OjS^i + o2Sv|_2+ ... + оДх’1,
где
T|
= v +
t.
Значение ошибок в позицииф таким образом задается через
С)1_nz(Pr1)
=1,i
Р,
i
П
M
(1- № 1)
После успешного решения для ошибок дополнения значений ошибок добавляются к кодовым словам в
соответствующих позициях.
69