Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бчх.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
174.96 Кб
Скачать

Евклидов алгоритм[править | править вики-текст]

В основе этого метода лежит широко известный алгоритм Евклида по нахождению наибольшего общего делителя двух чисел (НОД), только в данном случае ищем НОК не двух чисел, а двух полиномов. Обозначим полином значений ошибок как  , где синдромный полином равен  . Из системы уравнений (*) следует что  . Задача по сути сводится к тому чтобы определить   удовлетворяющего (2) и при этом степени не выше  . По сути такое решение и будет давать расширенный алгоритм Евклида, примененный к многочленам   и   , где  . Если на j-ом шаге расширенный алгоритм Евклида выдает решение  , такое что  , то   и  . При этом найденный полином   дальше не принимает участия в декодировании(он ищется только как вспомогательный). Таким образом будет найден полином локаторов ошибок  .

Прямое решение (алгоритм Питерсона — Горенстейна — Цирлера, пгц)[править | править вики-текст]

Пусть БЧХ код над полем   длины   и с конструктивным расстоянием   задается порождающим полиномом  , который имеет среди своих корней элементы  ,   — целое число (например 0 или 1). Тогда каждое кодовое слово обладает тем свойством, что  . Принятое слово   можно записать как  , где   — полином ошибок. Пусть произошло   ошибок на позициях   (  максимальное число исправляемых ошибок), значит  , а   — величины ошибок.

Можно составить  -ый синдром   принятого слова  :

.

Задача состоит в нахождений числа ошибок  , их позиций   и их значений   при известных синдромах  .

Предположим, для начала, что   в точности равно  . Запишем   в виде системы нелинейных(!) уравнений в явном виде:

Обозначим через   локатор  -ой ошибки, а через   величину ошибки,  . При этом все   различны, так как порядок элемента   равен  , и поэтому при известном   можно определить   как  .

Составим полином локаторов ошибок:

Корнями этого полинома являются элементы, обратные локаторам ошибок. Помножим обе части этого полинома на  . Полученное равенство будет справедливо для  :

Положим   и подставим в  . Получится равенство, справедливое для каждого   и при всех  :

Таким образом для каждого   можно записать свое равенство. Если их просуммировать по  , то получится равенство, справедливое для каждого  :

.

.

Учитывая   и то, что   (то есть   меняется в тех же пределах, что и ранее) получаем систему линейных уравнений:

.

Или в матричной форме

,

где

Если число ошибок и в самом деле равно  , то система   разрешима, и можно найти значения коэффициентов  . Если же число  , то определительматрицы   системы   будет равен  . Это есть признак того, что количество ошибок меньше  . Поэтому необходимо составить систему  , предполагая число ошибок равным  . Высчитать определитель новой матрицы   и т. д., до тех пор, пока не установим истинное число ошибок.

Поиск Ченя[править | править вики-текст]

После того как ключевая система уравнений   решена, получаются коэффициенты полинома локаторов ошибок. Его корни (элементы, обратные локаторам ошибок) можно найти простым перебором по всем элементам поля  . К ним найти элементы, обратные по умножению, — это локаторы ошибок  . Этот процесс легко реализовать аппаратно.