- •Формальное описание[править | править вики-текст]
- •Построение[править | править вики-текст]
- •Примеры кодов[править | править вики-текст] Примитивный двоичный (15,7,5) код[править | править вики-текст]
- •Кодирование[править | править вики-текст]
- •Методы декодирования[править | править вики-текст]
- •Алгоритм Берлекемпа-Мэсси[править | править вики-текст]
- •Евклидов алгоритм[править | править вики-текст]
- •Прямое решение (алгоритм Питерсона — Горенстейна — Цирлера, пгц)[править | править вики-текст]
- •Поиск Ченя[править | править вики-текст]
Кодирование[править | править вики-текст]
Для кодирования кодами БЧХ применяются те же методы, что и для кодирования циклическими кодами.
Методы декодирования[править | править вики-текст]
Коды БЧХ являются циклическими кодами, поэтому к ним применимы все методы, используемые для декодирования циклических кодов. Однако существуют гораздо лучшие алгоритмы, разработанные именно для БЧХ-кодов(стр.91[3]).
Главной
идеей в декодировании БЧХ кодов является
использование элементов конечного
поля для
нумерации позиций кодового слова(или,
эквивалентно, в порядке коэффициентов
ассоциированного многочлена). Ниже
приведена такая нумерация для вектора
,
соответствующего многочлену
.
значения |
|
|
|
|
локаторы позиций |
|
|
|
|
Пусть
принятое слово ассоциировано с
полиномом
,
где многочлен ошибок определён как:
,
где
число
ошибок в принятом слове.
Множества
и
называют значениями
ошибок и локаторами
ошибок соответственно,
где
и
.
Синдромы определены
как значения принятого полинома
в
нулях порождающего многочлена кода:
Здесь
Для
нахождения множества локаторов ошибок,
введем в рассмотрение многочлен
локаторов ошибок
корни которого равны обратным величинам локаторов ошибок. Тогда справедливо следующее соотношение между коэффициентами многочлена локаторов ошибок и синдромами(см. например[1], стр.200):
Известны
следующие методы для решения этой
системы уравнений относительно
коэффициентов многочлена
локаторов ошибок
(ключевая
система уравнений).
Алгоритм Берлекемпа-Мэсси (BMA)[⇨]. По числу операций в конечном поле этот алгоритм обладает высокой эффективностью. BMA обычно используется для программной реализации или моделирования кодов БЧХ и кодов Рида-Соломона.
Евклидов алгоритм (ЕА)[⇨]. Из-за высокой регулярности структуры этого алгоритма его широко используют для аппаратной реализации декодеров БЧХ и кодов Рида-Соломона.
Прямое решение (алгоритм Питерсона — Горенстейна — Цирлера, ПГЦ). Исторически это первый метод декодирования, найденный Питерсоном для двоичного случая
,
затем Горенстейном и Цирлером для
общего случая. Этот алгоритм находит
коэффициенты многочлена
локаторов ошибок прямым
решением соответствующей системы
линейных уравнений. В действительности,
так как сложность этого алгоритма
растет как куб минимального расcтояния
,
прямой алгоритм может быть использован
только для малых значений
,
однако именно этот алгоритм лучше всего
проясняет алгебраическую идею процесса
декодирования.
Алгоритм Берлекемпа-Мэсси[править | править вики-текст]
Основная статья: Алгоритм Берлекэмпа — Мэсси
Этот
алгоритм лучше всего рассматривать как
итеративный процесс построения
минимального регистра(сдвига) с обратной
связью, генерирующего известную
последовательность синдромов
.
Его фактическая цель — построить
полином
наименьшей
степени, удовлетворяющему следующему
уравнению
.Решение
этого уравнения эквивалентно следующему
условию
.
Итеративный процесс построения такого
многочлена и есть Алгоритм
Берлекемпа-Мэсси.
