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

    

des00

Модераторы
  • Публикаций

    7 397
  • Зарегистрирован

  • Посещение

Весь контент des00


  1. Буфер, любой переходник на усб, и операции файлового ввода-вывода в стимуляторе. Такое часто делают, когда жтаг забыли или его возможности недостаточны для отладки.
  2. Логику переписать, которая обеспечивает корректное декодирование. Думал вы в стимуляторе все вылизали, а оказывается нет. Зря. Либо, в вашем случае, можно арбитраж сделать, с удержанием запроса и подтверждением ответа.
  3. я фанауты кручу. стратегии сильно по времени разнятся, а так 400-512 несколько точек и получается)
  4. ИМХО, зря в вивадо убрали seed. А еще частное. вивдо очень странно разводит артикс 200ку после заполнения 75%. из-за H образной архитектуры чипа, он порой такие финты выбрасывает, что диву даешься. И да, при определенных размерах составных модулей, ручное позиционирование там плохо работает.
  5. внизу страницы переключение там у вас не показывается?
  6. На второй плате асинхронный сигнал сфазирован так, что вы попадаете на фронт такового сигнала таким образом, что метастабильное состояние выходит вот так. Немного подвинуть фазу частоты на которой семплируетн асинхронный сигнал и ситуация изменится. Сделайте динамическое управление фразой или задержкой и поиграйте.
  7. так вы все таки синхронизируете генераторы? тогда в пределах одной платы, вы этого бы и не увидели. вы же руками все настроили. а тут опа, между разными плис и платами задержки разные)
  8. не ок. просто фаза луны, при тестировании именно первой платы была такова, что вся неопределенность была в одном интервале. А на этой плате, она немного сдвинулась и стала вести себя по другому. Вам нужно искать другой способ синхронизации
  9. проблема любого детектора фронта, выполненного по подобной архитектуре: неопределенность == период частоты нарезки. Либо уменьшайте период и как то миритесь с небольшим плаванием, либо синхронизируйте опорные генераторы.
  10. Я цены привел за синтезированные нетлисты. Если мы говорим про сорцы, то для сравнения NASA GSFC порядка 20-25к в сорцах. Помню ковырял код альтеровского рид-соломона (который 5к стоил), у меня были нарекания к его работе, плакал. в итоге сел и переписал. с этого все и началось. Но повторюсь, технологии демодуляции (обработка, восстановление синхронизации, эквалайзирование), пропаханы вдоль и попрек. При наличии симулинка, можно даже без больших знаний ПЛИС сделать демодулятор.
  11. Вот уж что, что, а память каскадиовать на плисе элементарно. как минимум в 4 раза количество команд вы увеличите легко. (4 блока 4к*9). Более того, вы можете использовать индексируемую таблицу задержек. Например вам нужно всего 16 разных задержек, вместо 512. вот и выделите место под меньшее количество) + можно каскадировать задержки
  12. Похоже я понял почему сделано так, там все равно нужны указатели на массивы результатов промежуточных вычислений, поэтому какая разница как кодировать путь, все равно указатели синхронизированны) Поэтому отбой) Спасибо, буду знать. Как то прошел мимо меня этот алгоритм, видел в книгах много раз, но каждый раз считал его устаревшим ретро) А сейчас, меня ткнули носом (спасибо Павлу Трифонову) в то, что декодировать полярный код, методом последовательного декодирования, проще, чем методом списочного последовательного исключения, при большом размере списка (больше 8 списков). Более того, используя часть статически замороженных битов в качестве динамически замороженных битов, можно улучшить характеристики полярного кода и более того, мягко декодировать коды рида соломона) Чем дальше в лес, тем больше узнаю) надо было идти в математики, а не радиотехники))))))
  13. Altera State/Micro Sequencer можно взять. Как готовый велосипед. Ну или ваш проапгрейдить написав "ассемблер." Когда то, очень давно, выкладывал, правда в чужой теме, вот подобное PS. Программировать я не умею почти, поэтому там детский сад, но как умел в то время)
  14. нуууу, тракты обработки пишутся просто, методы восстановления несущих и символьных частот пропаханы много где. адаптивная модуляция, да хоть каждый фрейм меняйте индекс модуляции. Там все линейно. Это что касается именно демодулятора. А про цены, можете посмотреть мою тему с FEC корками. ЕМНИП Декодер витерби альтера продавала за 2к, Рид Соломон порядка 5к DVB RSC Turbo Xilinx продавал порядка 8-10к, Wimax LDPC не встречал, но NASA GSFC LDPC порядка 10к.Там конечно они по другому написаны, чем мои, но параметры близкие. Ничего сложного нет. Сложность DVB LDPC в матрице, сложно получить высокие скорости. А DVB BCH в той теме есть(просто указываете полином этого кода в БЧХ корке) как я понял речь идет не про полный модем, а только демодулятор. А зачем в нем ДДР ?
  15. А если постоянку измерить и вычесть? Ну или comb фильтром пройти по сигналу.
  16. VHDL, Verilog, SVerlog .....все это выбор улиток, нужна скорость разработки, берите HLS (с) - это с семинара xilinx сегодняшнего)
  17. Спасибо, теперь понятно. не увидел сразу) Прикольно. Надо запомнить на будущее
  18. Да про него, правда в стандарте эта операция называется "Circulation of Initial State" и проводится без дополнительных бит данных. Методом двойного кодирования. В этом случае начальное и конечное состояние одинаково. Это используется при декодировании. А вот с дополнением нулями, в рекурсивном кодере мне не понятно как они добиваются известного конечного состояния. Оно же каждый раз будет разное и зависеть от всех данных. Если бы был нерекурсивный кодер, тогда проблем нет)
  19. она проще. если ТС уйдет на коэффициенты фильтра вида y(n+1) = y(n)*(1-2^-g) + x(n)*1/2^g, то фильтр сведется к суматорам и сдвигам y(n+1) = y(n) - (y(n) >> g) + (x(n)>> g), а если сделать правильное масштабирование и взятие результата, то фильтр выродится вот в такой вид y(n+1) = y(n) - (y(n) >> g) + x(n)
  20. Это код функции иницализации алгоритма SCL из документа List Decoding of Polar Codes авторов Ido Tal Alexander Vardy. Код рабочий, есть матлабовский пример этого кода, ссылку на код выше Grizzly давал. Много где встречал что ML для полярных кодов дает плохой результат из-за малого просвета. Пишут что только SC для длинных и SCL/SCL+CRC для коротких позволяют перебить LDPC и Turbo коды. Очередное непонимание, просто на интересных кодах, (4...32к) его делать сложно) Мой косяк, m - количество слоев кодера, 2^m длинна блока. Декодирование осуществляется по слоям, с сохранением промежуточного контекста (или рассчетом его заново), поэтому расход памяти даже на классическое SC декодирование большой. L - количество используемых списков. Для SC алгоритма нужно хранить входные и промежуточные метрики в количестве 2*block_length, промежуточные результаты кодирования 2*block_length бит и, если нужно, исходную последовательность бит block_length (не нужны, если используется систематическое кодирование). Ну и такая портянка у каждого списка. Как я понял алгоритм, сортировка там только на основе текущих метрик пути, для определения какие записи из списка убрать и какие клонировать и пополнить. Вот и когда изучал этот алгорим, сразу возник вопрос, зачем делать так, если можно, как в витерби, обновить трассы пути, через указатели на предыдущую запись и значение бита, без всей этой кухни пулов активности списков и т.д. Ну т.е. заменить индекс состояния в витерби, на индекс списка и перекресные ссылки на записи списков. ЗЫ. Сверточник на кодовое ограничение 35 ? Реально?? это для каких целей нужен такой код? Не проще ли каскадный или турбо/лдпц использовать?
  21. Занятно, а ссылок на сравнение Wimax/DVB RSC с этим турбокодом у вас нет? Просто странно почему они не сделали замыкание решетки как в DVB для упрощения декодирования, а ввели терминирование. Или на декодере с однобитным входом это не работает? ЗЫ. я бы понял терминирование на полиномах без обратной связи, это упрощает декодирование. Но терминирование с обратной свзяью, разве что выкинуть ошибки на последних символах.
  22. Вы учитываете что это рекурсивный фильтр и он требует расширения разрядности обработки? Т.е. вам нужно добавить в рассчеты фиксированную точку, отмасштабировать ваши входные данные, затем правильно взять данные, нужной вам разрядности на выходе, с округлением. Но даже в этом случае, у вас все равно будет шум в области младшего разряда И учтите что это у вас CIC фильтр первого порядка, с довольно большим временем установления сигнала, а выборки у вас ограничены по времени. Следовательно, может получится так, что переходный процесс будет дольше чем время выборки)
  23. не, это не так интересно) симулинк в руки и любой может это сделать. там ничего сложного нет.