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

SpellDrive

Участник*
  • Постов

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

  • Посещение

Репутация

0 Обычный
  1. Если Вы о импульсной характеристике идеального полосового фильтра, то почти - sinc(x) * гармонику на центральной частоте... Тут проблема в том, что когда обрезаешь отсчеты этого синка (дабы сделать ЦФ), то появляются большие выбросы... В железе лучше такой результат, полученый преобразованием Фурье П-образной АЧХ, не применять. Есть хорошая теория синтеза цифровых полосовых фильтров. ...для Матлаба же подойдет, если нет желания заморачиваться с синтезом окон или аппроксимирующих функций...
  2. w(F) в данном примере - коэффициент передачи по мощности фильтра ( |h|*|h| = h*h', где h - коэффициент передачи по амплитуде). А теперь по порядку. 1) Необходимо сгенерировать белый гауссовский шум. Если это Matlab, то это просто randn. Если это физическая модель - можно сделать на регистрах сначала равномерное распределение, а затем проссумировать несколько отсчетов равномерного. 2) Необходимо полученный белый гауссовский шум пропустить через полосовой фильтр - он оставит из "бесконечной" полосы ту часть, что Вам нужна. 3) Промасштабировать до нужной дисперсии. Для математики напоминаю, что sigma^2 = N0 * Fd / 2.
  3. Файлики выложить нисколько не жалко: ...в ucf'е только распиновка. f_new_fn4.v f_new_fv4.v main.v main_test.v
  4. Спасибо за ответы, но пока дело с места не сдвинулось. Опишу более подробно проект. Входной сигнал поступает на ФВЧ (получен в fdatool в Matlab), результат домножается на гармонику (переносится на промежуточную частоту), что в свою очередь фильтруется ФНЧ (опять же matlab'овском) с предварительной децимацией (в 8 раз). То есть, fifo не используется, но clk'ов в проекте два - один на входе, другой в 8 раз прореженный на выходе. Последовательное прохождение по коду показало, что расхождение начинается после ФНЧ. Хотелось бы узнать и как исправить ошибки, и что их вызвало...проект по существу стоит на месте и жутко мучает совесть(
  5. Очень неприятная ситуация: HDL симулятор выдает адекватные задаче результаты, но постразводочная симуляция дает результат несколько иной (он же потом перебирается и в железо). Пробовал и на втором, и на третьем Спартанах. На что следует обратить внимание и в чем может заключаться ошибка??? Заранее спасибо.
  6. Поэтапная проработка показала, что неадекватно переносится в железо строчка: x_fn4[6:0] <= $signed(y_fv4[3:0]) * $signed(geter_cos[3:0]); Что в ней не так? Она символизирует перемножение двух 4-битных сигналов, представленныъх в допкоде... Должна...
  7. Вот, например, мой проект... В ucf только перечисление пинов f_new_fn4.v f_new_fv4.v main.v main_test.v
  8. Вот и у меня та же проблема в ISE9.1 в предыдушей теме...
  9. Проект включает парочку КИХ фильтров. Использую ISE 9.1. Симулятор дает адекватную реакцию на тестовый сигнал, но ПЛИС "промахивается" в 20% битов. Конфигурация ПЛИС непосредственно невозможна, заливается прошивка через флешку. На что думать? Залил весь проект в Spartan3, та же история... У меандра растянулось прибывание в "1", хотя по симулятору он должен быть чистым.
×
×
  • Создать...