4.07.1 - VCF state var ч.1

После многочисленных попыток запустить sw caps фильтр из Filter Solutions, решил, что надо делать фильтр иначе. Еще один момент - фильтр в FS получается одной фиксированной характеристикой, а в музыке нужно переключаемый фильтр. Поэтому решено перейти к разработке "фильтра переменных состояния" (state variable filter) у которого есть выходы Low Pass, High Pass, Band Pass, Notch и еще очень важный момент для музыкальных синтезаторов - регулировка резонанса.

План:

1) выбрать схему и собрать в симуляторе фильтр, проверить его работу.

2) заменить резисторы в схеме на их эквиваленты на переключаемых конденсаторах (частотозадающие - управляемые частотой, резонанс - можно и ШИМ).

3) собрать в железе + написать модуль VCF (по аналогии, придерживаясь кратного 2^X соотношения частот, чтобы было проще вычислять значение DDS).

В книжке Хоровица и Хилла "Искусство схемотехники" в глаке 5.8 разбирваются такие фильтры. Я выбрал следующую схему построения. Минус - используется 4 ОУ, они обычно и так счетверенные, нам ОУ не жалко.

На рисунке изображена полезная модификация полосового фильтра на основе метода переменных состояния. Недостатком является использование в ней четырех ОУ, достоинство же заключается в возможности регулировать ширину полосы пропускания (т.е. добротность Q) без изменения коэффициента усиления в полосе. Действительно, как добротность Q, так и коэффициент усиления устанавливаются единственным резистором. Добротность Q, коэффициент усиления и центральная частота полосы пропускания полностью независимы и задаются следующими простыми соотношениями:

F0 = 1/2*Pi*Rf*C, Q = R1/RQ, G = R1/RG,

R ~= 10 КОм (значение не критично, подгоняемое).

Реализация фильтра в Multisim, все резисторы ставлю по 10к, и под него же кондеры, определяющие частоту. Работает на 1 КГц.

Файл: https://fpga-synth.googlecode.com/svn/trunk/schemes/VCF/State_filter_01.ms13

Для просмотра АЧХ нужно кликнуть на панели инструментов и добавить панель Virual. А с нее источник сигнала на вход Place AC Voltage Source.

После этого нажимаем Simulate -> Analyses -> AC Analysis

Настраиваем 1Hz .. 20 KHz на закладке Output добавить сигналы для анализа в Selected Variables for analysis: v(hp), v(pb), v(lp), v(notch),

потом кнопочку Simulate - видим работу фильтра при параметре Q=1

После этого меняем R1, чтобы Q=10. Видим пик

Q=0.1

Links:

http://www.skilldiagram.com/gl5-8.html