Jump to content

    
des00

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

Recommended Posts

On 5/29/2020 at 7:46 PM, des00 said:

а не встречал кто нибудь качественного описания теории информации Шенона с разьяснениями? Когда автор не прыгает между разделами, не вводит свои термины и свои пояснения, не сокращает выводы формул, не сводит теорию Шенона для канала с ошибками к трем формулам и т.д.

Собственного интересуют точные формулы емкости канала, граниченой скорости кодирования в зависимости от длины пакета, параметров канала. Т.е. вывод/построение графиков и их асимптот которые приводятся в статьях.

совсем забыл про книгу что посоветовал @lennox в итоге нашел в запасниках книгу, на основе которой вывел нужные формулы и построил графики. Шенон гений!

Прошу помощи зала. Появилось немного свободного времени, решил вернуться к доработке DVB-RSC декодеров. Нашел вот такие описания на сайте интела и хилых

https://www.intel.com/content/www/us/en/programmable/solutions/partners/partner-profile/creonic/ip/dvb-rcs2-turbo-encoder-decoder.html#device-utilization

https://www.intel.com/content/www/us/en/programmable/solutions/partners/partner-profile/creonic/ip/dvb-rcs-turbo-encoder-decoder.html

и они же.

https://www.xilinx.com/products/intellectual-property/1-411yk8.html#productspecs

https://www.xilinx.com/products/intellectual-property/1-411yk1.html#productspecs

Взял заявленные параметры по первой ссылке 92 Mbit/s at 8 iterations (200 MHz) для 298 payload bites. Работают дебитами, положим что одновременно считают прямую и обратную ветку BCJR (1 пара за такт), тогда при одном BCJR движке, с учетом двух проходов (прямой и с перемежением) и 8ми итераций, на один блок уйдет (298*4)*2*8= 19072 такта. что для данных 298 байт и тактовой 200МГц, составит 25МБит/с. Они же заявляют в 4 раза выше.

Положим что у них стоит 4 ядра декодера. Пусть метрика бита 5 бит, пары 6 бит, состояние/апостериорная вероятность 10бит. Итого для решетки 16 на 1 ядро работающее с темпом 1 пара за такт, уйдет минимум: 

рассчет метрик 3*5 + 16*4*6 ~= 400 плиток.

рекурсивный процессор(решетка, нормировка состояний и переходов для рассчета апостериорных вероятностей): 16*(4+3)*10 + 16*(4+1)*10=1920 плиток

рассчет апостериорной вероятности: 16*4*10+(8+4+2+1)*4*10 = 1270 плиток

Итого ~3500плиток на одно направление, или 7000 на ядро.

А они заявляют 9000 на весь декодер. При этом мне не очевидно и не могу придумать как разбить решетку на 2/4 части, на цикле с DVB интерливером. На некоторых типах блоков, там одновременно читаются и пишутся соседние адреса(например для DVB RSC первое ядро работает с парами 1,14,135,138..., второе 3,16,133,146...). Как это сделать на лету лету на блочной памяти до меня не доходит.

Собственно вопрос. Как они это делают? С мизерным ресурсом, получают большие скорости кодирования при отличном ЭВК.

 

