Методы декодирования

Алгоритмы декодирования сообщений

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

Обозначение

С Ф 2 н {\displaystyle C\subset \mathbb {F} _{2}^{n}} считается двоичным кодом длиной ; должно быть элементов ; и — расстояние между этими элементами. н {\displaystyle n} х , у {\displaystyle x,y} Ф 2 н {\displaystyle \mathbb {F} _{2}^{n}} г ( х , у ) {\displaystyle d(x,y)}

Идеальное декодирование наблюдателя

Можно дать сообщение , тогда идеальный наблюдатель декодирует кодовое слово . Результатом процесса является следующее решение: х Ф 2 н {\displaystyle x\in \mathbb {F} _{2}^{n}} у С {\displaystyle y\in C}

П ( у  отправил х  полученный ) {\displaystyle \mathbb {P} (y{\mbox{ отправлено}}\mid x{\mbox{ получено}})}

Например, человек может выбрать кодовое слово , которое с наибольшей вероятностью будет получено в качестве сообщения после передачи. у {\displaystyle у} х {\displaystyle x}

Декодирование соглашений

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

  1. Запросить повторную отправку кодового слова – автоматический повторный запрос .
  2. Выберите любое случайное кодовое слово из набора наиболее вероятных кодовых слов, которое ближе к указанному.
  3. Если следует другой код , отметьте неоднозначные биты кодового слова как стирания и надейтесь, что внешний код устранит их неоднозначность.
  4. Сообщить системе об ошибке декодирования

Декодирование по методу максимального правдоподобия

При наличии полученного вектора максимального правдоподобия декодирование выбирает кодовое слово , которое максимизирует х Ф 2 н {\displaystyle x\in \mathbb {F} _{2}^{n}} у С {\displaystyle y\in C}

П ( х  полученный у  отправил ) {\displaystyle \mathbb {P} (x{\mbox{ получено}}\mid y{\mbox{ отправлено}})} ,

то есть кодовое слово , которое максимизирует вероятность того, что было получено, учитывая, что было отправлено. Если все кодовые слова одинаково вероятно будут отправлены, то эта схема эквивалентна декодированию идеального наблюдателя. Фактически, по теореме Байеса , у {\displaystyle у} х {\displaystyle x} у {\displaystyle у}

П ( х  полученный у  отправил ) = П ( х  полученный , у  отправил ) П ( у  отправил ) = П ( у  отправил х  полученный ) П ( х  полученный ) П ( у  отправил ) . {\displaystyle {\begin{aligned}\mathbb {P} (x{\mbox{ received}}\mid y{\mbox{ sent}})&{}={\frac {\mathbb {P} (x{\mbox{ received}},y{\mbox{ sent}})}{\mathbb {P} (y{\mbox{ sent}})}}\\&{}=\mathbb {P} (y{\mbox{ sent}}\mid x{\mbox{ received}})\cdot {\frac {\mathbb {P} (x{\mbox{ received}})}{\mathbb {P} (y{\mbox{ sent}})}}.\end{aligned}}}

При фиксации , реструктурируется и является константой, поскольку все кодовые слова с равной вероятностью будут отправлены. Следовательно, максимизируется как функция переменной именно тогда, когда максимизируется, и утверждение следует. P ( x  received ) {\displaystyle \mathbb {P} (x{\mbox{ received}})} x {\displaystyle x} P ( y  sent ) {\displaystyle \mathbb {P} (y{\mbox{ sent}})} P ( x  received y  sent ) {\displaystyle \mathbb {P} (x{\mbox{ received}}\mid y{\mbox{ sent}})} y {\displaystyle y} P ( y  sent x  received ) {\displaystyle \mathbb {P} (y{\mbox{ sent}}\mid x{\mbox{ received}})}

Как и в случае декодирования идеальным наблюдателем, необходимо согласовать соглашение для неуникального декодирования.

Задача декодирования максимального правдоподобия также может быть смоделирована как задача целочисленного программирования . [1]

Алгоритм декодирования максимального правдоподобия является примером проблемы «маргинализации функции произведения», которая решается путем применения обобщенного закона распределения . [2]

Минимальное расстояние декодирования

