Проектирование цифрового фильтра Matlab sptool/fdatool
-
16-09-2019 - |
Вопрос
Каков наилучший метод выбора свойств конструкции для цифрового фильтра в Matlab с помощью инструмента GUI?Точнее, если у меня есть сигнал, как мне определить, какие значения фильтра дадут лучшее решение?
Пример:
Для моего сигнала A
:
Один из возможных фильтров может иметь свойства:
- Метод проектирования:
FIR, Window
- Тип окна:
Gaussian
- Заказ:
10
- Фс:
100
5:ФК:10
Другой возможный фильтр может иметь свойства:
- Метод проектирования:
FIR, Window
- Тип окна:
Hamming
- Заказ:
7
- Фс:
64
5:ФК:28
Существует бесконечно больше возможных фильтров.
Я предполагаю, что одно из решений дает «лучший» ответ, чем все остальные, и именно это решение я пытаюсь найти.Я знаю, что могу попробовать метод грубой силы, но не хочу.Пожалуйста, предложите методологию выбора свойств фильтра, которая дает это «лучшее» решение.
Решение
Вам нужно будет предоставить некоторую информацию о типе сигнала, который вам нужен.
Всегда есть определенные компромиссы в зависимости от типа используемых вами фильтров.В общем, вам придется как минимум предоставить нам интересующие вас частоты, насколько острой должна быть обрезка, вычислительные требования и линейность фазы.
В общем, я вас просто переверну в сторону вики-страницы по фильтрам: Выбор фильтров
Как вы можете видеть на странице, существуют классы фильтров (особенно обратите внимание на модели Чебышева, Баттерворта, Бесселя и эллиптические), которые пытаются обеспечить определенные характеристики в зависимости от того, что вам нужно.Следует также отметить вычислительную сложность каждого типа фильтра.
Лично я ленив и обычно не ограничен в вычислительных возможностях, поэтому просто делаю:
сигнал -> БПФ -> умножить на желаемую частотную характеристику -> ОБПФ.