ЗЫ. Книгу The Intuitive Guide to Doing Link Budgets погуглил подиагонали, тишина(

 

Share this post


Link to post
Share on other sites

Может не в тему вопрос:

что вы думаете про многопороговые декодеры и оптимизационную теорию помехоустойчивого кодирования Золотарёва? Настолько ли они лучше(как он утверждает) остальных видов декодеров?

https://mtdbest.ru/articles/comics.pdf - ссылка на буклет с их сайта (от текста рябит в глазах)

Edited by Michael358

Share this post


Link to post
Share on other sites
20 hours ago, Michael358 said:

Может не в тему вопрос:

что вы думаете про многопороговые декодеры и оптимизационную теорию помехоустойчивого кодирования Золотарёва? Настолько ли они лучше остальных видов декодеров?

https://mtdbest.ru/articles/comics.pdf - ссылка на буклет с их сайта (от текста рябит в глазах)

ого какой документ... надо ознакомиться, обошли все коды, хммм.

ЗЫ. Был проект там был МПД, но он проиграл LDPC под чистую. Может быть что-то было сделано не так

ЗЗЫ. Статья скромная (сарказм). Пошарился по сайту в разделе обучения. Не нашел демософт по МПД с кривыми кодирования в типовых режимах, может кто носом тыкнет?

Share this post


Link to post
Share on other sites
Just now, des00 said:

Не нашел демософт

Может, это:

https://mtdbest.ru/program/russian.zip - "Имитатор цифровых спутниковых каналов с лучшими известными системами кодирования"

https://mtdbest.ru/program/instrrusg2_05.pdf - Инструкция

ЗЫ. Я только инструкцию мельком проглядел, программу не смотрел

Share this post


Link to post
Share on other sites
2 hours ago, Michael358 said:

Может, это:

https://mtdbest.ru/program/russian.zip - "Имитатор цифровых спутниковых каналов с лучшими известными системами кодирования"

https://mtdbest.ru/program/instrrusg2_05.pdf - Инструкция

ЗЫ. Я только инструкцию мельком проглядел, программу не смотрел

порылся еще на сайте, у него есть штука более интересная

http://www.mtdbest.ru/program/mtd.zip

задал параметры EbN0 = 2.5 до 6.0 с шагом 0.1дб. Код по умолчанию, R = 1/2, информационная длина 4852 бита. Результат по 1е-6. EbN0(EsN0) = 5.8Дб.

Quote

Отношение сигнал/шум в канале связи:   5.80 дБ

Количество переданных блоков = 1031
Количество переданных информационных бит = 5002412

Результаты моделирования
Номер итерации:
         0         1         2         3         4         5         6         7         8         9        10
Количество ошибок на выходе различных итераций декодирования:
    128354     46648      4281        20         5         5         5         5         5         5         5
Вероятность ошибки на выходе различных итераций декодирования:
 2.57e-002 9.33e-003 8.56e-004 4.00e-006 1.00e-006 1.00e-006 1.00e-006 1.00e-006 1.00e-006 1.00e-006 1.00e-006

Вероятность ошибки в канале связи: 2.56e-002   
Вероятность ошибки на бит на выходе декодера: 1.00e-006

Поднял свои архивы. 3GPP LDPC код, R = 1/2, Граф 1, 3872 информационных бита. Результат по  1е-6 EbN0(EsN0) ~= 2.1 дб.

Либо я неправильно интерпретировал результат, либо не я вижу тут третьей страницы документа comics.pdf : "Мы одинокие лидеры.    Все остальные - за горизонтом". 

ЗЫ. Но книгу с озона все же заказал, поддержу еще одного отечественного ученого)

Share this post


Link to post
Share on other sites
On 2/5/2021 at 5:51 PM, des00 said:

задал параметры EbN0 = 2.5 до 6.0 с шагом 0.1дб. Код по умолчанию, R = 1/2, информационная длина 4852 бита. Результат по 1е-6. EbN0(EsN0) = 5.8Дб

Докучи, matlab-bertool-QPSK - Viterby 1/2 на полиномах 171 и 133, мягкое решение EbN0(EsN0) ~= 4.8дБ. Либо выложенная демка не та, либо одно из двух.

Share this post


Link to post
Share on other sites

@des00 Я знаю этих ребят по конференциям. Им всегда задают первый вопрос: "А где применимы ваши коды при ТАКИХ длинах?" Они дают заметный выигрыш при длине кодового слова в десятки миллионов. Это только для каких-то спутниковых систем можно использовать (да и то круг таких применений стягивается в точку).

Share this post


Link to post
Share on other sites
8 hours ago, Grizzly said:

@des00 Я знаю этих ребят по конференциям. Им всегда задают первый вопрос: "А где применимы ваши коды при ТАКИХ длинах?" Они дают заметный выигрыш при длине кодового слова в десятки миллионов. Это только для каких-то спутниковых систем можно использовать (да и то круг таких применений стягивается в точку).

ааа, вон оно что..

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.