Перейти к содержанию
    

Вопросы по итеративному декодированию

4 hours ago, des00 said:

ЗЫ. Из забавного, я так и не понял зачем он ввел термин КИЗ - Коэффициент Использования Золотарева. Который считается как отношение энергий некодированного сигнала и энергии до границы Шеннона конкретного кода.

Несколько лет назад листал эту книжку, но из-за странной парадигмы подачи материала решил отложить. 

А так, очень похоже на вот этот финт. )

 

Как было показано в предыдущих работах [3, 5], алгоритм мажоритарного декодирования на основе метода
двойственного базиса (далее - декодирование по методу МДБ) позволяет увеличить вероятность правильного
декодирования кодовой комбинации кода РСЭ в канале с памятью по сравнению с классическим алгебраическим синдромным методом декодирования. 
Однако при декодировании алгоритмом МДБ могут чаще возникать ложно декодированные комбинации, вследствие чего вероятность неправильного декодирования и, соответственно, эквивалентная вероятность ошибки будут несколько больше, чем в случае синдромного метода [3, 5]. Для того чтобы снизить вероятность появления
неправильно декодированных комбинаций предложен пороговый алгоритм мажоритарного декодирования эквивалентного кода Рида-Соломона по k-элементным
участкам кодовой комбинации на основе двойственного базиса. 

https://www.infokosmo.ru/file/article/16488.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дочитал книгу. Познавательно, интересно, но ИМХО ЧСВ у автора зашкаливает. Особенно удивило начало главы 5.4 "Интеллектуальный космос развития методов кодирования": "Неподготовленный читатель, которому сообщают о том, что создана новая величайшая теория, про которую главный теоретик объяснил, что в ней уже почти все сделано, может испытывать весьма сложные чувства, связанные с необходимостью смены профессии, уходом на пенсию или в отшельничество" (с). стр.187.

Сама оптимизационная теория размазана по главам книги, практические примеры МПД разобраны мало, сложных схем декодеров и выкладок по их архитектурам нет, только отсылки на патенты и сайт автора. Еще очень много ссылок автора на самого себя, прям ИМХО до неприличия. 

Работу МПД кодов автор рассматривает в интервале 1дБ до границы шенона, при этом заявляет что другие декодеры к этой границе даже не подошли и не подойдут. В книге есть единственное сравнение с LDPC из стандарта DVB, в версии реализации от НИИ Радио, который проигрывает сложному МПД коду, правда с не указанными параметрами.

Да и судя по новой статье на сайте автора https://mtdbest.ru/articles/zolotaryov-antipolyary-2020.pdf он не очень любит LDPC, турбо и полярные коды. Если про полярные коды, с его выкладками еще можно согласиться, то вот коды с характеристиками из " Рис. 3. Предварительные характеристики БАВ для кодов с R = 1/2 в канале с АБГШ", код 3GPP LDPC , граф 1, скорость кодирования 1/2 без выкалывания, длиной 528/1056 бит ну если не разрывает их в куски, то значительно обходит. И это даже не рекурсивный сверточный турбокод или PG-LDPC, а простой QC-LDPC с кодами проверки на четность.

Резюмирую, для общего развития считаю что книга полезная и если отсеять пафос автора, познавательная. Надо на досуге сделать двочиный и не двоичный RTL код МПД для ПЛИС, покрутить что к чему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Оставлю здесь "О фальсификации научных результатов в статье “Обзор проблем полярных кодов с позиции технологий Оптимизационной Теории помехоустойчивого кодирования”"

http://jr.rse.cosmos.ru/files/main2-17mar21.pdf

Публикация Трифонова о статье “Обзор проблем полярных кодов с позиции технологий Оптимизационной Теории помехоустойчивого кодирования” Н.А. Кузнецова, В.В. Золотарева, Г.В. Овечкина, Р.Р. Назирова, Д.Ж. Сатыбалдиной и Е.Д. Омирбаева (Современные проблемы дистанционного зондирования Земли из космоса. 2020. Т. 17. № 4. С. 9-26).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 hours ago, Grizzly said:

