Главная > Помехоустойчивое кодирование > Кодирование с исправлением ошибок в системах цифровой связи
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

5. АЛГЕБРАИЧЕСКИЕ МЕТОДЫ ИСПРАВЛЕНИЯ КРАТНЫХ ОШИБОК

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

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

где различные ненулевые элементы поля При появлении ошибок в символах принятого слова у синдром

дает два уравнения с двумя неизвестными:

Решив эти уравнения относительно а, и можно найти положения ошибок После этого исправление ошибок будет состоять в замене соответствующих символов на противоположные. К сожалению, выписанные уравнения являются нелинейными и очевидных методов их решения не существует. Однако можно начать с исключения одного из неизвестных. Выражая а из первого уравнения и подставляя результат во второе, получаем

Если начать с решения первого уравнения относительно и подставить результат во второе, то получится такое же уравнение (конечно, с вместо Таким образом, и являются решениями (или корнями) одного и того же многочлена

Этот многочлен называется многочленом локаторов ошибок. Одним из методов нахождения его корней является простой метод проб и ошибок. Таким образом, подставляя в это уравнение по очереди все ненулевые элементы можно гарантировать, что будет найдено положение обеих ошибок. Этот подход уже существенно проще, чем проверка всевозможных пар ошибок для нахождения пары, являющейся решением исходных проверочных уравнений.

Намеченный подход естественно обобщается на двоичные и недвоичные коды БЧХ, исправляющие -кратные ошибки. Для таких кодов всегда можно найти многочлен локаторов ошибок непосредственно по синдрому, если только число ошибок не превышает корректирующей способности кода. Этот многочлен локаторов ошибок обладает точно такими же свойствами, как многочлен из рассмотренного примера; единственное отличие состоит в том, что в качестве корней удобнее брать величины, обратные номерам позиций ошибок. В этой главе будут рассмотрены два эффективных метода нахождения многочлена локаторов ошибок. После того как этот многочлен получен, его корни можно найти эффективной процедурой проб и ошибок или с помощью другого метода, который также будет изложен. Для недвоичных кодов возникает дополнительная задача определения значений ошибок на данных позициях. Оказывается, что решение этой задачи легко включается в описываемые алгоритмы.

Существует несколько подходов к изложению теории кодов, исправляющих кратные ошибки. В этой главе выбран метод, основанный на теории преобразований. Большинству инженеров хорошо знакомо обычное преобразование Фурье. Используемые в этой главе преобразования очень похожи на него, однако они определяются с помощью элементов конечного поля. Эти преобразования

дают простой метод для вывода основных свойств кодов БЧХ и кодов Рида — Соломона. Кроме того, для уменьшения сложности декодера недавно было предложено обратиться к преобразованию над конечными полями [33—36]. При изложении этой теории будем следовать статье Блейхута [37], который заметил, что использование преобразований оказывается также весьма целесообразным в учебных целях. Интересующийся читатель, несомненно, найдет эту статью полезной.

<< Предыдущий параграф Следующий параграф >>
Оглавление