реклама на сайте
подробности

 
 
> Вычисление LLR декодера турбокода, Необходимо подробное описание математики алгоритма для практической ре
Rundll
сообщение Nov 30 2008, 09:59
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 181
Регистрация: 24-05-06
Из: Россия, Таганрог
Пользователь №: 17 409



Здравствуйте!

Столкнулся с задачей турбокодирования и сразу возникли проблемы с документацией и литературой касательно темы. Единственный неплохой на мой взгляд источник информации (на русском языке), который я нашел, это книга Б. Скляра "Цифровая связь". Но все же, эта информация дает базовые теоретические знания о турбокодировании и не раскрывает до конца всех тонкостей проектирования турбокодека применительно к практике (программные или аппаратные реализации).
С кодером проблем, естественно, не возникло. Трудности появились с реализацией так называемого SISO декодера, а точнее с вычислением логарифмического отношения функций правдопродобия (LLR), по алгоритму MAP (Maximum A Posteriori). С математикой в принципе все ясно, применяем теорему Байеса, вычисляем прямую, обратную метрику состояний и метрику ветви и т.д. Но это в теории. Хотелось бы взглянуть на аппроксимированную практическую реализацию, т.к. исходный алгоритм MAP существует только в теории, а на практике применяют его модификации, такие как log-MAP и MAX-log-MAP.
Вобщем, буду рад, если у кого-нибудь найдется достаточно подробная информация по вычислению LLR декодера турбокодов применительно к практической реализации (программная или аппаратная).

Благодарю за внимание!


--------------------
Не сломаешь - не поймешь!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Serg76
сообщение Nov 30 2008, 12:44
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(Rundll @ Nov 30 2008, 12:59) *
Здравствуйте!

Столкнулся с задачей турбокодирования и сразу возникли проблемы с документацией и литературой касательно темы. Единственный неплохой на мой взгляд источник информации (на русском языке), который я нашел, это книга Б. Скляра "Цифровая связь". Но все же, эта информация дает базовые теоретические знания о турбокодировании и не раскрывает до конца всех тонкостей проектирования турбокодека применительно к практике (программные или аппаратные реализации).
С кодером проблем, естественно, не возникло. Трудности появились с реализацией так называемого SISO декодера, а точнее с вычислением логарифмического отношения функций правдопродобия (LLR), по алгоритму MAP (Maximum A Posteriori). С математикой в принципе все ясно, применяем теорему Байеса, вычисляем прямую, обратную метрику состояний и метрику ветви и т.д. Но это в теории. Хотелось бы взглянуть на аппроксимированную практическую реализацию, т.к. исходный алгоритм MAP существует только в теории, а на практике применяют его модификации, такие как log-MAP и MAX-log-MAP.
Вобщем, буду рад, если у кого-нибудь найдется достаточно подробная информация по вычислению LLR декодера турбокодов применительно к практической реализации (программная или аппаратная).

Благодарю за внимание!

Вы не уточнили о каком декодере идет речь: сверточном или на базе компонентных (блоковых) кодах. В Скляре описаны алгоритмы для построения обоих видов. В книге достаточно хорошо описан алгоритм декодирования блоковых турбокодов с аппроксимацией MAX-log-MAP, где в качестве компонентных кодов используются коды с проверкой на четность. По этому описанию я делал программный декодер, все работает на УРА. Можете для блоковых кодов также применить алгоритм Чейза, но по сравнению с MAP данный алгоритм обладает меньщей помехоустойчивостью. Этот алгоритм минимизирует вероятность ошибки в последовательности и реализующий его декодер является декодером максимального правдоподобия (наподобие декодера, реализующего алгоритм декодирования Витерби). Алгоритм MAP дает минимум вероятности ошибки для каждого символа в отдельности и в этом смысле является оптимальным алгоритмом. По Чейзу я тоже делал декодер, помехоустойчивость, конечно, ниже чем у МАРа, но выше, чем у жесткого декодера (например, реализующего табличный алгоритм) и, кроме того, выше быстродействие чем у МАРа.
Со сверточными кодами все по-сложнее, но описание в Скляре тоже достаточное для понимания.
Еще есть хорошая книга: Morelos-Zaragoza R.H. The art of error-correcting coding. Кроме того, на этом сайте приведены исходные коды на С построения различных кодеков, в том числе и турбокодов. Можно еще поискать на сайте компании AHA. Она специализируется как раз на разработке турбокодов и круче их в этой области нет.
Go to the top of the page
 
+Quote Post
dsp85
сообщение Jul 19 2010, 16:55
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 5-06-10
Пользователь №: 57 761



