FilterDesigner — расчёт активных фильтров на ОУ
Понадобилось посчитать выходной фильтр для ЦАП — в итоге довёл собственный конструктор. Выкладываю, может кому пригодиться. Один файл доступен по ссылке FilterDesigner.
Считает ФНЧ/ФВЧ/полосовой/режекторный на Sallen-Key и Multiple-FB, Баттерворт/Чебышёв/Бессель, порядок 1–10. Показывает АЧХ, фазу, групповую задержку и схемы каскадов с номиналами, округляет резисторы в E24/E96, подбирает ОУ, выгружает перечень в CSV. Усиление честно входит в уравнения звеньев, график строится по рассчитанной схеме с учётом округления; нереализуемое (например, ослабление на Sallen-Key) не маскируется, а помечается.
Порядок работы
1. Тип фильтра, характеристика, частота среза, порядок, усиление. Сомневаетесь — Баттерворт; крутой спад — Чебышёв; важна форма сигнала — Бессель.
2. Опорный конденсатор C₂: задаёте удобный номинал ёмкости, резисторы считаются от него. Множитель C₁ (у ФНЧ) двигает C₁ в пределах реализуемости — им подгоняют C₁ под номинал из наличия; подсказка своя для каждой топологии.
3. E-ряд: после E24/E96 таблицы и графики показывают, что реально получится после округления.
4. ОУ: выбор из базы с вердиктом (полоса, скорость нарастания, устойчивость) или автоподбор.
Помощник для ЦАП
Отдельная вкладка: частота дискретизации, полоса (20 кГц), тип выхода — по напряжению или токовый (у токового первый полюс — конденсатор в ОС преобразователя I/U). Если у чипа есть передискретизация (почти все современные) — образы давит его цифровой фильтр, и аналогового 2-го порядка (3-го для токового) достаточно; такие фильтры и стоят в даташитах. Режим NOS — порядок честно высокий, с учётом sinc-ослабления на образе и sinc-спада в полосе. Характеристика: Баттерворт или Бессель (ровная групповая задержка — аналоговое приближение линейной фазы, срез ставится выше). «Применить» переносит результат в конструктор.
Ограничения
Режектор — одно звено 2-го порядка (двойной Т-мост с бутстрапом добротности), полосовой — только Multiple-FB.
Ошибки и пожелания — в комментарии.
Отлично, спасибо за статью!
Коллеги, смотрим проверяем, даем обратную связь.