Приветствую. Разрешите задать накопившиеся вопросы:
Дано: Использую сейчас цифровой ФВЧ Баттерворта 2-го порядка, чтобы давить низко-частотные вариации постоянной составляющей с датчика. Частота оцифровки 4 КГц, частоты среза 0.05-0.5 Гц.
1. Какой цифровой ФВЧ (2-го порядка) будет с наименьшей групповой задержкой? Нелинейности в полосе пропускания не нужны. Всё работает как надо, но не даёт покоя мысль, что вдруг можно лучше.
2. Текущий фильтр рассчитал в Matlab'е, но при просмотре Magnitude Response, Phase Response, Group Delay на низких частотах там аппроксимация на графиках уже не очень получается - частота среза очень маленькая. Сделал расчёт набора своих фильтров, набросав простой скрипт в Python'e. Проверил - Phase Response, Group Delay полностью совпадают с Matlab. Захотелось добавить в свою модель Magnitude Response и тут нашла коса на камень. Как расчитать аналоговый ФНЧ 2-го порядка через f и f0 - понятно. А вот какая конечная формула расчёта аналогового ФВЧ 2-го порядка через f и f0 - не могу сообразить.
3. С этим фильтром в фиксированной точке для обсчёта данных приходится оперировать 64-битными числами. Это опять же из-за очень низкой частоты среза по отношению к частоте оцифровки. Коэффициенты фильтра 27-бит, промежуточные вычисления даже в 64-бита не влазят - приходится сдвигать туда-обратно. Ресурсов пока хватает, но хотел бы знать вдруг можно проще.
4. Раньше использовал QEDesign, очень помогала в своё время, но теперь не знаю где взять сломанную версию.
Заранее спасибо.