Цитата(Serg76 @ Nov 30 2008, 16:44) *
Вы не уточнили о каком декодере идет речь: сверточном или на базе компонентных (блоковых) кодах. В Скляре описаны алгоритмы для построения обоих видов. В книге достаточно хорошо описан алгоритм декодирования блоковых турбокодов с аппроксимацией MAX-log-MAP, где в качестве компонентных кодов используются коды с проверкой на четность. По этому описанию я делал программный декодер, все работает на УРА. Можете для блоковых кодов также применить алгоритм Чейза, но по сравнению с MAP данный алгоритм обладает меньщей помехоустойчивостью. Этот алгоритм минимизирует вероятность ошибки в последовательности и реализующий его декодер является декодером максимального правдоподобия (наподобие декодера, реализующего алгоритм декодирования Витерби). Алгоритм MAP дает минимум вероятности ошибки для каждого символа в отдельности и в этом смысле является оптимальным алгоритмом. По Чейзу я тоже делал декодер, помехоустойчивость, конечно, ниже чем у МАРа, но выше, чем у жесткого декодера (например, реализующего табличный алгоритм) и, кроме того, выше быстродействие чем у МАРа.
Со сверточными кодами все по-сложнее, но описание в Скляре тоже достаточное для понимания.
Еще есть хорошая книга: Morelos-Zaragoza R.H. The art of error-correcting coding. Кроме того, на этом сайте приведены исходные коды на С построения различных кодеков, в том числе и турбокодов. Можно еще поискать на сайте компании AHA. Она специализируется как раз на разработке турбокодов и круче их в этой области нет.


Serg76, не могли бы Вы проконсультировать по алгоритму чейза?

правильно ли я понимаю алгоритм Чейза для декодирования TPC:

1) Находим n наименее надежных битов
2) создаем 2^n тестовых векторов
3) декодируем, используя жесткий декодер все 2^n последовательностей
4) из всех декодированных, находим ту, которая находится на наименьшем Евклидовом расстоянии от принятой.
5) вычисляем коэффициенты обновления LLR каждого бита в кодовом слове, полученном в 4 пункте.
6) обновляем LLR всей строки/столбца, используя данные из п. 5, следуя схеме из прикрепленного рис.

Рисунок взят из статьи Near-Optimum Decoding of Product Codes: Block Turbo Codes. by ramesh pyndiah. Так же эту схему нашел в мореллосе и зарагозе и в книге channel_coding_in_communication_networks на стр. 347. Судя по всему она очень популярна.

Насколько я понимаю, бит четности не используется при декодировании кодового слова жестким декодером, а используется при вычислении Евкл. расстояния. так ли это?

Не могли бы порекомендовать лит-ру(кроме Скляра) по MAP (и его аппроксимациях) применительно к TPC, а не TCC?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 20 2010, 00:18
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(dsp85 @ Jul 19 2010, 23:55) *

гляньте еще вот эту статью, я по ней делал. там есть опечатка в разделе "Main processing loop" на 4 стр.
Прикрепленные файлы
Прикрепленный файл  Fast_Chase_Algorithm_With_an_Application_in_Turbo_Decoding.pdf ( 180.67 килобайт ) Кол-во скачиваний: 1923
 
Go to the top of the page
 
+Quote Post
dsp85
сообщение Jul 22 2010, 16:20
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 5-06-10
Пользователь №: 57 761




2 vadimuzzz,
а Вы дедодер TPC сделали только программно или еще железная реализация есть?


2 all,

есть ли алгоритм декодирования TPC (за исключением алгоритма Chase-Pyndiah, о котором я спрашивал выше), который бы легче можно было реалитзовать в железе (FPGA) ?


