11.8. УСКОРЕННОЕ ДЕКОДИРОВАНИЕ КОДОВ БЧХ
Сейчас мы рассмотрим применение разработанных в предыдущих параграфах методов для построения ускоренного декодера. Достаточно рассмотреть только примитивные кода Рида-Соломона. Коды БЧХ и непримитивные коды Рида-Соломона декодируются таким же образом. Исправляющий
ошибок примитивный код Рида-Соломона длины
представляет собой
Преобразование Фурье этой циклической свертки приводит к равенствам
Во временной области эти равенства приводят к неопределенностям, так как решения записываются в виде
когда
таком виде эти равенства решать нельзя.
Берлекэми подходит к алгоритму декодирования несколько иначе. С точки зрения Берлекэмпа, выход регистра сдвига является периодическим только после начального перехода. В начальный момент времени регистр пуст и в него вводится известный многочлен
Уравнения записываются в виде
и возмущения равные нулю при
переводят регистр сдвига из начального состояния в описанное выше периодическое состояние.
Спектральный многочлен
для вектора ошибок удовлетворяет уравнению
Многочлен
можно вычислить с помощью рекуррентного алгоритма без увеличения асимптотической сложности, после чего
можно вычислить с помощью деления многочленов. Но сложность последнего шага также растет как
Так как выписанное выражение не является ни конечным, ни периодическим, то непосредственное применение метода преобразований невозможно. Можно, однако, воспользоваться для решения задачи алгоритмом Форни. По имеющемуся
вычислим
и формальную производную
многочлена
Затем, применив к многочленам
и
обратное преобразование Фурье, вычислим векторы с компонентами
Тогда, если равны нулю, решение дается (см. задачу 11.5) равенствами
Так как алгоритм Форни можно реализовать с помощью трех алгоритмов преобразования Фурье и алгоритма свертки, то получаем сложность