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

konstantinkovylin

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о konstantinkovylin

  • Звание
    Участник
    Участник
  • День рождения 04.11.1970

Контакты

  • Сайт
    Array

Информация

  • Город
    Array

Посетители профиля

1 040 просмотров профиля
  1. Перевёл проект AHDL в Verilog руками, исправил ошибки перевода и полность проверил все узлы. Результат компиляции меня удивил: AHDL - 21тысяча LE Verilog - 17тысяч LE Видимо, используются разные синтезаторы для AHDL и Verilog в Quartus 7.2 , после Verilog 20%(!) ресурсов от исходного проекта стали свободны. Всем рекомендую Verilog )
  2. Предлагаю сделать 2 адаптивных фильтра - один падает (в минимум), другой работает - упавший сбрасывается. На более высоком уровне выбирается непобитый молью (или поддавшийся восстановлению) пакет от рабочего фильтра. Ещё интересны японские статьи, где они используют полтора адаптивных LMS фильтра - один подстраивается, а другой копирует эту подстройку только когда уверен, что она годная...
  3. 5-7минут не пробовал - проверю на своём алгоритме. То есть в трубку тишина, из трубки речь ... Через 7 минут речи уже и не слышно... Это странно : тк если на входе эхо-модели ноль, то и воссоздаваемый отклик тоже ноль и соответственно из речи ничего не вычитается. Думаю проблемы где-то в области программирования.
  4. На правом рисунке сколько по времени ширина выделенной зоны - 5мс ? По характеру характеристики видно, что до уровня -30дб будет лежать в пределах 9мс -> следовательно желателен алгоритм на 16 мс . (а ниже уровня -30дб включается нелинейный процесс с ограничением амплитуды - clip и додавливает эхо) Шум автомобиля громкий для эхоподавителя это гуд, он всё эхо и без эхоподавителя задавит ) OSLEC не давит шумы автомобиля . Это из области реализаций AEC. OSLEC для вашей ситуации более чем достаточно, причём нужно стремиться к уменьшению алгоритма от 16мс до 9мс, найдя оптимум при этом. При меньшем количестве TAP резко улучшается скорость сходимости и качество поиска коэффициентов фильтра. Если не весь хвост эха будет накрываться фильтром, то эти ненакрытые остатки вы и услышите в остатках эхо или их сьест нелинейный процесс OSLEC. В любом случае чем дальше хвост эха, тем он меньше по амлитуде - тут необходим подбор количеества TAP, чтобы опредилить что нужно давить. Механизм работы OSLEC простой - адаптация теневой модели ведётся всегда!, а вот копирование коэффициентов фильтра в рабочую модель происходит только при благоприятных условиях: нет двойного разговора, новые коэффициенты лучше рабочих и тп ... Думаю даже, что все мои обьяснения лишние - самое правильное см. первоисточник OSLEC - echo.c
  5. Это одно место с делением на усреднённую мощность в NLMS красиво обходится : Поправка коэффициентов в фильтре всё-равно с эмпирическим коэффициентом, и значение усреднённой мощности для нормализации поправок (N-нормализация) берётся с точностью до одного бита (те коэффициент от этого скачет от 1 до 2х). Далее деление заменяется на сдвиг и всё )
  6. Да, результаты Fast RLS реализации, особенно на структурах Лягерра впечатляют (на графиках из статей Ali H.Sayed и Ricardo Merched). Одно но - при беглом взгляде на алгоритм, для реализации RLS нужно использовать деление, что для FPGA неудобно. 2SM: Вы использовали деление в своих алгоритмах fast RLS? 2bsp: http://www.rowetel.com/ucasterisk/oslec.html - собираюс реализовать эот алгоритм в FPGA тк без делений, но он не очень подходит для подавления при громкой связи ( этот алгоритм скорее рассчитан на остаточное эхо ).
  7. Точно, oslec понимается легко и написан так, что не содержит делений! mg2 не смотрел - Цитата про mg2 ) : " Thanks for OSLEC, it's so much better than my hacked KB1 which is called MG2 :-) " Author of the Zaptel MG2 echo canceller — Michael Gernoth
  8. Если делать переходные под шарами, то по самой простой технологии по двум слоям для этого Бга можно развести 3ряда ножек. С площадками без отверстий - 4 ряда по той же технологии. Плюс расчёт сил натяжения - засосёт шар или нет - не очень интересно: поэтому рекомендуют на плате делать то же и с теми же размерами что и на микросхеме бга (на ней тоже площадка). Далее очень важно свинец или нет в шарах. Если без свинца - фены выкидываем! (Альтернативный способ - холодная пайка (без плавления шаров) свинцовым припоем, нанесённым через трафарет - пишут, что отстой) Я запаяю свежую плату и свежий кристалл безсвинцовый и дома. У меня есть духовка с терморегулятором, цешка с термопарой, канифольный флюс и таймер в сотовом телефоне) . Кратко процесс выглядит так - разогреваю печку (это долго), сую чистую плату (которую выкину) и снимаю температуру во времени с датчика в переходном отверстии рядом с бга. Получаю профиль(температура от времени) с максимальным временем расплавления от того диапазона, что рекомендует производитель микросхем БГА. Беру свежую негретую) плату, мажу тонко и без пропусков канифолью(спирто-канифольный раствор), сушу флюс, ставлю только БГА, готовлю в духовке (по таймеру). Враги этого процесса - 1)несвежие БГА, 2) мусор, 3) изгиб платы при разогреве (при больших корпусах БГА), 4)влага/спирт во флюсе, БГА, плате 5) несвежие платы. Удачи!
  9. Lattice при генерации IP core (закрытых) использует Synplify и в результате получает .ngo файл (выходной для синтезатора) . Надо посмотреть verilog, который поступает на вход Synplify. Есть SynpDecry но она для Linux (а Littice есть только для Win). Есть идеи?
  10. Что вы имеете в виду под "сплошные слаки"- несовпадение между MAP и PAR? У меня в версии lever7.2 при работе со встроенным синплифаем - при выполнении Place & Route timig checkpoin - вся компиляция завершается например с сообщением timing error : 5852, negative slack 906120073. Цифры могут быть разные в завизимости от выбираемой скорости кристалла, но добится нормальной разводки пока не смог . Буду менять Синплифай и опции разводки ... В версии 7.1 все компиллировалось до конца, правда проект при этом в некоторых(случайным образом) модулях не работал. Проект большой, но занимает всего около 65% кристалла. Далее пример сообщения: Timing summary: --------------- Timing errors: 5852 Score: 9067026 Cumulative negative slack: 9067026 Constraints cover 172473 paths, 21 nets, and 51158 connections (57.3% coverage) -------------------------------------------------------------------------------- Total time: 35 secs ==== End of Trace Standard Out ==== ********************************* Par checkpoint failed. Design does not meet timing. ********************************* Process Stopped. Done: failed with exit code: 0001.
  11. Точно, вышел isplever 7.2 ! И как он на первый взгляд ? Кстати на ftp от версии 7.2 даже starter не нашёл - видимо ещё нет.
  12. Jed из Abl делает Abel ) Вот вам версия Abel3 ... Кроме Abel jed делается обычно бесплатным софтом от фирмы производителя микросхем . ABEL.rar
  13. С причинами прироста пока не разбирался - а сразу не заметно - проект около 30000 lcell. Меня устраивает и 81% и 86%. Рабочими получились версии и с фаст фит и со стандартным фиттингом. Думаю не обращать внимание на это и подождать сервис пак
  14. У меня при переходе с 7.2 на 8.0 standart fit количество ячеек тоже увеличилось с 81% (7.2) до 86% (8.0) !!! В процессе отладки под 8.0 воспользовался сигнал тапом и для скорости поставил фаст фит. Обьем упал до 81%.... Возможно это фича, а может быть и баг ) Зато 8.0 пока всем остальным радует - компилирует быстрее, работат стабильнее, под сигнал тапом имена у меня допускает все.
×
×
  • Создать...