Публикация Трифонова о статье “Обзор проблем полярных кодов с позиции технологий Оптимизационной Теории помехоустойчивого кодирования” Н.А. Кузнецова, В.В. Золотарева, Г.В. Овечкина, Р.Р. Назирова, Д.Ж. Сатыбалдиной и Е.Д. Омирбаева (Современные проблемы дистанционного зондирования Земли из космоса. 2020. Т. 17. № 4. С. 9-26).

хорошая статья, а ссылки к ней дюже полезные. надо снова вернуться в тему кодирования, выпросить творческий отпуск для хобби)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А у кого-нибудь есть скачанная методичка П.В. Трифонов | Основы помехоустойчивого кодирования (2022) [PDF] :: NNM-Club (nnmclub.to) Прошу поделится) А то в сети только мутные торрентны, типа вот этого)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, des00 said:

А у кого-нибудь есть скачанная методичка П.В. Трифонов | Основы помехоустойчивого кодирования (2022) [PDF] :: NNM-Club (nnmclub.to) Прошу поделится) А то в сети только мутные торрентны, типа вот этого)

https://dropmefiles.com/UsOGU

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поднимем тему.

Итак дано: BTC коды из Wimax на основе расширенных кодов хэмминга. Реализация по статье Near-Optimum Decoding of Product Codes: Block Turbo Codes Ramesh Mahendra Pyndiah, Member, IEEE. Все понятно, все получилось, но есть нюанс, вокруг которого хожу уже какой день и не могу продвинуться. Поэтому прошу помощи.

В атаче лежат сорцы этого кодека на м-языке и приведент тест: сравнивается BER у встроенной функции tpcdec и самописной для кода (32, 26, 4)^2. Судя по хелпу, tpcdec реализован аналогично указаной статье. Но есть ньюанс,

вот эталонные кривые, приводимые автором

image.thumb.png.e5f1cade4ce752820e4c27ad78467f82.png

для кода из теста результат на 2.5/3.0/3.5 дб составляет ~1e-3/5e-5/5e-6.

Теперь берем результат теста, для 1е6 информационных битов (достоверное измерение где то до 1е-5, но этого достаточно)

done EbN0(EsN0/SNR) = 2.00(0.20/3.21) ber = 1.16e-02 vs 2.75e-02 at ch ber = 7.43e-02 
done EbN0(EsN0/SNR) = 2.50(0.70/3.71) ber = 5.55e-04 vs 3.21e-03 at ch ber = 6.29e-02 
done EbN0(EsN0/SNR) = 3.00(1.20/4.21) ber = 0.00e+00 vs 7.80e-05 at ch ber = 5.18e-02 
done EbN0(EsN0/SNR) = 3.50(1.70/4.71) ber = 0.00e+00 vs 0.00e+00 at ch ber = 4.26e-02 

собственная реализация довольно близко идет к той что в статье, но вот tpcdec на 0.5дб ее обходит, хотя судя по хелпу она аналогична.

Собственно вопросы:

1. Посмотрите код, все ли я правильно сделал с 2D турбобалалайкой, может глаз уже замылися?

2. что такого сделано в функции tpcdec что она обходит родителя на целых 0.5дб?

Спасибо

ЗЫ. Если взять 1е7 бит, то результат аналогичен, 0.5 дб выигрыш реализации tpcdec

done EbN0(EsN0/SNR) = 2.00(0.20/3.21) ber = 1.16e-02 vs 2.75e-02 at ch ber = 7.41e-02 
done EbN0(EsN0/SNR) = 2.50(0.70/3.71) ber = 6.78e-04 vs 3.71e-03 at ch ber = 6.30e-02 
done EbN0(EsN0/SNR) = 3.00(1.20/4.21) ber = 9.00e-06 vs 1.81e-04 at ch ber = 5.23e-02 
done EbN0(EsN0/SNR) = 3.50(1.70/4.71) ber = 0.00e+00 vs 0.00e+00 at ch ber = 4.27e-02 

 

BTC_wimax.zip

Near-Optimum Decoding of Product Codes. Block Turbo Codes.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

des00

собственная реализация довольно близко идет к той что в статье

Т. е. у вас всё правильно сделано.

_

2. что такого сделано в функции tpcdec что она обходит родителя на целых 0.5дб?

Больше слов считают в алгоритме Чейза, больше конкурирующих слов учитывают, лучше оптимизировали коэффициенты итераций и т. п., может ещё какие статьи применили, которые не указали в хелпе.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 9/27/2023 at 1:35 PM, des00 said:

 

