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

|
Доброго дня! Развлечения ради, решил сделать LDPC кодек из стандарта GSFC-STD-9100. Проверочная матрица в приложении. Видно что в базовой подматрице 2 единичных коэффициента, вместо одного, как в WiMax. Я же правильно понимаю что количество vnode при декодировании будет в 2 раза больше, если бы это были единичные матрицы WiMax? Т.е. каждый cnode связан с 32 vnode, а каждый vnode связан со входным битом и 4 cnode? Правильно ли понимаю, что по сути, в декодере нужно сделать 2 слоя vnode по 16*511 метрик (четный/нечетный), связанных между собой через cnode и при итерациях обновляются оба слоя? Спасибо. ЗЫ. Думал по "быстролянчику" натяну этот код на Wimax овский декодер. Но .... не тут то было :D
Эскизы прикрепленных изображений
--------------------
|
|
|
|
|
Jun 25 2016, 09:13
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 4-02-16
Пользователь №: 90 332

|
По FLEX известно, что интерливер строится на основе Dithered Relative Prime алгоритма.
US20050216819.pdf ( 1.75 мегабайт )
Кол-во скачиваний: 97
Сообщение отредактировал maratz - Jun 25 2016, 10:27
|
|
|
|
|
Jun 27 2016, 06:26
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 4-02-16
Пользователь №: 90 332

|
Патент описывает некий турбоподобный код с хорошей гибкостью в плане изменения скорости кодирования. Внешний и внутренний коды, описанные в нём, отличаются от применяемых в FLDPC, поэтому я не уделял им внимания. В FLDPC используются два простейших кодера: внешний - 1+D, внутренний 1/1+D. Алгоритм их декодирования детально описан в статье, прикрепленной des00. Алгоритм декодирования подобных кодов можно посмотреть в матлабе, в хелпе SCCC, там свёрточники немного сложнее, но суть такая же. PS. По скорости - автор статьи утверждает, что на virtex-II 8000 c тактовой 100 МГц они добились 300 Мбит/с с 10 итерациями.
|
|
|
|
|
Jun 27 2016, 10:49
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Раскурил патент по запчастям Цитата(maratz @ Jun 27 2016, 13:26)  Патент описывает некий турбоподобный код с хорошей гибкостью в плане изменения скорости кодирования. Похоже это описание FLEX кода, более прошаренного чем F-LDPC в плане noise floor. Но за это нужно заплатить ресурсом декодеров. Цитата PS. По скорости - автор статьи утверждает, что на virtex-II 8000 c тактовой 100 МГц они добились 300 Мбит/с с 10 итерациями. Если делать скользящее окно то да, это возможно. Правда тут все упирается в возможность реализации collision free интерливера. В целом, архитектура этого кодека мне понятна. Параллельный MAP движок, collsion free интерливер и математика из CNODE движка LDPC для декодирования SPC. Спасибо за инфу ! Цитата Внешний и внутренний коды, описанные в нём, отличаются от применяемых в FLDPC, поэтому я не уделял им внимания. А вы делали этот кодек? Использовали свой интерливер или из патента? Можете поделиться эталонными закодированными последовательностями для блоков разной длинны? Эталонного сравнения ради. Изучая ссылки на статьи, наткнулся вот на такую книгу Turbo-like Codes Design for High Speed Decoding Может мимо кого пробегала. Прошу поделиться
--------------------
|
|
|
|
|
Jun 29 2016, 06:56
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 4-02-16
Пользователь №: 90 332

|
В статье A_New_Class_of_Turbo_like_Codes_with_Universally_Good_Performance_and_High_Speed _Decoding, прикрепленной выше, описывается алгоритм мягкого декодирования интегрирующего кодера 1/1+D. В описание утверждается, что если подать на информационный вход нули, а на проверочный - полученные мягкие решения проверок, то на одном из выходов декодера мы получим исходную информационную последовательность, а на втором обновленную проверочную. Что, собственно, я и делаю в прикрепленных м-файлах, но в некоторых случаях информационная последовательность действительно идентична исходной, а в некоторых появляется ошибка в первом бите. Может быть у кого-то получится реализовать алгоритм без этой фичи
Сообщение отредактировал maratz - Jun 29 2016, 06:57
Прикрепленные файлы
fba.rar ( 1.72 килобайт )
Кол-во скачиваний: 11
|
|
|
|
|
Jun 29 2016, 08:03
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Покурил немного тему про TPC. Созрел глупый вопрос. Почему код Хэмминга не декодируют в мягкой форме по графу Таннера? Зачем связываться с алгоритмом Чейза, находить ненадежные метрики и т.д, если можно сделать все через сложение вероятностей, ведь уравнения четностей никуда не делись ? Цитата(maratz @ Jun 29 2016, 13:56)  прикрепленной выше, описывается алгоритм мягкого декодирования интегрирующего кодера 1/1+D. В описание утверждается, что если подать на информационный вход нули, а на проверочный - полученные мягкие решения проверок, то на одном из выходов декодера мы получим исходную информационную последовательность, а на втором обновленную проверочную. Вы про страницу 5 и формулы 11a - 11d? Там же вроде классические прямая и обратные рекурсии MAP алгоритма.
--------------------
|
|
|
|
|
Jun 29 2016, 08:17
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 4-02-16
Пользователь №: 90 332

|
Цитата(des00 @ Jun 29 2016, 12:03)  Вы про страницу 5 и формулы 11a - 11d? Там же вроде классические прямая и обратные рекурсии MAP алгоритма. Именно так - частный случай MAP алгоритма. Может у кого-то есть код для этого случая?
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|