|
|
  |
Вычисление LLR декодера турбокода, Необходимо подробное описание математики алгоритма для практической ре |
|
|
|
Dec 17 2008, 20:54
|
Частый гость
 
Группа: Свой
Сообщений: 154
Регистрация: 5-01-05
Из: г. Зеленоград
Пользователь №: 1 817

|
Выложил всё, что у меня есть на текущий момент. Собственно, это исследование десятилетней давности, и ничего нового, скорее всего, не появилось. У гипер-кодов ограниченное применение.
Compare_Ref2.pdf ( 61.99 килобайт )
Кол-во скачиваний: 880
GRA01_ICWC_HC.pdf ( 86.19 килобайт )
Кол-во скачиваний: 398
HUN98a_MSc_HC.pdf ( 413.29 килобайт )
Кол-во скачиваний: 789
Hyper_Ref1.pdf ( 118.91 килобайт )
Кол-во скачиваний: 542
|
|
|
|
|
Jan 9 2009, 15:28
|
Частый гость
 
Группа: Свой
Сообщений: 181
Регистрация: 24-05-06
Из: Россия, Таганрог
Пользователь №: 17 409

|
В продолжение темы выкладываю на мой взгляд лучшие публикации по теме турбокодирования сверточных кодов (для новичков). Публикация отличается более мягкой формой преподнесения материала, а также практическими примерами рассчета как PCCC кодера так и MAP декодера, что называется "step-by-step", все ясно, доступно и наглядно! Вдобавок прикрепляю EXCEL-файл, демонстрирующий все тонкости рассчетов и предлагающий возможность самостоятельно "пощупать" кодек, не прибегая к "расшифровкам" сторонних C++ файлов и т.д. Надеюсь, эта информация многим будет очень полезна. После изучения данных материалов, можно спокойно приступать к освоению публикаций предложенных товарищем Grumbler_2002, за что ему отдельное спасибо, информация очень даже достойная.
--------------------
Не сломаешь - не поймешь!
|
|
|
|
|
May 29 2009, 10:40
|
Группа: Новичок
Сообщений: 3
Регистрация: 29-12-06
Пользователь №: 24 004

|
Прочитал некоторую литературу насчёт систематических турбокодов, в том числе упомянутую тут.. Возник вопрос. После нахождения LLR первого декодера, LLR нужно перемешать (interleave)... В стандарте 802.16, например, перемешиватель построен таким образом, чтобы перемешивать дубиты (00, 01, 10, 11) А LLR вычисляется как 1 символ мягкого решения. Как его перемешивать?? Меня этот "деинтерливер" вообще в тупик поставил.. (( Может каждый символ LLRа тоже переводить в дубит??
|
|
|
|
|
Jul 19 2009, 08:48
|
Группа: Участник
Сообщений: 5
Регистрация: 18-07-09
Пользователь №: 51 365

|
Столкнулся сейчас с аналогичной проблемой. Скляра почитал, но у него всё в основном на формулах и теоремах, а мне б посмотреть где-нибудь алгоритм MAP для свёрточных рекурсивных кодов, разъяснённый "на пальцах" (т.е. в виде блок-схемы или, что лучше, фрагментов кода), чтоб было понятно человеку, который больше разработчик программ, нежели метематик. Никто ничего не посоветует?
Сообщение отредактировал Coder2009 - Jul 19 2009, 08:56
|
|
|
|
|
Jul 19 2010, 16:55
|
Участник

Группа: Участник
Сообщений: 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?
Эскизы прикрепленных изображений
|
|
|
|
|
Jul 19 2010, 17:18
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(dsp85 @ Jul 19 2010, 20:55)  Serg76, не могли бы Вы проконсультировать по алгоритму чейза?
правильно ли я понимаю алгоритм Чейза для декодирования TPC:
1) Находим n наименее надежных битов 2) создаем 2^n тестовых векторов 3) декодируем, используя жесткий декодер все 2^n последовательностей 4) из всех декодированных, находим ту, которая находится на наименьшем Евклидовом расстоянии от принятой. 5) вычисляем коэффициенты обновления LLR каждого бита в кодовом слове, полученном в 4 пункте. 6) обновляем LLR всей строки/столбца, используя данные из п. 5, следуя схеме из прикрепленного рис. В 5 пункте ещё конкурентные слова нужно учитывать. Цитата(dsp85 @ Jul 19 2010, 20:55)  Насколько я понимаю, бит четности не используется при декодировании кодового слова жестким декодером, а используется при вычислении Евкл. расстояния. так ли это? Да. Цитата(dsp85 @ Jul 19 2010, 20:55)  Не могли бы порекомендовать лит-ру(кроме Скляра) по MAP (и его аппроксимациях) применительно к TPC, а не TCC? Channel Coding in Communication Networks - Glavieux Turbo Coding, Turbo Equalisation and Space-Time Coding for Transmission over Wireless Channels - Hanzo, Liew, Yeap
|
|
|
|
|
Jul 19 2010, 17:39
|
Участник

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

|
Цитата(petrov @ Jul 19 2010, 21:18)  В 5 пункте ещё конкурентные слова нужно учитывать.
Да.
Channel Coding in Communication Networks - Glavieux Turbo Coding, Turbo Equalisation and Space-Time Coding for Transmission over Wireless Channels - Hanzo, Liew, Yeap спасибо
|
|
|
|
|
Jul 22 2010, 16:20
|
Участник

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

|
2 vadimuzzz, а Вы дедодер TPC сделали только программно или еще железная реализация есть?
2 all,
есть ли алгоритм декодирования TPC (за исключением алгоритма Chase-Pyndiah, о котором я спрашивал выше), который бы легче можно было реалитзовать в железе (FPGA) ?
-thanks
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|