Перейти к содержанию
    

xromeo

Участник
  • Постов

    5
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. Разобрался, вопрос снят, при расчёте обратной рекурсии была наибанальнейшая ошибка в индексе :) Выражение должно быть таким: (gamma[k][z] + alfa[k] + beta[k+1][s_Out[z]]).
  2. Попробовал сделать программную реализацию алгоритма Max-Log-MAP для Double-Binary турбокода. Реализацию делал согласно источнику "Low-Power Traceback MAP Decoding for Double-Binary Convolutional Turbo Decoder" (прикрепленный файл mlmap.pdf), раздел II - это оказался единственным более-менее понятным документом с описанием алгоритма для недвоичных свёрточных кодов из всех, что мне удалось найти. Программу писал на Си. Вроде бы, ничего сложного, сделал всё один в один как написано, а результат получается неверный. Причём неверный результат даёт декодер SISO уже на первой итерации, при том, что на вход подаётся ВЕРНОЕ кодовое слово, не содержащее ошибок. Апостериорные вероятности получаются либо неверными, либо, порой, неоднозначными, ибо получаются равновероятными сразу несколько вариантов. Буду благодарен, если подскажете, что и где я делаю не так, что именно недопонимаю (а может, и в самом источнике где-то что-то неверно?). Ниже, в прикреплённом файле lmap.txt, привожу полное описание алгоритма с комментариями и фрагментами кода на Си. Заранее огромное спасибо всем, кто решится изучить мою проблему. mlmap.pdf mlmap.txt
  3. Спасибо. По поводу первой книги - посты в форуме нашёл, но файл уже удалён, видимо, за давностью. А в инете эта книга только за деньги продается. Зато, нашёл статью "Comparative Study of Turbo Decoding Techniques: An Overviev", где один из авторов этот же Hanzo. Там на удивление расписано всё достаточно понятно. Ещё нашел пошаговое описание MAP-алгоритма Charan Langton (www.complextoreal.com), жаль только, что там есть огрехи и ошибки, но в общем всё достаточно наглядно расписано, и это помогло разобраться. Ну и, статья "Low-Power Traceback MAP Decoding for Double-Binary Convolutional Turbo Decoder" от Cheng-Hung Lin, Chun-Yu Chen, and An-Yeu (Andy) Wu после этого воспринимается уже понятно в качестве поправок, которые надо применить в случае double-binary кода. По поводу матлаба - а что за исходники имелись в виду? Точнее можно? Что касается третьей книги, а её можно где-то найти в свободном доступе?
  4. Столкнулся сейчас с аналогичной проблемой. Скляра почитал, но у него всё в основном на формулах и теоремах, а мне б посмотреть где-нибудь алгоритм MAP для свёрточных рекурсивных кодов, разъяснённый "на пальцах" (т.е. в виде блок-схемы или, что лучше, фрагментов кода), чтоб было понятно человеку, который больше разработчик программ, нежели метематик. Никто ничего не посоветует?
  5. Столкнулся с задачей реалезации декодера свёрточного циркулярного недвоичного (double-binary) турбокода DVB-RCS. Предстоит сделать как аппаратную, так и программную реализацию. Для начала попробовал сделать программную реализацию, для этого выбрал декодер SOVA - алгоритм Витерби с мягким выходом (по той причине, что алгоритм Витерби мне очень хорошо знаком и его реализовать для меня не составило труда). Всё получилось, модель алгоритма (написана на Си) работает. Но дело в том, что требуется обеспечить скорость обработки хотя бы 1 мегабит в секунду на компьютере Intel с частотой 2.8 .. 3 ГГц, а ввиду огромного количества вычислений (с учётом не двоичной, а четверичной решётки кода, большого количества сравнений и копирований блоков данных, а также итерационного декодирования) такие скорости никак не получаются Даже после всевозможных оптимизаций кода. В связи с этим решил попробовать разобраться с алгоритмами декодирования серии log-MAP и max-log-MAP, где вычисляются апостериорные вероятности и LLR (есть подозрение, что реализация такого алгоритма может оказаться оптимальнее мягкого Витерби), но везде в литературе данные алгоритмы описываются на уровне теории, с теоремами и формулами, а хотелось бы что-либо почитать такое, где бы описывалось именно практическое применение, и алгоритм был бы описан именно в виде алгоритма, понятного программисту. С той целью, чтобы разобраться по возможности быстрее, ибо время ограничено. Вопрос: есть ли источники с такими, наиболее понятными описаниями? И, что ещё лучше - может, кто-либо встречал хорошие и понятные на уровне программирования описания алгоритмов декодирования именно свёрточных турбокодов DVB-RCS? Спасибо заранее.
×
×
  • Создать...