Последовательное декодирование - Википедия - Sequential decoding

Признанный Джон Возенкрафт, последовательное декодирование метод с ограниченной памятью для декодирования древовидные коды. Последовательное декодирование в основном используется как приближенный алгоритм декодирования для больших ограничений длины. сверточные коды. Этот подход может быть не таким точным, как Алгоритм Витерби но может сэкономить значительный объем памяти компьютера. Он использовался для декодирования сверточного кода в 1968 году. Пионер 9 миссия.

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

Существует ряд подходов к последовательному декодированию, основанных на выборе метрики и алгоритма. Метрики включают:

  • Метрика Фано
  • Зигангирова метрика
  • Метрика Галлагера

Алгоритмы включают:

  • Алгоритм стека
  • Алгоритм Фано
  • Алгоритм Creeper

Метрика Фано

Учитывая частично исследованное дерево (представленное набором узлов, которые являются пределом исследования), мы хотели бы знать лучший узел для дальнейшего исследования. Метрика Фано (названа в честь Роберт Фано ) позволяет вычислить, какой узел является лучшим для дальнейшего исследования. Эта метрика оптимальна при отсутствии других ограничений (например, памяти).

Для двоичный симметричный канал (с вероятностью ошибки ) метрику Фано можно получить с помощью Теорема Байеса. Мы заинтересованы в том, чтобы идти по наиболее вероятному пути учитывая исследованное состояние дерева и полученная последовательность . Используя язык вероятность и Теорема Байеса мы хотим выбрать максимум из из:

Теперь введем следующие обозначения:

  • для представления максимальной длины передачи в ветвях
  • для представления количества битов в ветви кода (знаменатель кодовая скорость, ).
  • для представления количества битовых ошибок на пути Расстояние Хэмминга между метками веток и полученной последовательностью)
  • быть длиной в филиалах.

Мы выражаем вероятность в качестве (используя вероятность двоичного симметричного канала для первого биты, за которыми следует единый предшествующий по остальным битам).

Мы выражаем прежний с точки зрения количества сделанных выборов ветвей, , и количество ветвей от каждого узла, .

Следовательно:

Мы можем эквивалентным образом максимизировать логарифм этой вероятности, т.е.

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

Расчетная скорость отсечения

Для последовательного декодирования с хорошим выбором алгоритма декодирования количество исследуемых состояний должно оставаться небольшим (в противном случае алгоритм, который намеренно исследует все состояния, например Алгоритм Витерби, может быть более подходящим). Для определенного уровня шума существует максимальная скорость кодирования называется вычислительной скоростью отсечения, когда существует конечный предел обратного отслеживания. Для двоичного симметричного канала:

Алгоритмы

Алгоритм стека

Самый простой алгоритм для описания - это «стековой алгоритм», в котором наилучший найденные пути сохраняются. Последовательное декодирование может внести дополнительную ошибку по сравнению с декодированием Витерби, если правильный путь или более высоко оцененные пути над ним; в этот момент лучший путь выпадет из стека и больше не будет рассматриваться.

Алгоритм Фано

Знаменитый алгоритм Фано (названный в честь Роберт Фано ) имеет очень низкие требования к памяти и, следовательно, подходит для аппаратных реализаций. Этот алгоритм исследует назад и вперед от одной точки на дереве.

  1. Алгоритм Фано - это алгоритм последовательного декодирования, не требующий стека.
  2. Алгоритм Фано может работать только с деревом кода, потому что он не может исследовать слияние путей.
  3. На каждом этапе декодирования алгоритм Фано сохраняет информацию о трех путях: текущем пути, его непосредственном предшествующем пути и одном из его последующих путей.
  4. Основываясь на этой информации, алгоритм Фано может перейти от текущего пути к своему непосредственному предшествующему пути или выбранному последующему пути; следовательно, для постановки в очередь всех проверенных путей стек не требуется.
  5. Движение алгоритма Фано определяется динамическим порогом Т это целое число, кратное фиксированному размеру шага ¢.
  6. Только путь, метрика пути которого не меньше, чем Т можно посетить в следующий раз. Согласно алгоритму, процесс поиска кодового слова продолжает продвигаться по кодовому пути, пока метрика Фано на кодовом пути не уменьшается.
  7. Как только все метрики пути преемника будут меньше, чем Т, алгоритм перемещается назад к пути-предшественнику, если метрика пути-предшественника превышает Т; после этого проверка пороговых значений будет впоследствии выполнена на другом пути-преемнике этого повторно посещенного предшественника.
  8. В случае, если метрика пути предшественника также меньше, чем Тпорог Т понижается на один шаг, чтобы алгоритм не попал в ловушку на текущем пути.
  9. Для алгоритма Фано, если путь пересматривается, исследуемый в настоящее время динамический порог всегда ниже, чем мгновенный динамический порог при предыдущем посещении, что гарантирует, что зацикливание в алгоритме не произойдет, и что алгоритм может в конечном итоге достичь конечного узла кодовое дерево и остановитесь.

Рекомендации

  • Джон Возенкрафт и Б. Райффен, Последовательное декодирование, ISBN  0-262-23006-2
  • Рольф Йоханнессон и Камил Ш. Зигангиров, Основы сверточного кодирования (Глава 6), ISBN  0-470-27683-5

внешняя ссылка

  • "Деревья коррекции "- имитатор процесса коррекции с использованием очереди приоритетов для выбора максимального узла метрики (называемого весом)