Как динамически вычислять коэффициенты полосового фильтра в Matlab / Simulink? - PullRequest
1 голос
/ 09 марта 2011

У меня есть модель Simulink, в которой я хотел бы изменить (во время выполнения) центральную частоту и полосу пропускания полосового фильтра. Я хотел бы изменить эти значения с помощью усиления ползунка (и в конечном итоге GUI).

Я знаю, что могу указать коэффициенты фильтра во входных портах блока цифрового фильтра, но пропущенный шаг таков: как динамически вычислять коэффициенты фильтра? Для этого я попытался использовать встроенную функцию MATLAB, которая включает методы fdesign.lowpass и design. Тем не менее Simulink, по-видимому, не допускает точечную запись для встроенных функций MATLAB. Я также пытался вручную определить структуру данных, определенную fdesign.lowpass, но он также жалуется.

Вы когда-нибудь сталкивались с подобной проблемой? Буду очень признателен за любую помощь или подсказку!

С наилучшими пожеланиями

1 Ответ

0 голосов
/ 09 марта 2011

Наконец, я смог найти обходной путь для этой проблемы.

Вместо использования методов fdesign.bandpass и design можно по-прежнему использовать встроенную функцию MATLAB и использовать функцию fir1.Это позволяет вычислить фильтр для заданного порядка и обрезать частоты без проблем.

Надеюсь, это поможет

...