При наличии полученного кодового слова декодирование по минимальному расстоянию выбирает кодовое слово, минимизирующее расстояние Хэмминга : x F 2 n {\displaystyle x\in \mathbb {F} _{2}^{n}} y C {\displaystyle y\in C}

d ( x , y ) = # { i : x i y i } {\displaystyle d(x,y)=\#\{i:x_{i}\not =y_{i}\}}

т.е. выбрать кодовое слово , максимально близкое к . y {\displaystyle y} x {\displaystyle x}

Обратите внимание, что если вероятность ошибки на дискретном канале без памяти строго меньше половины, то декодирование по минимальному расстоянию эквивалентно декодированию по максимальному правдоподобию , поскольку если p {\displaystyle p}

d ( x , y ) = d , {\displaystyle d(x,y)=d,\,}

затем:

P ( y  received x  sent ) = ( 1 p ) n d p d = ( 1 p ) n ( p 1 p ) d {\displaystyle {\begin{aligned}\mathbb {P} (y{\mbox{ received}}\mid x{\mbox{ sent}})&{}=(1-p)^{n-d}\cdot p^{d}\\&{}=(1-p)^{n}\cdot \left({\frac {p}{1-p}}\right)^{d}\\\end{aligned}}}

который (поскольку p меньше половины) максимизируется путем минимизации d .

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

  1. Вероятность возникновения ошибки не зависит от положения символа. p {\displaystyle p}
  2. Ошибки являются независимыми событиями — ошибка в одной позиции сообщения не влияет на другие позиции.

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

Как и в случае с другими методами декодирования, необходимо согласовать соглашение для неуникального декодирования.

Расшифровка синдрома

Синдромное декодирование — это высокоэффективный метод декодирования линейного кода по шумному каналу , т. е. по каналу, в котором допускаются ошибки. По сути, синдромное декодирование — это декодирование с минимальным расстоянием с использованием сокращенной таблицы поиска. Это допускается линейностью кода. [3]

Предположим, что — линейный код длины и минимального расстояния с матрицей проверки на четность . Тогда очевидно, что он способен исправлять до C F 2 n {\displaystyle C\subset \mathbb {F} _{2}^{n}} n {\displaystyle n} d {\displaystyle d} H {\displaystyle H} C {\displaystyle C}

t = d 1 2 {\displaystyle t=\left\lfloor {\frac {d-1}{2}}\right\rfloor }

ошибки, допущенные каналом (поскольку если допущено не более ошибок, то декодирование на минимальном расстоянии все равно правильно декодирует неправильно переданное кодовое слово). t {\displaystyle t}

Теперь предположим, что кодовое слово отправлено по каналу и происходит шаблон ошибки. Затем получено. Обычное декодирование минимального расстояния будет искать вектор в таблице размера для ближайшего совпадения - т.е. элемента (не обязательно уникального) с x F 2 n {\displaystyle x\in \mathbb {F} _{2}^{n}} e F 2 n {\displaystyle e\in \mathbb {F} _{2}^{n}} z = x + e {\displaystyle z=x+e} z {\displaystyle z} | C | {\displaystyle |C|} c C {\displaystyle c\in C}

d ( c , z ) d ( y , z ) {\displaystyle d(c,z)\leq d(y,z)}

для всех . Синдромное декодирование использует свойство матрицы четности, которое: y C {\displaystyle y\in C}

H x = 0 {\displaystyle Hx=0}

для всех . Синдром полученного определяется как: x C {\displaystyle x\in C} z = x + e {\displaystyle z=x+e}

H z = H ( x + e ) = H x + H e = 0 + H e = H e {\displaystyle Hz=H(x+e)=Hx+He=0+He=He}

Для выполнения ML-декодирования в двоичном симметричном канале необходимо найти предварительно вычисленную таблицу размера , соответствующую . 2 n k {\displaystyle 2^{n-k}} H e {\displaystyle He} e {\displaystyle e}

Обратите внимание, что это уже значительно менее сложно, чем стандартное декодирование массива .

Однако, если предположить, что во время передачи было допущено не более ошибок, получатель может найти значение в еще более сокращенной таблице размера t {\displaystyle t} H e {\displaystyle He}

i = 0 t ( n i ) {\displaystyle {\begin{matrix}\sum _{i=0}^{t}{\binom {n}{i}}\\\end{matrix}}}