2. что такого сделано в функции tpcdec что она обходит родителя на целых 0.5дб?

 

Там у Pyndiah один мутный момент есть - расчет LLR для битов, для которых не нашлось соответствующих слов в словаре. Широкий простор для оптимизаций разного толка (Секция V статьи).

Изменено пользователем andyp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 9/27/2023 at 11:15 PM, petrov said:

Больше слов считают в алгоритме Чейза, больше конкурирующих слов учитывают, лучше оптимизировали коэффициенты итераций и т. п., может ещё какие статьи применили, которые не указали в хелпе.

По идее, для кода с d = 4, больше 16 ти кандидатов не имеет смысла. Коэффцииенты итераций пробовал подбирать, но особого выхлопа не заметил.

On 9/29/2023 at 5:50 PM, andyp said:

Там у Pyndiah один мутный момент есть - расчет LLR для битов, для которых не нашлось соответствующих слов в словаре. Широкий простор для оптимизаций разного толка (Секция V статьи).

Он ссылается на коэффициент beta, приведеный там же. В хелпе матлаба приведены те же коэффициенты. Пробовал ими играть, но заметного результата не увидел. Более того, есть вот такая, довольно свежая, статья A Low-Complexity Decoder for Turbo Product Codes Based on Extended Hamming Codes. Она на основе быстрого алгоритма Чейза для расширенных кодов Хэмминга и арифметических метрик (просто по модулю) и очень оригинальной аппроксимацией (пара даже не ищется, коэффициенты не применяются). Сделал все в точности по статье, ошибок не нашел, но вот не достигаются указанные в статье характеристики, получается приличный проигрыш в 1дб. При этом алгоритмически все вроде как верно. Вот и не могу понять, толи лыжи у меня не той системы, то ли еще что(

wang2018.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 hours ago, des00 said:

При этом алгоритмически все вроде как верно. Вот и не могу понять, толи лыжи у меня не той системы, то ли еще что

Глянул.  Толи предложенная эвристика используется для тех бит, для которых не нашлось альтернатив среди тестовых паттернов, толи для всех бит вообще (скорее всего действительно имеется в виду именно это - судя по оценке сложности предложенного алгоритма). Если второе - то мне такая эвристика не нравится - получается, что все биты имеют одинаковую достоверность после первого же декодирования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

43 minutes ago, andyp said:

Глянул.  Толи предложенная эвристика используется для тех бит, для которых не нашлось альтернатив среди тестовых паттернов, толи для всех бит вообще (скорее всего действительно имеется в виду именно это - судя по оценке сложности предложенного алгоритма). Если второе - то мне такая эвристика не нравится - получается, что все биты имеют одинаковую достоверность после первого же декодирования.

да именно так, слово оппонент даже не ищется, просто во время выполнения быстрого чейза отсеиваются одинаковые слова, в итоговом списке получется нужное слово и следующие, на значительном расстоянии от первого. Потом без поиска берется два младших и считается метрика. Приводятся характеристики близкие к  Pyndiah для того кода который там есть, но у меня они не получаются 😢 более того, попытка заменить евклидову метрику начального алгоритма на алгоритмическую, тоже показывает более плохой результат. 🤷‍♂️

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

23 minutes ago, des00 said:

 🤷‍♂️

Да ладно, а то в первый раз публикуют то, что не работает 😉

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Провел еще некоторе время над кодом:

1. Методом игры с коэффициентами, изучением логов и логикой здравого смысла подобрал коэффииценты альфа и бета такие, что самописный код стал близок к референсному. Действительно тонкое место, шаг влево-вправо влияет довольно таки сильно

2. Нашел у себя ошибку в быстром чейзе с быстрым решением (без поиска), вы будете смеяться, но....это работает. И работает как в статье, вот результат

 

Hamm_64x57.thumb.png.73d110b40234ecf7d7c1ab87cf3423ea.pngHamm_128x120.png.99143751f2d6ac9f207e3df2b33523c2.png

Да, результат хуже, но не так катастрофично, причем чем больше итераций тем результаты ближе. Кому интересно покрутить, проверить мой код, пример в атаче

hamming.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...