des00 25 19 сентября, 2018 Опубликовано 19 сентября, 2018 · Жалоба Плюсы подойдут? Этот проект делают очень разумные люди, поэтому можно смело доверять. http://aff3ct.github.io Есть ещё пара-тройка проектов на MATLAB. Тоже серьёзные люди делают, по стандарту. UPD.: Вспомнил, что видел и на С: https://github.com/tavildar/Polar благодарю, а то завис на осознании где же в декодерах итеративное декодирование, вроде оно есть, а так явно не видно) С кодом будет проще разобраться что к чему) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Grizzly 0 19 сентября, 2018 Опубликовано 19 сентября, 2018 · Жалоба благодарю, а то завис на осознании где же в декодерах итеративное декодирование, вроде оно есть, а так явно не видно) С кодом будет проще разобраться что к чему) Всё-таки на C++ последний пример. Не люблю его в алгоритмических применениях. Сложнее воспринимать. Хотя шаблоны, конечно, удобны. Хочешь double, хочешь float сходу и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 19 сентября, 2018 Опубликовано 19 сентября, 2018 · Жалоба Всё-таки на C++ последний пример. Не люблю его в алгоритмических применениях. Сложнее воспринимать. Хотя шаблоны, конечно, удобны. Хочешь double, хочешь float сходу и т.д. Да я любой код читаю, разберемся) Наверное стоит тему разделить и сделать отдельную по декодированию полярных кодов. И чистоты русского языка ради, интересно, почему коды на основе поляризующего преобразования, называют полярными а не поляризующими.) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Grizzly 0 19 сентября, 2018 Опубликовано 19 сентября, 2018 · Жалоба Согласен. Если можно, то с самого начала обсуждения полярных кодов в 15-м году откусить и перенести. Подозреваю, что так Трифонов перевел первым, а потом остальные подхватили. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 19 февраля, 2019 Опубликовано 19 февраля, 2019 · Жалоба Начал плотно заниматься полярными кодами, подошел к написанию RTL кодера и возник вот такой вопрос. Во многих статьях по быстрым и low complexity кодерам, заявляются дикие цифры кодирования. Гигабит и выше. Все так, если рассматривать параллелизацию самого ядра вычисления полярного преобразования. Тактовая под 125-250, по 8/16/32 бита за такт. Но, в статьях абсолютно опущен момент, что для того что бы запустить ядро, нужно выполнить нехилую предварительную и возможно последующую обработку. А именно: посчитать CRC(если надо), разложить биты данных и CRC в надежные подканалы, заморозить не надежные каналы, пропустить через ядро преобразования, собрать все в бит-реверсивном порядке (ну или предварительно перевести данные в бит реверсивный порядок). Для понимания, вот численный пример. Блок 256 бит, данные 128. Индексы надежных каналов (рассчет по методу Бхаттачарьи, для e = 0.32) 256 255 254 252 248 240 224 192 128 253 251 250 247 246 244 239 238 236 232 223 222 220 216 191 190 208 188 184 176 127 126 124 249 120 245 160 243 237 242 235 234 231 221 230 112 219 218 228 215 214 212 189 207 187 206 186 183 204 96 182 180 175 200 174 125 172 123 122 119 159 118 168 241 64 158 233 116 229 156 111 217 227 110 213 226 211 108 152 205 210 185 203 95 181 202 94 104 179 199 173 178 144 198 92 171 121 170 196 117 167 63 157 88 115 166 62 155 109 114 154 225 164 107 60 151 209 80 106 а если добавить CRC 8 бит 256 255 254 252 248 240 224 192 128 253 251 250 247 246 244 239 238 236 232 223 222 220 216 191 190 208 188 184 176 127 126 124 249 120 245 160 243 237 242 235 234 231 221 230 112 219 218 228 215 214 212 189 207 187 206 186 183 204 96 182 180 175 200 174 125 172 123 122 119 159 118 168 241 64 158 233 116 229 156 111 217 227 110 213 226 211 108 152 205 210 185 203 95 181 202 94 104 179 199 173 178 144 198 92 171 121 170 196 117 167 63 157 88 115 166 62 155 109 114 154 225 164 107 60 151 209 80 106 150 201 93 103 56 177 143 197 И по выходу выдать блок вот в таком битовом порядке 1 129 65 193 33 161 97 225 17 145 81 209 49 177 113 241 9 137 73 201 41 169 105 233 25 153 89 217 57 185 121 249 5 133 69 197 37 165 101 229 21 149 85 213 53 181 117 245 13 141 77 205 45 173 109 237 29 157 93 221 61 189 125 253 3 131 67 195 35 163 99 227 19 147 83 211 51 179 115 243 11 139 75 203 43 171 107 235 27 155 91 219 59 187 123 251 7 135 71 199 39 167 103 231 23 151 87 215 55 183 119 247 15 143 79 207 47 175 111 239 31 159 95 223 63 191 127 255 2 130 66 194 34 162 98 226 18 146 82 210 50 178 114 242 10 138 74 202 42 170 106 234 26 154 90 218 58 186 122 250 6 134 70 198 38 166 102 230 22 150 86 214 54 182 118 246 14 142 78 206 46 174 110 238 30 158 94 222 62 190 126 254 4 132 68 196 36 164 100 228 20 148 84 212 52 180 116 244 12 140 76 204 44 172 108 236 28 156 92 220 60 188 124 252 8 136 72 200 40 168 104 232 24 152 88 216 56 184 120 248 16 144 80 208 48 176 112 240 32 160 96 224 64 192 128 256 И вот как предполагается выполнять такие операции на подобных скоростях? Может быть, кто встречал статьи где описывается именно вот такой момент? Мне сложно представить как это можно сделать на широком слове 8/16/32 бита. А на однобитном входе, предел по скорости будет порядка 250-300 мегабит. Но это совсем не интересные цифры) Или предполагается несколько однобитных блоков подготовки данных и один быстрый движок который их окучивает? Спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 21 24 февраля, 2019 Опубликовано 24 февраля, 2019 · Жалоба Тоже хотелось бы почитать вот эти две статьи из ieee по теме: Fast Polar Decoders: Algorithm and Implementation A High-Throughput Energy-Efficient Implementation of Successive Cancellation Decoder for Polar Codes.. Возможно, кто-то их уже уже скачал.. поделитесь, если не жалко! Заранее, спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
thermit 1 24 февраля, 2019 Опубликовано 24 февраля, 2019 · Жалоба 2 часа назад, blackfin сказал: Тоже хотелось бы почитать вот эти две статьи из ieee по теме: Fast Polar Decoders: Algorithm and Implementation A High-Throughput Energy-Efficient Implementation of Successive Cancellation Decoder for Polar Codes.. Возможно, кто-то их уже уже скачал.. поделитесь, если не жалко! Заранее, спасибо! https://cyber.sci-hub.se/MTAuMTEwOS90Y3NpLjIwMTYuMjUyNTAyMA==/dizdar2016.pdf https://dacemirror.sci-hub.se/journal-article/2b8dec72315a8691707cedb1dbff7606/sarkis2014.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 21 24 февраля, 2019 Опубликовано 24 февраля, 2019 · Жалоба thermit, спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 25 февраля, 2019 Опубликовано 25 февраля, 2019 · Жалоба 15 hours ago, blackfin said: thermit, спасибо! я нашел пару диссертаций, там на пальцах объясняется что к чему и почему полярные коды надо декодировать именно так, как заявлял Арикан. Вообще довольно забавная тема для раскидывания мозгами: хорошая гибкость кода (произвольные скорости кодирования, широкий выбор длины блока), но совершенно не подходящая под ПЛИС структра (если делать списочное декодирование с размером списка 16 и CRC) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 21 25 февраля, 2019 Опубликовано 25 февраля, 2019 · Жалоба 3 hours ago, des00 said: я нашел пару диссертаций, там на пальцах объясняется что к чему.. Поделитесь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 25 февраля, 2019 Опубликовано 25 февраля, 2019 · Жалоба 4 hours ago, blackfin said: Поделитесь? https://opus4.kobv.de/opus4-fau/files/6201/MathisSeidlDissertation.pdf https://au-east.erc.monash.edu.au/fpfiles/9831376/HarishVangalaFinalPHDThesisReviewed.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 21 25 февраля, 2019 Опубликовано 25 февраля, 2019 · Жалоба Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 27 февраля, 2019 Опубликовано 27 февраля, 2019 · Жалоба Изучая возможности ускорения сборки блоков для кодирования, возник глупый вопрос. Если посмотреть на таблицы надежности битов для кодов 8/16/32к, видно что там есть надежности вида 1е-56 и т.д. ))) матлаб сортирует как надо, но вот есть ли практическая разница между битовым каналом 1е-56 и например 1е-20. Может быть имеет смысл разбить группы битов на группы бит с надежностью ...1e-8], (1e-8....(1-1e-8))...[1-1e-8....] , тогда по идее можно сделать специальный байтовый фреймер и разогнать до премлимых скоростей. Или глупая идея? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 7 марта, 2019 Опубликовано 7 марта, 2019 · Жалоба Всем доброго. А есть кто нибудь, кто делал декодеры со списочным/стековым декодированием? Пообщаться бы. Можно в личке) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 12 марта, 2019 Опубликовано 12 марта, 2019 · Жалоба симпатичная презентация по полярным кодам. анимация SC декодера http://www.alexiosbalatsoukas.com/papers/16ISCASPolarOverviewSlides.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться