Выбор и обоснование параметров кода, Разработка структурной электрической схемы декодера - Построение декодера Рида - Маллера

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

Итак в данном курсовом проекте необходимо построить декодер кода Рида-Маллера, исправляющий одиночную ошибку и длиной информационного слова в тридцать два бита. Из формул и n = 2M находим, что m = 5, а r = 3.

Из формулы, которая в данном случае может быть представлена в виде.

Из формулы d0 = 2M-r находим, что d0 = 4.

Следовательно, в курсовом проекте необходимо построить декодер кода Рида - Маллера третьего порядка (РМ-3) с параметрами (n, k, d0) = (32, 26, 4), исправляющий одиночную ошибку.

Разработка структурной электрической схемы декодера

В данной курсовой работе необходимо построить декодер кода Рида - Маллера с параметрами m = 5, n = 32, r = 3.

Построим проверочную G матрицу:

,

,

,

,

Запишем в полном виде:

Будем декодировать этот код алгоритмом Рида, который был описан ранее. Так как данный код является кодом Рида - Маллера 3-го порядка, то число уравнений для бит с 16-го по 25-й равно 2M-r = 4, а число членов в каждом уравнении равно 2R = 8.

Запишем уравнения для последнего 25-го бита:

Легко убедиться, что в любом уравнении при подстановке на место каждого закодированного бита его уравнения кодирования все информационные биты сокращаются и все уравнения сводятся к 25-му информационному символу. Если же произошла одиночная ошибка, то в силу того что любой из бит входит только в одно уравнение, только оно и даст неверный результат. Но мажоритарное решение все равно даст правильный ответ. Если же произошла двойная ошибка, то два из четырех уравнений дадут неправильный результат, и мажоритарный способ не сможет принять правильное решение.

Следуя этому принципу, строятся уравнения для бит с 16-го по 24-й. Приведем их.

Уравнения для 24-го бита:

Уравнения для 23-го бита:

Уравнения для 22-го бита:

Уравнения для 21-го бита:

Уравнения для 20-го бита:

Уравнения для 19-го бита:

Уравнения для 18-го бита:

Уравнения для 17-го бита:

Уравнения для 16-го бита:

Для того чтобы декодировать остальные биты, необходимо из них вычесть вклад тех информационных бит, которые уже были найдены, а затем произвести декодирование с помощью кода Рида - Маллера меньшего (на единицу) порядка. То есть необходимо найти v' = v - (A1a2a3i0 +...+ A3a4a5i31).

Запишем уравнения, с помощью которых происходит вычет уже известных символов из принятого слова, с учетом того, что операция вычитания в GF(2) эквивалентна операции суммы по модулю 2:

Проделав эти операции, будем декодировать символы v' с помощью порождающей матрицы 2-го порядка. Для этого необходимо отбросить нижние десять строк матрицы G. Следовательно, матрица G' будет иметь вид:

Теперь мы можем составить уравнения для бит, начиная с 6-го и кончая 15-м. Исходя из формул, число уравнений для декодирования каждого бита будет рано 2M-r = 8, число слагаемых в каждом уравнении будет равно 2R = 4. Эти уравнения составляются по тем же принципам, как и уравнения для декодирования предыдущих бит.

Приведем эти уравнения.

Уравнения для 15-го бита:

Уравнения для 14-го бита:

Уравнения для 13-го бита:

Уравнения для 12-го бита:

Уравнения для 11-го бита:

Уравнения для 10-го бита:

Уравнения для 9-го бита:

Уравнения для 8-го бита:

Уравнения для 7-го бита:

Уравнения для 6-го бита:

Чтобы найти биты с 1-го по 5-й, необходимо вычесть вклад тех информационных бит, которые были найдены ранее, а затем произвести декодирование с помощью кода Рида - Маллера меньшего порядка (1-го). То есть необходимо найти v'' = v' - (a1A2I0 +...+ a4A5I31).

Запишем уравнения, с помощью которых происходит вычет уже известных символов из принятого слова, с учетом того, что операция вычитания в GF(2) эквивалентна операции суммы по модулю 2:

Проделав эти операции, будем декодировать символы v'' с помощью порождающей матрицы 1-го порядка. Для этого необходимо отбросить нижние десять строк матрицы G'. Следовательно, матрица G'' будет иметь вид:

Теперь мы можем составить уравнения для бит, начиная с 1-го и кончая 5-м. Исходя из формул, число уравнений для декодирования каждого бита будет равно 2M-r = 16, число слагаемых в каждом уравнении будет равно 2R = 2. Эти уравнения составляются по тем же принципам, как и уравнения для декодирования предыдущих бит. Приведем эти уравнения.

Уравнения для 5-го бита:

Уравнения для 4-го бита:

Уравнения для 3-го бита:

Уравнения для 2-го бита:

Уравнения для 1-го бита:

Для декодирования 0-го бита необходимо вычесть вклад найденных ранее информационных бит из значения v''. То есть необходимо найти v''' = v'' - (a1I0 +...+ a5I31).

Запишем уравнения, с помощью которых происходит вычет уже известных символов из принятого слова, с учетом того, что операция вычитания в GF(2) эквивалентна операции суммы по модулю 2:

Декодирование нулевого бита происходит очень просто - по большинству среди всех бит v'''.

Теперь, зная все этапы декодирования по алгоритму Рида, для данного кода можно составить структурную схему декодера. Она представлена на рисунке 4.

Похожие статьи




Выбор и обоснование параметров кода, Разработка структурной электрической схемы декодера - Построение декодера Рида - Маллера

Предыдущая | Следующая