Расшифровка списка

Декодирование набора информации

Это семейство вероятностных методов Лас-Вегаса , основанных на наблюдении, что легче угадать достаточное количество позиций без ошибок, чем угадать все позиции с ошибками.

Простейшая форма принадлежит Прейнджу: Пусть будет генераторной матрицей используемой для кодирования. Выбираем столбцы случайным образом и обозначаем соответствующей подматрицей . С разумной вероятностью будет иметь полный ранг, что означает, что если мы позволим быть подвектором для соответствующих позиций любого кодового слова для сообщения , мы можем восстановить как . Следовательно, если нам повезло, что эти позиции полученного слова не содержали ошибок и, следовательно, совпадали с позициями отправленного кодового слова, то мы можем декодировать. G {\displaystyle G} k × n {\displaystyle k\times n} C {\displaystyle C} k {\displaystyle k} G {\displaystyle G} G {\displaystyle G'} G {\displaystyle G} G {\displaystyle G'} c {\displaystyle c'} c = m G {\displaystyle c=mG} C {\displaystyle C} m {\displaystyle m} m {\displaystyle m} m = c G 1 {\displaystyle m=c'G'^{-1}} k {\displaystyle k} y {\displaystyle y}

Если произошли ошибки, вероятность такого удачного выбора столбцов определяется как . t {\displaystyle t} ( n t k ) / ( n k ) {\displaystyle \textstyle {\binom {n-t}{k}}/{\binom {n}{k}}}

Этот метод был усовершенствован различными способами, например, Стерном [4] , Канто и Сендрие [5] .

Максимальная вероятность частичного ответа

Метод максимального правдоподобия с частичным откликом ( PRML ) — это метод преобразования слабого аналогового сигнала с головки магнитного диска или ленточного накопителя в цифровой сигнал.

декодер Витерби

Декодер Витерби использует алгоритм Витерби для декодирования потока битов, который был закодирован с использованием прямой коррекции ошибок на основе сверточного кода. Расстояние Хэмминга используется в качестве метрики для декодеров Витерби с жестким решением. Квадрат евклидова расстояния используется в качестве метрики для декодеров с мягким решением.

Оптимальный алгоритм декодирования решений (ODDA)

Оптимальный алгоритм декодирования решений (ODDA) для асимметричной системы TWRC. [ необходимо разъяснение ] [6]

Смотрите также

Ссылки

  1. ^ Фельдман, Джон; Уэйнрайт, Мартин Дж.; Каргер, Дэвид Р. (март 2005 г.). «Использование линейного программирования для декодирования двоичных линейных кодов». Труды IEEE по теории информации . 51 (3): 954–972 . CiteSeerX  10.1.1.111.6585 . doi :10.1109/TIT.2004.842696. S2CID  3120399.
  2. ^ Аджи, Шринивас М.; МакЭлис, Роберт Дж. (март 2000 г.). «Обобщенный распределительный закон» (PDF) . Труды IEEE по теории информации . 46 (2): 325–343 . doi :10.1109/18.825794.
  3. ^ Бойтельспехер, Альбрехт ; Розенбаум, Юте (1998). Проективная геометрия . Издательство Кембриджского университета . п. 190. ИСБН 0-521-48277-1.
  4. ^ Stern, Jacques (1989). "Метод поиска кодовых слов малого веса". Coding Theory and Applications . Lecture Notes in Computer Science. Vol. 388. Springer-Verlag . pp.  106–113 . doi :10.1007/BFb0019850. ISBN 978-3-540-51643-9.
  5. ^ Охта, Казуо; Пей, Диньи, ред. (1998). Достижения в криптологии — ASIACRYPT'98 . Конспект лекций по информатике. Том 1514. С.  187– 199. doi :10.1007/3-540-49649-1. ISBN 978-3-540-65109-3. S2CID  37257901.
  6. ^ Сиамак Гадими (2020), Оптимальный алгоритм декодирования решений (ODDA) для асимметричной системы TWRC; , Универсальный журнал по электротехнике и электронике

Дальнейшее чтение

Retrieved from "https://en.wikipedia.org/w/index.php?title=Decoding_methods&oldid=1194886201#Syndrome_decoding"