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

Декодирование блоковых турбокодов

Может кто подскажет где поискать детальное описание MAP алгоритма (или его аппроксимаций Log-MAP или Max-Log-MAP) декодирования блоковых турбокодов. Может где есть ссылки на исходный код? Заранее благодарен за любую информацию по этому вопросу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

кой-что можно почерпнуть в книге 2006 г

The Art of Correctin Coding, by Robert Morelos-Zaragoza

http://www.edaboard.com/viewtopic.php?t=17...moreloszaragoza

На edaboard нужно регистрироваться, потом давите на FreeMirror

 

Тексты частных программок к книге здесь официально

http://the-art-of-ecc.com/topics.html

и на его страничке

http://eccpage.com/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

кой-что можно почерпнуть в книге 2006 г

The Art of Correctin Coding, by Robert Morelos-Zaragoza

http://www.edaboard.com/viewtopic.php?t=17...moreloszaragoza

На edaboard нужно регистрироваться, потом давите на FreeMirror

 

Тексты частных программок к книге здесь официально

http://the-art-of-ecc.com/topics.html

и на его страничке

http://eccpage.com/

Большое спасибо за эти ссылки, книга и данные исходники у меня есть. К сожалению в книге описан MAP-алгоритм применительно к сверточным турбокодам (хотя сверточные коды можно рассматривать как блоковые). В книге также рассмотрен хороший алгоритм Чейза для декодирования блоковых кодов с мягким решением, пробовал его использовать для декодирования TPC (блоковые турбокоды), результат сочетает в себе достаточно хорошую корректирующую способность и скорость обработки (на мой взгляд оптимальное сочетание). Однако данный метод не дает оптимальной помехоустойчивочти, т.к. дает минимум вероятности ошибки для кодовой последовательности (кодового слова - аналог алгоритма Витерби), в отличие от алгоритма MAP, котрый дает минимум вероятности ошибки для каждого символа этой последовательности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здесь можно найти Matlab код для имплементации/simulation of turbo-encode and turbo-decode Log-MAP алгоритмов. Если вы хотите имплементировать turbo coding для IEEE 802 16e Convolutional Turbo Code (CTC), и готовы это предпринимать для на ПЛИС, у Xilinx есть LogiCORE (encoder/decoder), и они возможно находятся в Xilinx Coregen на FTP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здесь можно найти Matlab код для имплементации/simulation of turbo-encode and turbo-decode Log-MAP алгоритмов. Если вы хотите имплементировать turbo coding для IEEE 802 16e Convolutional Turbo Code (CTC), и готовы это предпринимать для на ПЛИС, у Xilinx есть LogiCORE (encoder/decoder), и они возможно находятся в Xilinx Coregen на FTP.

Спасибо за ссылки, но опять же повторюсь, что речь идет о БЛОКОВЫХ (компонентных) кодах - Turbo Product Codes (TPC), а не о сверточных - Convolutional Turbo Code (для них более - менее все ясно).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

кой-что можно почерпнуть в книге 2006 г

The Art of Correctin Coding, by Robert Morelos-Zaragoza

http://www.edaboard.com/viewtopic.php?t=17...moreloszaragoza

На edaboard нужно регистрироваться, потом давите на FreeMirror

А где бы эту книжку еще можно качнуть ? Потому как едабоард говорит что нет такого топика.

Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А где бы эту книжку еще можно качнуть ? Потому как едабоард говорит что нет такого топика.

Заранее спасибо.

 

Я недавно, с некоторыми затруднениями, но скачал ее через бесплатное зеркало по приведенной выше ссылке (за нее спасибо) - нужно только залогиниться. Книжка в целом неплохая, 2002 года, без огравления, и списка литературы, но в коллекции не будет лишней.

 

А по поводу ознакомления с соответствующим TPC ядром Xilinx лучше не строить лишних иллюзий - заявку на это будут рассматривать под микроскопом, в составе Coregen оно никогда не поставлялось, и продукт рассматривается фирмой как "стратегический".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А где бы эту книжку еще можно качнуть ? Потому как едабоард говорит что нет такого топика.

Заранее спасибо.

 

Да дома ;-)

 

http://lord-n.narod.ru/walla.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А может проще сразу микросхему поставить и не связываться с программированием ?

http://www.aha.com

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эта книга есть в продаже на русском (правда стоит у нас (Минск) - 15 долл.) Всё равно на русском читать приятнее, чем на английском. Алгоритмы с сайта проверяли - рабботают - и уже пыаемся их засунуть в наш VC5509a

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

народ, помогите пожалуйста, мне надо сделать программку для компа для турбокодов на кодах Хемминга, информация после демодулятора с жестким решением поступает.

Пробовал табличным методом (т.е. каждую строку и каждый столбец декодирую незавизимо), но для скоростей 7/8 например блоков (128,120)х(128,120) очень неэффективно работает.

Продумывал алгоритм Чейза2, но если я все правильно понял, то он хорошо работает с поступающей мягкой информацией, т.к. ему тогда легче расставить надежность бит , а в данном случае получается . что надежность у всех одинаковая и ему легко ошибиться с выявлением ненадежных бит.

Продумывал LLR, наверно это даже самое надежное средство было бы. Но как я понял по Скляру где пример приводится с двумя инфо битами и битом четности, и по приложению 8A в книге вывел формулу для четырех инфо бит и одной проверки (для примера), уже получается довольно большое уравнение, а для 127 инфо бит(блок выше ), вообще нереальная формула будет.

Подскажите, или я что то не правильно понимаю или может другие алгоритмы эффективные есть для данной задачи?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну вот допустим для сверточных турбокодов, взят пример из морелоса-зарагозы с LLR работает вообще на ура , намного лучше чем если два параллельных жестких декодера витерби разместить, вот и здесь хотелось бы что-нибудь такое чтоб декодирование столбцов уже учитывало какие то варианты декодирования строк, потому что получается что имея в строке две ошибки (без последнего бита четности, только код Хэмминга) это уже принимается за совершенно другое кодовое слово, и создается третья ошибка, и вот чтобы допустим эта третья не создавалась , а ставилась какая то оценка, ну в общем по типу LLR. Может и само LLR , если есть нормальное описание или может кто объясним его получше

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вы можете поступить следующим образом: исходные решения - жесткие, а между каскадами декодирования - мягкие. на примере алгоритма Чейза: берете исходное кодовое слово и перебираете кодовые слова из сферы некоторого радиуса. для каждого КС вычисляется метрика (мера отклонения от исходного КС). чтобы вычислить LLR понадобятся 3 метрики - 2 самые правдоподобные и 1 для КС с наименьшим правдоподобием. для неисправленных битов LLR устанавливается как разница между метриками КС с макс. и мин. правдоподобием, а для стираний - разница между метриками наиболее правдоподобных КС. и так несколько итераций. но подавая на первый вход жесткие решения (или, что эквивалентно, мягкие с макс. LLR для каждого бита) вы здорово ухудшите характеристики.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...