des00 0 Posted January 13 · Report post 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 погуглил подиагонали, тишина( Quote Ответить с цитированием Share this post Link to post Share on other sites