eteP это всё чтоб подстраиваться под фазу сигнала во времени с наименьшими затратами ресурсов процессора
Как сделать цифровой полосовой фильтр, думаю много литературы есть. На нижеприведенном примере, думаю, понятно будет как реализовать программно полосовой фильтр
Допустим, x - энергия конденсатора, а y - энергия индуктивности. Упрощенная модель колебательного контура выглядит так:
x=0 - Инициализационная энергия кондёра y=100 - Инициализационная энергия индкутивности
n=4 - этим параметром задается частота настройки фильтра d=0.99 - этим параметром задается добротность (потери) фильтра
while true { x=(x+y/n)*d y=(y-x/n)*d }
Если этот алгоритм прокрутить, будет видно что x и y будут выглядеть как затухающие синусы.
Для ввода сигнала в контур, просто прибавляем, скажем, к x значение сигнала. Главное следить за переполнениями, особенно при высокой добротности фильтра.
Этого примера должно хватить для создания необходимого цифрового полосового фильтра.
|