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

fir фильтр и verilog

Имеется FIR фильтр реализованный на verilog. Необходимо снять его характеристики. Я правильно понимаю, что для этого необходимо подать на вход единичный импульс и таким образом получить на выходе набор коэффициентов, которые уже можно просимулировать в matlab или ScopeFIR? Если да, подскажите пожалуйста, как можно с помощью верилога это сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно просимулировать в matlab или ScopeFIR?

как можно с помощью верилога это сделать.

ну, собственно можно взять готовый верилог-тестбенч, сгенерированный тулбоксом матлба FDAtool - там, насколько я помню, генерируется единичный импульс, ступенька, синусоида и БШ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имеется FIR фильтр реализованный на verilog. Необходимо снять его характеристики. Я правильно понимаю, что для этого необходимо подать на вход единичный импульс и таким образом получить на выходе набор коэффициентов, которые уже можно просимулировать в matlab или ScopeFIR? Если да, подскажите пожалуйста, как можно с помощью верилога это сделать.

А под характеристикой понимается АЧХ?

Есть несколько способов, теоретически одинаковых - практически разных:)

1) БШ (подаем шум с равномерной СПМ и замеряем форму СПМ по выходу)

2) d-импульс (у котрого собственно спектр равномерен)

3) ГКЧ (подаем синусоиду заданной частоты и мощности на вход, смотрим мощность на выходе и вычисляем отношение, далее перестраиваем генератор и повторяем по всей требуемой полосе частот т.д.)

По точности лично меня больше всего устраивал 3 метод

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и таким образом получить на выходе набор коэффициентов, которые уже можно просимулировать в matlab или ScopeFIR?

 

Если вас нужны только сами значения коэф. то просто подайте на вход дельта импульс(единицу длительностью 1 такт), на выходе получите последовательно все отсчеты.

но както странно если у вас есть FIR и отсутствуют эти самые коэф-ты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

delta impuls legko sdelat:

 

 

wire Clk; // clock/takt, tot ze na katorom rabotaet filter

wire ReseT_N;

reg [filter_precision-1:0] stimulus;

 

always @(posedge iClk) begin

if(!Reset_N) stimulus <= 1; // eto zavisit ot podbora cifrovoy sistemi - sto takoe odin v vasey sisteme

else stimulus <= 0;

end

 

assign FilterInput = stimulus;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...