-thanks
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Rundll   Вычисление LLR декодера турбокода   Nov 30 2008, 09:59
|- - Rundll   Цитата(Serg76 @ Nov 30 2008, 15:44) Вы не...   Nov 30 2008, 14:17
|- - petrov   Цитата(dsp85 @ Jul 19 2010, 20:55) Serg76...   Jul 19 2010, 17:18
||- - dsp85   Цитата(petrov @ Jul 19 2010, 21:18) В 5 п...   Jul 19 2010, 17:39
|- - Serg76   Цитата(dsp85 @ Jul 22 2010, 19:20) есть л...   Jul 22 2010, 16:38
||- - dsp85   Цитата(Serg76 @ Jul 22 2010, 20:38) MAP (...   Jul 22 2010, 16:48
||- - Serg76   Цитата(dsp85 @ Jul 22 2010, 19:48) Serg76...   Jul 22 2010, 16:55
|- - vadimuzzz   Цитата(dsp85 @ Jul 22 2010, 23:20) 2 vadi...   Jul 22 2010, 22:44
- - Serg76   Вспомнил, достаточно глубоко сверточными турбодеко...   Nov 30 2008, 15:04
|- - Rundll   Цитата(Serg76 @ Nov 30 2008, 18:04) Вспом...   Nov 30 2008, 15:45
|- - Serg76   Цитата(Rundll @ Nov 30 2008, 18:45) TI sp...   Nov 30 2008, 16:21
||- - Rundll   Цитата(Serg76 @ Nov 30 2008, 19:21) В реа...   Nov 30 2008, 16:40
||- - Serg76   Цитата(Rundll @ Nov 30 2008, 19:40) log-M...   Nov 30 2008, 18:01
||- - Rundll   Цитата(Serg76 @ Nov 30 2008, 21:01) По по...   Nov 30 2008, 19:08
||- - Serg76   Цитата(Rundll @ Nov 30 2008, 22:08) Книгу...   Nov 30 2008, 19:19
|- - SKov   Цитата(Rundll @ Nov 30 2008, 18:45) ... И...   Nov 30 2008, 23:00
|- - Rundll   Цитата(SKov @ Dec 1 2008, 02:00) Примите ...   Dec 1 2008, 08:29
- - Rundll   to Serg76: Вот ещё один момент заинтересовал, кас...   Dec 8 2008, 16:43
|- - Serg76   Цитата(Rundll @ Dec 8 2008, 19:43) to Ser...   Dec 8 2008, 17:11
|- - Rundll   Цитата(Serg76 @ Dec 8 2008, 20:11) По-мое...   Dec 8 2008, 17:25
- - Rundll   У меня очередная порция вопросов Вопрос касается ...   Dec 10 2008, 14:43
- - Grumbler_2002   Можно. Используется схема как в стандарте dvb-rcs....   Dec 10 2008, 22:51
- - Rundll   А как быть с нормализацией? На аппаратном уровне в...   Dec 13 2008, 17:10
|- - Serg76   Цитата(Rundll @ Dec 13 2008, 20:10) А как...   Dec 13 2008, 18:36
|- - Rundll   Цитата(Serg76 @ Dec 13 2008, 21:36) По по...   Dec 13 2008, 19:11
|- - Serg76   Цитата(Rundll @ Dec 13 2008, 22:11) Я не ...   Dec 13 2008, 19:27
|- - Rundll   Цитата(Serg76 @ Dec 13 2008, 22:27) Да, д...   Dec 13 2008, 19:58
|- - Serg76   Цитата(Rundll @ Dec 13 2008, 22:58) Да, н...   Dec 13 2008, 21:14
|- - Rundll   Цитата(Serg76 @ Dec 14 2008, 00:14) По по...   Dec 13 2008, 21:20
- - Grumbler_2002   Начните с этих материалов.   Dec 13 2008, 23:35
- - Serg76   2Rundll В принципе все то, что я хотел посмотреть ...   Dec 15 2008, 16:24
- - Grumbler_2002   На самом деле нужно задать себе вопрос, так ли нео...   Dec 16 2008, 02:00
- - Serg76   Я пользовался Max-Log_MAP аппроксимацией. Энергети...   Dec 16 2008, 15:44
- - Grumbler_2002   Коррекцию extrinsic information использовали? У ме...   Dec 16 2008, 18:50
|- - Serg76   Цитата(Grumbler_2002 @ Dec 16 2008, 21:50...   Dec 16 2008, 19:19
- - Grumbler_2002   Дык у Вас блоковые турбо-коды (коды-произведения с...   Dec 16 2008, 21:24
|- - Serg76   Цитата(Grumbler_2002 @ Dec 17 2008, 00:24...   Dec 17 2008, 19:54
- - Grumbler_2002   Выложил всё, что у меня есть на текущий момент. Со...   Dec 17 2008, 20:54
|- - Serg76   Цитата(Grumbler_2002 @ Dec 17 2008, 23:54...   Dec 17 2008, 22:41
- - Rundll   В продолжение темы выкладываю на мой взгляд лучшие...   Jan 9 2009, 15:28
- - AntonSS   Прочитал некоторую литературу насчёт систематическ...   May 29 2009, 10:40
- - Coder2009   Столкнулся сейчас с аналогичной проблемой. Скляра ...   Jul 19 2009, 08:48
- - bark   Занимаюсь решением такой же задачи. строю декодер....   Feb 25 2010, 09:36
|- - des00   Цитата(bark @ Feb 25 2010, 03:36) если ес...   Feb 26 2010, 04:37
- - dsp85   подскажите, пожалуйста, для 2D турбокодов с гипер ...   Nov 8 2010, 18:24
|- - Serg76   Цитата(dsp85 @ Nov 8 2010, 22:24) подскаж...   Nov 8 2010, 18:56
|- - dsp85   Цитата(Serg76 @ Nov 8 2010, 21:56) могут,...   Nov 8 2010, 19:02
|- - Serg76   Цитата(dsp85 @ Nov 8 2010, 22:02) понял, ...   Nov 8 2010, 19:12
- - Денис Олегович   Ув. RunDLL, я как раза занимаюсь написанием диплом...   Feb 19 2011, 15:39


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th June 2025 - 11:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01477 секунд с 7
ELECTRONIX ©2004-2016