BCJR-алгоритм

BCJR-алгоритм — алгоритм декодирования по методу максимума апостериорной вероятности (МАP) контролирующих ошибки кодов, определённых на решётках (к примеру, свёрточный код). Алгоритм обычно используется для итеративных схем декодирования кодов, таких как турбо-коды и код с малой плотностью проверок на чётность (LDPC-код).

Алгоритм назван по первым буквам фамилий его изобретателей: Bahl, Cocke, Jelinek и Raviv. [1]

Необходимые шаги править

На основе решетки:

  • Вычислить форвардные вероятности
  • Вычислить обратные вероятности
  • Вычислить сглаженные вероятности на основе другой информации (например, дисперсии шума для AWGN , вероятности пересечения битов для бинарного симметричного канала)

Вариации править

SBGT BCJR править

Упрощение Берру, Главье и Титимайшима.[2]

Лог-карта BCJR[3] править

Реализация править

См. также править

Ссылки править

  1. L. Bahl, J. Cocke, F. Jelinek, and J. Raviv. Optimal Decoding of Linear Codes for minimizing symbol error rate // IEEE Transactions on Information Theory, vol. IT-20(2), pp.284-287, March 1974. — 1948. — Т. 27. — С. 379-423, 623–656.
  2. Sichun Wang and François Patenaude, "A Systematic Approach to Modified BCJR MAP Algorithms for Convolutional Codes," EURASIP Journal on Applied Signal Processing, vol. 2006, Article ID 95360, 15 pages, 2006. doi:10.1155/ASP/2006/95360 Архивная копия от 10 мая 2023 на Wayback Machine
  3. P. Robertson, P. Hoeher and E. Villebrun, "Optimal and Sub-Optimal Maximum A Posteriori Algorithms Suitable for Turbo Decoding", European Transactions on Telecommunications, Vol. 8, 1997.