Перестраиваемый фильтр

ЦОС, обработка видео и изображений в MATLAB\Simulink

Модератор: Admin

Alex1603
Пользователь
Сообщения: 6
Зарегистрирован: Вт окт 17, 2017 9:44 am

Перестраиваемый фильтр

Сообщение Alex1603 » Пт дек 01, 2017 2:19 pm

Всем привет!
Создал полосовой фильтр баттерворта iir 4 порядка. Необходимо перестраивать его центральную частоту, для чего вывел коэффициенты перемножителей а и b.
Нужен блок в симулинк расчёта коэффициентов в реальном времени, в зависимости от задаваемой частоты.
Функцию расчёта коэффициентов в матлабе я нашёл (fdesign.bandpass) но она не работает когда я её вставлял в function блок симулинке.
Подскажите куда "копать"? Как рассчитывать коэффициенты в процессе симуляции модели?

Grizzly
Пользователь
Сообщения: 794
Зарегистрирован: Сб май 28, 2011 2:00 am

Re: Перестраиваемый фильтр

Сообщение Grizzly » Пт дек 01, 2017 8:01 pm

См. блок Variable Bandwidth FIR Filter. В нем можно выбрать bandpass фильтр. Пример работы такого фильтра при его вызове из Matlab: https://www.mathworks.com/help/dsp/ref/ ... bject.html

sandy
Эксперт
Сообщения: 5340
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Перестраиваемый фильтр

Сообщение sandy » Сб дек 02, 2017 12:45 pm

Функцию расчёта коэффициентов в матлабе я нашёл

Это не функция, это объект, потому и не будет работать в симулинке.
Функция - это butter, ее и используйте, она где угодно должна работать.
С уважением

Александр Сергиенко