|
Вопросы по итеративному декодированию, Реализация 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 des00 наткнулся в сети на вот такой документ на странице... Mar 11 2015, 17:24 andyp Цитата(des00 @ Mar 11 2015, 20:24) наткну... Mar 11 2015, 17:54 des00 Мучаю кодек в режиме wimax-ofdm и прихожу к выводу... Mar 12 2015, 10:34 andyp Цитата(des00 @ Mar 12 2015, 13:34) Мучаю ... Mar 12 2015, 11:46  des00 Цитата(andyp @ Mar 12 2015, 18:46) 21 не ... Mar 12 2015, 15:25   andyp Цитата(des00 @ Mar 12 2015, 18:25) в прил... Mar 12 2015, 16:15    des00 Цитата(andyp @ Mar 13 2015, 00:15) Чудес ... Mar 12 2015, 16:35     andyp Цитата(des00 @ Mar 12 2015, 19:35) Соглас... Mar 12 2015, 16:51      des00 Цитата(andyp @ Mar 12 2015, 23:51) Спектр... Mar 12 2015, 17:26       andyp Цитата(des00 @ Mar 12 2015, 20:26) В поря... Mar 12 2015, 18:23 smoke_111 Для 3GPP турбокода используется, как мне помнится,... Mar 13 2015, 05:39 des00 Цитата(smoke_111 @ Mar 13 2015, 13:39) И ... Mar 13 2015, 06:01 des00 Решил немного порыть RCS в ширь, интересуют решетк... Mar 19 2015, 16:28 andyp Цитата(des00 @ Mar 19 2015, 19:28) PS. Ил... Mar 19 2015, 18:42  des00 Цитата(andyp @ Mar 20 2015, 02:42) Вот чт... Mar 20 2015, 06:08   andyp Цитата(des00 @ Mar 20 2015, 09:08) До куч... Mar 20 2015, 09:00    des00 Цитата(andyp @ Mar 20 2015, 16:00) Какой-... Mar 20 2015, 09:33     andyp Цитата(des00 @ Mar 20 2015, 12:33) я поня... Mar 20 2015, 09:58      des00 Цитата(andyp @ Mar 20 2015, 17:58) 15 - п... Mar 20 2015, 10:24       andyp Цитата(des00 @ Mar 20 2015, 13:24) Всё та... Mar 20 2015, 11:07 des00 Возник тут у меня вопрос, из класса вопросов ... Mar 25 2015, 12:47 andyp Цитата(des00 @ Mar 25 2015, 15:47) Чему д... Mar 25 2015, 14:11 des00 Цитата(andyp @ Mar 25 2015, 22:11) Отноше... Mar 25 2015, 14:49 Grizzzly Для вещественных сигналов (созвездий) нужно добавл... Mar 25 2015, 15:23 serjj Дело кажется в реализации функции awgn. Добавляю ш... Mar 25 2015, 15:28 Grizzzly Цитата(serjj @ Mar 25 2015, 18:28)
Нельз... Mar 25 2015, 15:33 Grizzzly Цитата(serjj @ Mar 25 2015, 18:28) Резуль... Mar 25 2015, 16:45  Grizzzly Да, вчера вечером затупил про одномерность поверну... Mar 26 2015, 06:50 serjj В функции awgn есть такая проверка
Код% --- Add th... Mar 25 2015, 15:40 Grizzzly Цитата(serjj @ Mar 25 2015, 18:40) Почему... Mar 25 2015, 15:44 serjj Вот в приведенном примере:
Кодhd_bits = (... Mar 25 2015, 15:54 serjj Почитал статью, спасибо. Но меня их подход решител... Mar 26 2015, 08:44 Grizzzly Да, при чтении меня тоже кое-что там смущало. Надо... Mar 26 2015, 09:14 des00 Цитата(Grizzzly @ Mar 25 2015, 23:23) Вы ... Mar 26 2015, 09:28 Grizzzly Цитата(des00 @ Mar 26 2015, 12:28) На как... Mar 26 2015, 09:40 serjj Цитатапроверка sum(abs(rx_symb - tx_symb).^2)/Nbit... Mar 26 2015, 09:53 des00 Цитата(serjj @ Mar 26 2015, 16:46) Но вот... Mar 26 2015, 09:53 Grizzzly Цитата(serjj @ Mar 26 2015, 12:53) Даёт л... Mar 26 2015, 10:01  des00 Цитата(Grizzzly @ Mar 26 2015, 18:01) Кст... Mar 26 2015, 10:15 serjj ЦитатаПравда не понятно как тогда быть обработкой ... Mar 26 2015, 11:35 Grizzzly Провел тщательный эксперимент.
В MATLAB pskmod ... Mar 26 2015, 21:34 des00 Всем доброго!
Отложил немного турбокоды, уше... Mar 27 2015, 18:09 andyp Цитата(des00 @ Mar 27 2015, 21:09) Так во... Mar 27 2015, 20:11  des00 Цитата(andyp @ Mar 28 2015, 04:11) Для то... Mar 28 2015, 15:13   des00 Цитата(des00 @ Mar 28 2015, 23:13) UPD. Ш... Mar 28 2015, 17:55    andyp Цитата(des00 @ Mar 28 2015, 20:55) Почему... Mar 28 2015, 21:03     des00 Цитата(andyp @ Mar 29 2015, 05:03) Теперь... Mar 30 2015, 06:15      Mogwaika + интересный факт, при вычислении llr если выбрать... Apr 1 2015, 10:14       Dr.Alex Цитата(Mogwaika @ Apr 1 2015, 13:14) + ин... Apr 1 2015, 10:36        Mogwaika Цитата(Dr.Alex @ Apr 1 2015, 14:36) ... Apr 1 2015, 12:13         Dr.Alex Цитата(Mogwaika @ Apr 1 2015, 15:13) пред... Apr 1 2015, 12:56          Mogwaika Цитата(Dr.Alex @ Apr 1 2015, 16:56) Такое... Apr 1 2015, 13:02           Dr.Alex Цитата(Mogwaika @ Apr 1 2015, 16:02) Да, ... Apr 1 2015, 13:12            Mogwaika Цитата(Dr.Alex @ Apr 1 2015, 17:12) Ясен ... Apr 1 2015, 13:41             des00 Цитата(Mogwaika @ Apr 1 2015, 21:41) Я во... Apr 1 2015, 13:50          des00 Цитата(Dr.Alex @ Apr 1 2015, 20:56) Думаю... Apr 1 2015, 13:29           Dr.Alex Цитата(des00 @ Apr 1 2015, 16:29) Могу ош... Apr 1 2015, 14:08            des00 Цитата(Dr.Alex @ Apr 1 2015, 20:53) Ну та... Apr 1 2015, 14:11             Dr.Alex Цитата(des00 @ Apr 1 2015, 17:11) В том т... Apr 1 2015, 14:26              Mogwaika Цитата(Dr.Alex @ Apr 1 2015, 18:26) Если ... Apr 1 2015, 14:49               Dr.Alex Цитата(Mogwaika @ Apr 1 2015, 17:49) вот ... Apr 1 2015, 14:55                Mogwaika Цитата(Dr.Alex @ Apr 1 2015, 18:55) Скажи... Apr 1 2015, 14:57                 Dr.Alex Цитата(Mogwaika @ Apr 1 2015, 17:57) CCSD... Apr 1 2015, 15:02                  Mogwaika Цитата(Dr.Alex @ Apr 1 2015, 19:02) Так. ... Apr 1 2015, 15:06                   des00 Цитата(Mogwaika @ Apr 1 2015, 22:06) ну в... Apr 1 2015, 15:09                    Mogwaika для sum-product получилось получить 1е-5 на 1.7дБ ... Apr 1 2015, 15:24             smoke_111 Цитата(des00 @ Apr 1 2015, 17:11) А вы не... Apr 5 2015, 19:16              des00 Цитата(smoke_111 @ Apr 6 2015, 03:16) то ... Apr 10 2015, 07:08               smoke_111 Вычислительно они куда более сложные, так что если... Apr 12 2015, 19:19                des00 Цитата(smoke_111 @ Apr 13 2015, 02:19) ПЫ... Apr 13 2015, 02:50 Maverick Цитата(des00 @ Mar 27 2015, 20:09) Всем д... Mar 27 2015, 20:20 des00 Возник глупый вопрос по декодированию LDPC по алго... Apr 13 2015, 15:46 Maverick Цитата(des00 @ Apr 13 2015, 18:46) Возник... Apr 13 2015, 19:15 des00 В форуме по плисам, выложил лдпц декодер ваймаксов... May 14 2015, 07:32 des00 В процессе написания бертеста для сложных созвезди... Aug 24 2015, 15:40 petrov Без проверки очевидно, что первый вариант просто н... Aug 24 2015, 21:10 des00 Всем доброго!
Прошу помощи: разыскивается со... Aug 31 2015, 11:37 des00 Цитата(des00 @ Aug 31 2015, 18:37) Прошу ... Sep 1 2015, 07:00 GetSmart Цитата(des00 @ Aug 31 2015, 15:37) Всем д... Sep 22 2015, 14:38  Serg76 Цитата(GetSmart @ Sep 22 2015, 17:38) Изо... Sep 22 2015, 15:00  thermit Цитата(GetSmart @ Sep 22 2015, 17:38) Изо... Sep 22 2015, 15:24   GetSmart Цитата(thermit @ Sep 22 2015, 19:24) Ну и... Sep 22 2015, 15:34    des00 Цитата(GetSmart @ Sep 22 2015, 22:31) Сут... Sep 22 2015, 15:36     GetSmart Цитата(des00 @ Sep 22 2015, 19:36) Усилит... Sep 22 2015, 15:42     Serg76 Цитата(des00 @ Sep 22 2015, 18:36) Тогда ... Sep 22 2015, 15:44      des00 Цитата(Serg76 @ Sep 22 2015, 22:44) Поэто... Sep 22 2015, 15:49       GetSmart Цитата(des00 @ Sep 22 2015, 19:49) время ... Sep 22 2015, 16:05        des00 Цитата(GetSmart @ Sep 23 2015, 00:05) Дос... Sep 22 2015, 16:13         GetSmart Цитата(des00 @ Sep 22 2015, 20:13) 1. Утв... Sep 22 2015, 16:40 des00 Цитата(GetSmart @ Sep 22 2015, 22:38) А н... Sep 22 2015, 15:19 Serg76 Цитата(des00 @ Sep 22 2015, 18:19) АСМ не... Sep 22 2015, 15:38  des00 Цитата(Serg76 @ Sep 22 2015, 22:38) Перед... Sep 22 2015, 15:46   GetSmart Цитата(des00 @ Sep 22 2015, 19:46) Но глу... Sep 22 2015, 15:47   Serg76 Цитата(des00 @ Sep 22 2015, 18:46) Да име... Sep 22 2015, 15:50    des00 Цитата(Serg76 @ Sep 22 2015, 22:50) стран... Sep 22 2015, 15:52 des00 Доброго дня!
Развлечения ради, решил сделать... Jun 9 2016, 12:13 des00 Цитата(des00 @ Jun 9 2016, 19:13) Доброго... Jun 11 2016, 15:53 des00 Цитата(des00 @ Jun 9 2016, 19:13) LDPC ко... Jun 23 2016, 10:41  Maverick Цитата(des00 @ Jun 23 2016, 13:41) Смотрю... Jun 23 2016, 11:19   des00 Цитата(Maverick @ Jun 23 2016, 18:19) Ден... Jun 23 2016, 11:45
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|