des00 25 19 марта, 2012 Опубликовано 19 марта, 2012 · Жалоба Точно сейчас посмотреть не могу, но приблизительно 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. Естественно что производительность именно этого блока упадет, но если ее достаточно для выполнения задачи, то.... %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 19 марта, 2012 Опубликовано 19 марта, 2012 · Жалоба Кстати, вы же тестируетесь с каким то кодером. Генераторный полином можно получить, подав "дельта импульс". последовательность со всеми нулевыми битами, кроме одного %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amelyutin9 0 19 марта, 2012 Опубликовано 19 марта, 2012 (изменено) · Жалоба Кстати, вы же тестируетесь с каким то кодером. Генераторный полином можно получить, подав "дельта импульс". последовательность со всеми нулевыми битами, кроме одного %) Вы имеете ввиду подать на вход кодера дельта импульс? Еще было бы интересно посмотреть результаты для sibm алгоритма, чтобы сравнить. Изменено 19 марта, 2012 пользователем Gold777 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 19 марта, 2012 Опубликовано 19 марта, 2012 · Жалоба Вы имеете ввиду подать на вход кодера дельта импульс? да. нашел стандарт 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. Но этот в свое время конвейризировался по самое нехочу Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amelyutin9 0 19 марта, 2012 Опубликовано 19 марта, 2012 · Жалоба да. нашел стандарт 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) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 19 марта, 2012 Опубликовано 19 марта, 2012 · Жалоба Для этого кода (2040,1952) t= 8 g(x)=G1(x)*G3(x)*G5(x)*G7(x)*G9(x)*G11(x)*G13(x)*G15(x) спасибо !!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SKov 0 19 марта, 2012 Опубликовано 19 марта, 2012 · Жалоба спасибо !!! А так не проще: Если надо просто построить код, то набрать в матлабе строчку: >> [genpoly,errorcorr] = BCHGENPOLY(2047,2047 - 11*8) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 20 марта, 2012 Опубликовано 20 марта, 2012 · Жалоба А так не проще: Если надо просто построить код, то набрать в матлабе строчку: проще, но в матлабе что у меня на машине написано LimitationsThe maximum allowable value of n is 511. у вас какая версия матлаба ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
negiin 0 20 марта, 2012 Опубликовано 20 марта, 2012 · Жалоба Для генерации длинных кодов я использовал следующий файл. bch.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 20 марта, 2012 Опубликовано 20 марта, 2012 · Жалоба Для генерации длинных кодов я использовал следующий файл. о, это то что нужно. спасибо %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SKov 0 20 марта, 2012 Опубликовано 20 марта, 2012 · Жалоба проще, но в матлабе что у меня на машине написано у вас какая версия матлаба ? R2010a. Ограничение на степень двойки при генерации БЧХ - не более 16. Так что до длин 65535 все должно работать. Сейчас на рутрекере есть более поздняя версия матлаба.Может быть там еще лучше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 20 марта, 2012 Опубликовано 20 марта, 2012 · Жалоба R2010a. Ограничение на степень двойки при генерации БЧХ - не более 16. Так что до длин 32767 все должно работать. понятно, надо будет глянуть, я держу старую версию, т.к. ИМХО она быстрее в режиме косимуляции работает %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amelyutin9 0 22 марта, 2012 Опубликовано 22 марта, 2012 (изменено) · Жалоба Всем кто решиться использовать этот декодер при низких Eb/N0, надо помнить что в этом декодере, перебор ченя и коррекция ошибок происходят одновременно. Поэтому в случае отказа от декодирования, который определиться в конце ченя, декодер размножает ошибки. Что бы это побороть, нужно немного модифицировать ченя, выплюнуть сырые данные в фифошку/память вместе с коррекцией ошибок ну и потом считать с коррекцией или без %) но это не сложно и делается минут за 10-20 %) Почему вы решили сделать процедуру Ченя и исправление ошибок одновременно? Изменено 22 марта, 2012 пользователем Gold777 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 23 марта, 2012 Опубликовано 23 марта, 2012 · Жалоба Почему вы решили сделать процедуру Ченя и исправление ошибок одновременно? мне нужна была минимальная задержка, при этом на размножение ошибок можно было закрыть глаза. Есть версия декодера лишенная этого недостатка выкладывать ее не вижу смысла. Любой разработчик сделает эту задачу максимум за пару часов (надо всего то, разбить ченя на 2 модуля с передачей подтверждений между ними). А кто не сможет волен обратиться за кастомизацией, о цене договоримся %)))))))))) Также есть версии декодера с динамически изменяемым {n, check}, но смысла выкладывать не вижу. Выложенные сорцы заточены под простую реализацию динамического изменения, кому надо тот сделает %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
negiin 0 25 марта, 2012 Опубликовано 25 марта, 2012 · Жалоба Правильно ли я понял, что для плис оптимизация поиска Ченя не актуальна? Clock enable применен для энергосбережения? Если в какой-то момент декодер мне не нужен, то я должен отключить clock enable. Перед включением сбросить ресетом(для инициализации) и подать clock enable? Strength_reduced_parallel_Chien_search_architecture_for_strong_BCH_codes.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться