|
|
|
FEC на ПЛИС, пиарю красоту SV |
|
|
|
Mar 19 2012, 03:52
|
Вечный ламер
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453
|
Цитата(Gold777 @ Mar 18 2012, 10:59) Точно сейчас посмотреть не могу, но приблизительно sibm/5000 LE/700-800 Reg/135 Fmin Mhz (требуется 155), но результат за 16 тактов. На решение не более 32 тактов, иначе не успею. Интересно какие при таком условии будет характеристики вашего декодера. bch_dec(ribm_1t) BM выполняется за t+1 = 9 тактов, 3209/732/170.85MHz, судя по TQ упирается в разводку, если сделать register dublication + кое что подпилить в BM думаю что выйдет на 200МГц. bch_dec(ribm_2t) BM выполняется за 2*t+1 = 17 тактов, 2472/776/184.95MHz, тут сложнее, надо бороть "лишний" мультиплексор в BM Цитата Можете объяснить как посадить BM для работы на половинном клоке и что значит поставить мультицикл и выжать 250-300 МГц, вообще как-то не очень понятно что вы имеете ввиду. Если можно, объясните поподробнее. Хмм, вам лучше почитать мои публикации о TQ, временных ограничениях, одноцикловых цепях и мультицикловых. Если на пальцах, то подаете на clockena меандр и говорите временному анализатору что задержки считать не для периода T, а для периода 2*T. Естественно что производительность именно этого блока упадет, но если ее достаточно для выполнения задачи, то.... %)
--------------------
|
|
|
|
|
Mar 19 2012, 09:33
|
Частый гость
Группа: Участник
Сообщений: 118
Регистрация: 28-10-11
Из: Москва
Пользователь №: 68 022
|
Цитата(des00 @ Mar 19 2012, 09:30) Кстати, вы же тестируетесь с каким то кодером. Генераторный полином можно получить, подав "дельта импульс". последовательность со всеми нулевыми битами, кроме одного %) Вы имеете ввиду подать на вход кодера дельта импульс? Еще было бы интересно посмотреть результаты для sibm алгоритма, чтобы сравнить.
Сообщение отредактировал Gold777 - Mar 19 2012, 09:34
|
|
|
|
|
Mar 19 2012, 13:27
|
Вечный ламер
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453
|
Цитата(Gold777 @ Mar 19 2012, 04:33) Вы имеете ввиду подать на вход кодера дельта импульс? да. нашел стандарт 975.1 там указаны функции циклотомических классов для получение генераторных полиномов GF(2^11), на досуге получу полином %) Цитата Еще было бы интересно посмотреть результаты для sibm алгоритма, чтобы сравнить. а смысл? он гарантировано проиграет, для этого достаточно посмотреть как рассчитывается delta %) bch_dec(ibm_2t) выполняется за 2t+1 = 17 тактов, 2816/957/145.69MHz bch_dec(ibm_4t) выполняется за 4t+1 = 33 такта, 2212/959/188.08MHz bch_dec(ibm_2t_by_t) выполняется за 2t + 2(t+1)^2+1 = 179 такта, 1805/1057/238.04MHz. Но этот в свое время конвейризировался по самое нехочу
--------------------
|
|
|
|
|
Mar 19 2012, 14:30
|
Частый гость
Группа: Участник
Сообщений: 118
Регистрация: 28-10-11
Из: Москва
Пользователь №: 68 022
|
Цитата(des00 @ Mar 19 2012, 17:27) да. нашел стандарт 975.1 там указаны функции циклотомических классов для получение генераторных полиномов GF(2^11), на досуге получу полином %)
а смысл? он гарантировано проиграет, для этого достаточно посмотреть как рассчитывается delta %)
bch_dec(ibm_2t) выполняется за 2t+1 = 17 тактов, 2816/957/145.69MHz bch_dec(ibm_4t) выполняется за 4t+1 = 33 такта, 2212/959/188.08MHz bch_dec(ibm_2t_by_t) выполняется за 2t + 2(t+1)^2+1 = 179 такта, 1805/1057/238.04MHz. Но этот в свое время конвейризировался по самое нехочу Для этого кода (2040,1952) t= 8 G1(x) = x11 + x2 + 1, G3(x) = x11 + x5 + x3 + x2 + 1, G5(x) = x11 + x6 + x5 + x + 1, G7(x) = x11 + x7 + x3 + x2 + 1, G9(x) = x11 + x8 + x5 + x2 + 1, G11(x) = x11 + x8 + x6 + x5 + x4 + x + 1, G13(x) = x11 + x10 + x3 + x2 + 1, G15(x) = x11 + x10 + x9 + x8 + x3 + x + 1. g(x)=G1(x)*G3(x)*G5(x)*G7(x)*G9(x)*G11(x)*G13(x)*G15(x)
|
|
|
|
|
Mar 19 2012, 19:26
|
Знающий
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119
|
Цитата(des00 @ Mar 19 2012, 20:03) спасибо !!! А так не проще: Если надо просто построить код, то набрать в матлабе строчку: >> [genpoly,errorcorr] = BCHGENPOLY(2047,2047 - 11*8)
|
|
|
|
|
Mar 20 2012, 03:42
|
Вечный ламер
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453
|
Цитата(SKov @ Mar 19 2012, 14:26) А так не проще: Если надо просто построить код, то набрать в матлабе строчку: проще, но в матлабе что у меня на машине написано Цитата LimitationsThe maximum allowable value of n is 511. у вас какая версия матлаба ?
--------------------
|
|
|
|
|
Mar 20 2012, 04:15
|
Частый гость
Группа: Свой
Сообщений: 108
Регистрация: 31-12-07
Из: Фрязино М.О.
Пользователь №: 33 753
|
Для генерации длинных кодов я использовал следующий файл.
Прикрепленные файлы
bch.zip ( 1.18 килобайт )
Кол-во скачиваний: 128
|
|
|
|
|
Mar 20 2012, 06:20
|
Знающий
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119
|
Цитата(des00 @ Mar 20 2012, 07:42) проще, но в матлабе что у меня на машине написано
у вас какая версия матлаба ? R2010a. Ограничение на степень двойки при генерации БЧХ - не более 16. Так что до длин 65535 все должно работать. Сейчас на рутрекере есть более поздняя версия матлаба.Может быть там еще лучше.
|
|
|
|
|
Mar 22 2012, 17:01
|
Частый гость
Группа: Участник
Сообщений: 118
Регистрация: 28-10-11
Из: Москва
Пользователь №: 68 022
|
Цитата(des00 @ Mar 18 2012, 19:28) Всем кто решиться использовать этот декодер при низких Eb/N0, надо помнить что в этом декодере, перебор ченя и коррекция ошибок происходят одновременно. Поэтому в случае отказа от декодирования, который определиться в конце ченя, декодер размножает ошибки. Что бы это побороть, нужно немного модифицировать ченя, выплюнуть сырые данные в фифошку/память вместе с коррекцией ошибок ну и потом считать с коррекцией или без %) но это не сложно и делается минут за 10-20 %) Почему вы решили сделать процедуру Ченя и исправление ошибок одновременно?
Сообщение отредактировал Gold777 - Mar 22 2012, 17:02
|
|
|
|
|
Mar 25 2012, 13:37
|
Частый гость
Группа: Свой
Сообщений: 108
Регистрация: 31-12-07
Из: Фрязино М.О.
Пользователь №: 33 753
|
Правильно ли я понял, что для плис оптимизация поиска Ченя не актуальна? Clock enable применен для энергосбережения? Если в какой-то момент декодер мне не нужен, то я должен отключить clock enable. Перед включением сбросить ресетом(для инициализации) и подать clock enable?
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|