|
Вопросы по итеративному декодированию, Реализация CTC/BTC/LDPC кодов |
|
|
|
Dec 24 2014, 14:00
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Добрый день! Наконец то появилось время подтянуть себя в вопросах реализации кодов с вероятностным декодированием. Первая задача реализация DVB-RCS/WiMAX CTC кодера на ПЛИС, часть проекта будет выложен в опенсорс. Решил создать отдельную тему для обсуждения вопросов по реализации После штудирования литературы и примеров сорцов в сети возникла часть вопросов, на которые не хватает ума/настойчивости найти ответы: 1. Для DVB-RCS оговорены выкалывания под скорости кодирования 1/3, 2/5, 1/2, 2/3, 3/4, 4/5, 6/7. Почему не определены скорости 5/6 (удивляет "дырка" между скоростями 4/5 и 6/7) и 7/8? При этому матрица выкалывания под эти скорости возможна. 2. Полиномы RCS для Wimax и DVB одинаковые, но перемежители разные. Это сделано по политическим причинам или это результат "улучшения" характеристик декодера в процессе разработки стандарта? 3. В сверточных бинарных кодах, свойство tail-bitting используется при декодировании: В одной доке нашел что дополняют принятую последовательность вначале и в конце, затем декодируют по витерби и выкусывают нужное. В примере матлаба вообще составляют два фрейма, декодируют один за другим, потом из двух декодированных собирают один результат. Никакого намека на похожие операции в доках на турбокоды не нашел. Почему в алгоритмах SOVA/MAP/... для турбокодов это не делается? 4. По tail-bitting нашел в доках только то, что особым образом инициализируются рекурсия прямой и обратной метрики на первой итерации, а на всех остальных значения между итерациями сохраняются. Но в сорцах от CML цикл по итерациям выглядит так : Код for it = 1:max_iterations inx1 = X + inner_extr; [outx1, outz1]=DuobinaryCRSCDecode( inx1, inz1, poly, decoder_type); llrx1 = outx1 - inner_extr; inx2(1:3*N) = llrx1( code_interleaver_GF4); [outx2, outz2, out_info]=DuobinaryCRSCDecode( inx2, inz2, poly, decoder_type); detected_data(code_interleaver.info_intl) = (out_info>0)+0; errors(it)= sum( sum(abs(detected_data - data))); if (errors(it) == 0) break; else inner_extr(code_interleaver_GF4) = outx2 - inx2; end end Т.е. видно что последовательные вызовы функции DuobinaryCRSCDecode между собой не обмениваются этой информацией. А в самих функциях Код // initialization for CRSC code for (i =0; i< max_states; i++) { alpha[i][0] = 0; beta[i][len] = 0; } Т.е. не используется даже свойство одинакового начального состояния. Более того, в алгоритмах с оконным расчетом обратной рекурсии тоже забивают на свойство tail-bitting. Так насколько это важно и почему во всех доках настойчиво пишут кодировать данные 2 раза для определения состояния инициализации? 5. В алгоритмах, наследованных от Log-MAP метрика ветки считается как сумма корреляций метрик приемных битов с выходными битами решетки : gamma(Sk-1, S) = Lapri + (ys0*xs0 + ys1*xs1 + yp0*xp0 + yp1*xp1). При этом предполагается что y - надежность принятого символа , x = -1/1 выходной(переданный) бит. В сорцах от CML это место выглядит так : Код int m_input = 2; // 2 input bits, int max_states = 8; // total state numbers int M_input = 1<<m_input; int i, j, max_trellis = M_input * max_states; ....... for (j = 0; j< max_trellis; j++) { temp_input = j%M_input; temp_output = trellis_out[j]; gamma[j] = ( temp_input ==0)? 0: inx[ (temp_input -1)+ i*llr_height ]; //llr for systematic symbol gamma[j] += ( temp_output ==0)? 0: inz[ (temp_output -1)+ i*llr_height ]; //llr for parity symbol } Насколько я понимаю Си gamma[j] = ( temp_input ==0)? 0: inx[ (temp_input -1)+ i*llr_height ] - берет надежности символов кроме нулевого. Диапазон изменения temp_input = 0..3 или в битах 00/01/10/11. Вот этот момент мне совсем не понятен. Пока всё  Прошу помощи тех кто в теме.
--------------------
|
|
|
|
Сообщений в этой теме
des00 Вопросы по итеративному декодированию Dec 24 2014, 14:00 stealth-coder 2. Полиномы RCS для Wimax и DVB одинаковые, но пер... Dec 24 2014, 19:54 andyp Пункт 1
Вероятно, кривая BER для 5/6 лежит слишко... Dec 24 2014, 22:13  des00 Цитата(andyp @ Dec 25 2014, 06:13) Массив... Dec 26 2014, 09:48   andyp Цитата(des00 @ Dec 26 2014, 12:48) Вы пра... Dec 26 2014, 12:10 des00 Цитата(stealth-coder @ Dec 25 2014, 02... Dec 26 2014, 03:46 andyp Цитата(des00 @ Dec 26 2014, 06:46) По это... Dec 26 2014, 08:56 des00 Занятное дело. Скидал в матлабе кодер, похожий на ... Dec 26 2014, 16:05 andyp Цитата(des00 @ Dec 26 2014, 19:05) Занятн... Dec 27 2014, 18:25 des00 Цитата(des00 @ Dec 24 2014, 22:00) 1. Для... Dec 26 2014, 17:15 Dr.Alex . Dec 28 2014, 10:23  des00 Возник вопрос по поводу расчета LLR канальных симв... Dec 28 2014, 14:46   Serg76 Цитата(des00 @ Dec 28 2014, 17:46) Одни п... Dec 28 2014, 19:12   andyp Цитата(des00 @ Dec 28 2014, 17:46) Наскол... Dec 28 2014, 19:30    Maverick Прошу прощения, что влажу в чужую тему, но вопрос ... Dec 28 2014, 20:26     andyp Цитата(Maverick @ Dec 28 2014, 23:26) В п... Dec 28 2014, 23:36      Maverick Цитата(andyp @ Dec 29 2014, 01:36) Глубок... Dec 29 2014, 09:48       andyp Цитата(Maverick @ Dec 29 2014, 12:48) А к... Dec 29 2014, 10:13        Maverick Цитата(andyp @ Dec 29 2014, 12:13) Для дл... Dec 29 2014, 10:58         andyp Цитата(Maverick @ Dec 29 2014, 13:58) Да,... Dec 29 2014, 13:02          Serg76 Цитата(andyp @ Dec 29 2014, 17:02) Что ты... Dec 29 2014, 13:23           andyp Цитата(Serg76 @ Dec 29 2014, 16:23) По вс... Dec 29 2014, 13:55           Maverick Цитата(Serg76 @ Dec 29 2014, 15:23) По вс... Dec 29 2014, 15:39            Serg76 Цитата(Maverick @ Dec 29 2014, 19:39) сов... Dec 29 2014, 16:28             Maverick Цитата(Serg76 @ Dec 29 2014, 18:28) естес... Dec 29 2014, 19:29              Serg76 Цитата(Maverick @ Dec 29 2014, 23:29) да,... Dec 29 2014, 20:53       Serg76 Цитата(Maverick @ Dec 29 2014, 13:48) спа... Dec 29 2014, 12:13        Maverick Цитата(Serg76 @ Dec 29 2014, 14:13) при п... Dec 29 2014, 21:40         Serg76 Цитата(Maverick @ Dec 30 2014, 01:40) пог... Dec 29 2014, 21:48          Maverick Цитата(Serg76 @ Dec 29 2014, 23:48) ссылк... Dec 29 2014, 22:25           des00 Цитата(Maverick @ Dec 30 2014, 06:25) зна... Dec 30 2014, 03:42            Maverick Цитата(des00 @ Dec 30 2014, 05:42) То что... Dec 30 2014, 09:50         Serg76 Цитата(Maverick @ Dec 30 2014, 01:40) воп... Dec 30 2014, 00:33 des00 Глупый вопрос. Почему в RSС кодах не учитывается e... Jan 19 2015, 10:09 andyp Цитата(des00 @ Jan 19 2015, 13:09) Глупый... Jan 19 2015, 12:14  des00 Цитата(andyp @ Jan 19 2015, 20:14) Апосте... Jan 19 2015, 13:25   andyp Цитата(des00 @ Jan 19 2015, 16:25) Понял,... Jan 19 2015, 15:23 andyp Подумал на счет пункта 1 - LLR проверочных бит мог... Jan 21 2015, 08:37 smoke_111 или для демодуляции и декодировании в многоуровнев... Jan 21 2015, 09:42 des00 Цитата(andyp @ Jan 19 2015, 22:23) P_appr... Jan 22 2015, 09:06 smoke_111 я имею в виду схемы наподобии trellis-coded modula... Jan 23 2015, 08:08 andyp Цитата(smoke_111 @ Jan 23 2015, 11:08) я ... Jan 23 2015, 08:49 smoke_111 точно, спасибо, забыл как это называется. Jan 23 2015, 13:09 des00 Перевожу модель в фиксед поинт. Есть глупый вопрос... Jan 26 2015, 06:45 andyp Цитата(des00 @ Jan 26 2015, 09:45) Первый... Jan 26 2015, 16:54  des00 Цитата(andyp @ Jan 27 2015, 00:54) Т.е. э... Jan 27 2015, 05:52   andyp Цитата(des00 @ Jan 27 2015, 08:52) Т.е. б... Jan 27 2015, 09:19 des00 Созрел следующий вопрос: метрики состояний проходя... Jan 28 2015, 08:13 andyp Видел, что экстринсики скалили между итерациями (н... Jan 28 2015, 09:26  des00 Цитата(andyp @ Jan 28 2015, 16:26) Видел,... Jan 28 2015, 09:44   andyp Цитата(des00 @ Jan 28 2015, 12:44) да, гд... Jan 28 2015, 12:07    des00 Цитата(andyp @ Jan 28 2015, 19:07) Я встр... Jan 28 2015, 15:42     Maverick Цитата(des00 @ Jan 28 2015, 17:42) хмм, н... Jan 28 2015, 20:09      des00 Цитата(Maverick @ Jan 29 2015, 03:09) спа... Jan 29 2015, 04:53     andyp Цитата(des00 @ Jan 28 2015, 18:42) Перехо... Jan 29 2015, 08:56      des00 Цитата(andyp @ Jan 29 2015, 16:56) Поздра... Feb 3 2015, 15:34       des00 Цитата(des00 @ Feb 3 2015, 22:34) Похоже ... Feb 4 2015, 13:47        Mogwaika Цитата(des00 @ Feb 4 2015, 17:47) Ошибся ... Feb 4 2015, 16:08         des00 Цитата(Mogwaika @ Feb 4 2015, 23:08) Код ... Feb 4 2015, 16:11          Grizzzly Цитата(des00 @ Feb 4 2015, 19:11) Судя по... Feb 4 2015, 17:07           Mogwaika Цитата(Grizzzly @ Feb 4 2015, 21:07) Посм... Feb 4 2015, 20:01            Serg76 Цитата(Mogwaika @ Feb 4 2015, 23:01) У ме... Feb 5 2015, 07:47             Grizzzly Цитата(Serg76 @ Feb 5 2015, 10:47) Какая ... Feb 5 2015, 08:43              Serg76 Цитата(Grizzzly @ Feb 5 2015, 11:43) Турб... Feb 5 2015, 10:04               Grizzzly Цитата(Serg76 @ Feb 5 2015, 13:04) Ок, сп... Feb 5 2015, 10:36               Mogwaika Цитата(Serg76 @ Feb 5 2015, 14:04) Спасиб... Feb 5 2015, 10:59             Mogwaika Цитата(Serg76 @ Feb 5 2015, 11:47) Какая ... Feb 5 2015, 09:30        smoke_111 Цитата(des00 @ Feb 4 2015, 16:47) Ошибся ... Feb 4 2015, 18:32 andyp Поделиться результатами не могу - давно было, так ... Feb 4 2015, 11:53 des00 Цитата(Grizzzly @ Feb 5 2015, 01:07) Посм... Feb 4 2015, 19:03 smoke_111 На больших все хорошо должно быть, если мне правил... Feb 4 2015, 19:18 des00 Первые результаты по RTL кодированию Feb 6 2015, 11:34 des00 Сел за синтезируемую RTL реализацию и сразу возник... Feb 6 2015, 16:42 smoke_111 метод обращения функции генерации адреса есть, смо... Feb 6 2015, 17:28 des00 Цитата(smoke_111 @ Feb 7 2015, 01:28) мет... Feb 6 2015, 17:43 smoke_111 Прошу прощения я кажется запутался, я правильно по... Feb 6 2015, 18:07 andyp Цитата(smoke_111 @ Feb 6 2015, 21:07) Про... Feb 6 2015, 19:14 des00 Цитата(smoke_111 @ Feb 7 2015, 01:07) я п... Feb 7 2015, 07:42 des00 Цитата(andyp @ Feb 7 2015, 03:14) В прило... Feb 7 2015, 16:34 andyp Цитата(des00 @ Feb 7 2015, 19:34) самое з... Feb 8 2015, 08:59  des00 Цитата(andyp @ Feb 8 2015, 16:59) Проблем... Feb 9 2015, 05:27   andyp Цитата(des00 @ Feb 9 2015, 08:27) Попутно... Feb 9 2015, 09:48    des00 Цитата(andyp @ Feb 9 2015, 17:48) Что кас... Feb 9 2015, 16:48     andyp Ну да, на оверлап забивают, чтобы поднять производ... Feb 9 2015, 17:16 des00 Цитата(andyp @ Feb 10 2015, 01:16) Ну да,... Feb 10 2015, 07:32 des00 Базовый синтезируемый декодер в ПЛИСовой теме. К с... Feb 24 2015, 09:06 andyp Цитата(des00 @ Feb 24 2015, 12:06) Базовы... Feb 24 2015, 10:00  des00 Цитата(andyp @ Feb 24 2015, 17:00) Код не... Feb 24 2015, 15:16   andyp Цитата(des00 @ Feb 24 2015, 18:16) Теперь... Feb 24 2015, 16:02   petrov Цитата(des00 @ Feb 24 2015, 18:16) Наприм... Feb 24 2015, 16:02 des00 Цитата(andyp @ Feb 25 2015, 00:02) На пра... Feb 24 2015, 16:29 Mogwaika Есть подозрение, что кодовую конструкцию в отрыве ... Feb 24 2015, 17:14  andyp Цитата(Mogwaika @ Feb 24 2015, 20:14) Луч... Feb 24 2015, 17:28 des00 Может кто сталкивался, что бы заново велосипед не ... Feb 25 2015, 07:47 andyp Цитата(des00 @ Feb 25 2015, 10:47) В стан... Feb 25 2015, 10:02 des00 В процессе вариации параметров декодера, обнаружил... Mar 7 2015, 15:33 andyp На счет 1 - расскажи подробнее про паттерн выкалыв... Mar 7 2015, 18:26  des00 Цитата(andyp @ Mar 8 2015, 02:26) На счет... Mar 8 2015, 07:27 andyp Почитал немного про выкалывание. Действительно, лу... Mar 8 2015, 09:37 des00 Цитата(andyp @ Mar 8 2015, 17:37) Объясне... Mar 8 2015, 14:29
3 страниц
1 2 3 >
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|