Обобщенное декодирование на минимальном расстоянии
В теории кодирования декодирование на обобщенном минимальном расстоянии (GMD) обеспечивает эффективный алгоритм декодирования составных кодов , который основан на использовании декодера ошибок и стираний для внешнего кода .
Наивный алгоритм декодирования составных кодов не может быть оптимальным способом декодирования, поскольку не учитывает информацию, которую дает декодирование максимального правдоподобия (MLD). Другими словами, в простом алгоритме внутренние полученные кодовые слова обрабатываются одинаково, независимо от разницы между их расстояниями Хэмминга . Интуитивно понятно, что внешний декодер должен с большей уверенностью относиться к символам, внутренняя кодировка которых близка к полученному слову. Дэвид Форни в 1966 году разработал лучший алгоритм, называемый декодированием на обобщенном минимальном расстоянии (GMD), который лучше использует эту информацию. Этот метод достигается путем измерения достоверности каждого полученного кодового слова и стирания символов, достоверность которых ниже желаемого значения. Алгоритм декодирования GMD был одним из первых примеров декодеров с мягким решением . Мы представим три версии алгоритма декодирования GMD. Первые два будут рандомизированными алгоритмами , а последний — детерминированным .
Настраивать
[ редактировать ]- Расстояние Хэмминга : даны два вектора. расстояние Хэмминга между и , обозначенный , определяется как количество позиций, в которых и различаются.
- Минимальное расстояние: Пусть быть кодом . Минимальное расстояние кода определяется как где
- Конкатенация кода: задано , рассмотрим два кода, которые мы называем внешним кодом и внутренним кодом.
- и их расстояния и . Объединенный код может быть получен путем где Наконец мы возьмем быть кодом RS , который имеет декодер ошибок и стирания, и , что, в свою очередь, означает, что MLD внутреннего кода будет полиномиальным по время.
- Декодирование максимального правдоподобия (MLD): MLD — это метод декодирования кодов с исправлением ошибок, который выводит кодовое слово, ближайшее к полученному слову на расстоянии Хэмминга. Функция MLD, обозначаемая определяется следующим образом. Для каждого .
- Функция плотности вероятности : распределение вероятностей на выборочном пространстве представляет собой отображение событий к действительным числам таким, что для любого мероприятия , и для любых двух взаимоисключающих событий и
- Ожидаемое значение : ожидаемое значение дискретной случайной величины. является
Рандомизированный алгоритм
[ редактировать ]Рассмотрим полученное слово который был поврежден шумным каналом . Ниже приводится описание алгоритма для общего случая. В этом алгоритме мы можем декодировать y, просто объявляя стирание в каждой плохой позиции и запуская алгоритм декодирования ошибок и стирания для на результирующем векторе.
Рандомизированный_декодер
Данный : .
- Для каждого , вычислить .
- Набор .
- Для каждого , повтор: С вероятностью , набор в противном случае установить .
- Ошибки запуска и алгоритм стирания для на .
Теорема 1. Пусть y — полученное слово такое, что существует кодовое слово такой, что . Тогда детерминированный алгоритм GMD выдает .
Обратите внимание, что простой алгоритм декодирования составных кодов может корректировать до ошибки.
- Лемма 1. Пусть выполнены предположения теоремы 1. И если имеет ошибки и стирания (по сравнению с ) после шага 1 , тогда
Замечание. Если , то алгоритм на шаге 2 выведет . Лемма выше говорит, что в ожидании это действительно так. Обратите внимание, что этого недостаточно для доказательства теоремы 1 , но может иметь решающее значение при разработке будущих вариантов алгоритма.
Доказательство леммы 1. Для каждого определять Это означает, что
Далее для каждого мы определяем две индикаторные переменные :
Мы утверждаем, что закончили, если сможем показать, что для каждого :
Понятно, что по определению
Далее, в силу линейности ожидания, получаем
Для доказательства (2) рассмотрим два случая: -й блок правильно декодирован ( Случай 1 ), -й блок неправильно декодирован ( Случай 2 ):
Случай 1:
Обратите внимание, что если затем , и подразумевает и .
Далее, по определению имеем
Случай 2:
В этом случае, и
С . Это следует за другим анализом случая , когда или нет.
Наконец, это подразумевает
В следующих разделах мы, наконец, покажем, что детерминированная версия приведенного выше алгоритма может выполнять уникальное декодирование до половины расчетного расстояния.
Модифицированный рандомизированный алгоритм
[ редактировать ]Обратите внимание, что в предыдущей версии алгоритма GMD на шаге «3» нам не обязательно использовать «свежую» случайность для каждого . Теперь мы придумаем еще одну рандомизированную версию алгоритма GMD, которая использует одну и ту же случайность для каждого . Эта идея следует алгоритму, приведенному ниже.
Модифицированный_рандомизированный_декодер
Данный : , выбирать случайным образом. Тогда каждый за каждый :
- Набор .
- Вычислить .
- Если , набор в противном случае установить .
- Ошибки запуска и алгоритм стирания для на .
Для доказательства леммы 1 мы используем случайность только для того, чтобы показать, что
В этой версии алгоритма GMD отметим, что
Второе равенство следует из выбора . Доказательство леммы 1 можно использовать и для того, чтобы показать для версии 2 GMD. В следующем разделе мы увидим, как получить детерминированную версию алгоритма GMD, выбрав из набора полиномиального размера в отличие от текущего бесконечного набора .
Детерминированный алгоритм
[ редактировать ]Позволять . Поскольку для каждого , у нас есть
где для некоторых . Обратите внимание, что для каждого , шаг 1 второй версии рандомизированного алгоритма выдает то же самое . Таким образом, нам необходимо рассмотреть все возможные значения . Это дает детерминированный алгоритм ниже.
Детерминированный_декодер
Данный : , для каждого , повторите следующее.
- Вычислить для .
- Набор для каждого .
- Если , набор в противном случае установить .
- Запустите алгоритм устранения ошибок и стираний для на . Позволять быть кодовым словом в соответствующий выходу алгоритма, если таковой имеется.
- Среди всех выведите в 4, выведите тот, который ближе всего к
Каждый цикл от 1 до 4 может выполняться за полиномиальное время . Приведенный выше алгоритм также можно вычислить за полиномиальное время. В частности, каждый вызов декодера ошибок и стираний ошибки принимает время. Наконец, время выполнения приведенного выше алгоритма равно где — время работы декодера внешних ошибок и стираний.
См. также
[ редактировать ]Ссылки
[ редактировать ]- Конспект лекций по теории кодирования в Университете Буффало - Атри Рудра
- Конспекты лекций Массачусетского технологического института по основной теории кодирования - Мадху Судан
- Вашингтонский университет – Венкатесан Гурусвами
- Дж. Дэвид Форни. Обобщенное декодирование минимального расстояния. Транзакции IEEE по теории информации , 12:125–131, 1966 г.