4.7. Способ списочного декодирования с защитой номера кластераСписочное декодирование блоковых кодов на основе выделения в кодовой комбинации номера кластера открывает принципиальную возможность сократить объем вычислений в достаточно эффективном алгоритме мягкого декодирования с использованием упорядоченной статистики. Оценим применение метода для кода БЧХ (15,7,5). Использование такого кода оправдано с точки зрения получения максимального ЭЭ выигрыша, возможной для любого кода при относительной скорости кода, равной 0,5. 4.7.1. Описание алгоритма при отсутствии ошибокПусть задан блоковый код с порождающим полиномом g(x)=7218 и пусть с выхода источника информации на вход кодера поступила комбинация вида 0 1 0 0 1 1 1. Представим порождающую матрицу кода в систематической форме. . (4.15) Тогда на выходе кодера образуется вектор вида: . Предварительно установим, что за номер кластера принимаются первые три (слева) символа. Следовательно, принадлежит кластеру с номером 2. Осуществляя дополнительную защиту номера кластера, передатчик выкалывает последний символ кодовой комбинации и на его место устанавливает проверку четности номера кластера. Следовательно, в канал связи будет передан вектор . Приемник обрабатывает вектор, устанавливая для каждого символа градацию надежности. В табл. 4.16 в качестве примера представлены оценки надежности, принадлежащие каждому принятому символу. Табл. 4.16 Соответствие символов и их градаций надежности
Если кластер вектора идентифицирован верно, то возможна эффективная реализация перехода от кода к укороченному коду . Действительно, номер кластера определяет комбинацию первых строк матрицы . Это означает, что при удалении сочетания символов, отвечающих за подобную комбинацию декодер должен обрабатывать комбинации только кода , что приводит к сокращению объема вычислений. Следовательно, приняв вектор декодер проверяет выполнение четности для символов, определяющих номер кластера, и преобразует порождающую матрицу G в матрицу укороченного (12,4,5) кода . Принцип декодирования систематического кода с использованием номера кластера представлен на рис. 4.18. Рис. 4.18. Схема перехода к укороченному коду
. (4.16) Далее в декодере формируется корректирующий вектор путем умножения номера кластера на первые три строки порождающей матрицы G .
Декодер исключает символы номера кластера из вектора и полученный вектор складывает с соответствующими разрядами принятого вектора . В результате образуется вектор укороченного кода W, у которого сохранились ИДС, полученные в ходе демодуляции. Результаты преобразований показаны в табл. 4.17. При этом младшему разряду этого вектора искусственно присваивается наиболее низкий индекс достоверности символа (в нашем случае 0). Табл. 4.17 Процедура получения вектора укороченного кода
После выполнения указанных шагов, декодер переходит к основному алгоритму, но в новых условиях все операции списочного декодирования осуществляются только с комбинациями укороченного кода. Выполняется ранжирование вектора по основному алгоритму для W на основании градаций надежности, полученных от демодулятора. Последовательность шагов по выполнению подстановки символов показана в табл. 4.18. Табл. 4.18 Процедура подстановки символов
В результате выполнения указанных операций образовался псевдоинформационный вектор вида 1101. На основании выполненной подстановки формируется перестановочная матрица М. Путем умножения матрицы М на матрицу Gук декодер получает предварительный результат преобразования в виде матрицы , структура которой оценивается с точки зрения сохранения свойств нелинейности ее строк. Очевидно, что детерминант квадратной матрицы, составленной из первых столбцов окажется равным нулю из-за нулевой первой строки этой матрицы. По этой же причине замена четвертого столбца на пятый приведет к аналогичному результату. Удачной окажется следующий шаг итерации (замена четвертого столбца на шестой). Порождающая матрица принимает вид . (4.17) Следует учитывать, что простановка столбцов должна быть адекватно отражена в перестановочной матрице . Последующие преобразования представлены в табл. 4.19 и табл. 4.20. Табл. 4.19 Процедура подстановки символов (продолжение)
Выделяя из (4.19) матрицу , и выполнив , получим обратную матрицу для , которая точно указывает на порядок последующих действий над строками матрицы для получения порождающей матрицы в систематической форме. Отсюда и .
Табл. 4.20 Формирование вектора ошибок
Полученный результат свидетельствует о результативности алгоритма. Вектор ошибок содержит единственную ошибку в младшем разряде, которая изначально определялась передатчиком как условие защиты номера кластера от искажений. Для получения вектора необходимо сложить три вектора: вектор ошибок , корректирующий вектор и вектор укороченного кода : . После размещения символов номера кластера декодер получает вектор .
|