У меня в проэкте используются банк фильтров IIR второго порядка без нулей (только 2 real полюса).
В универе изучали классическую теорию дизайна IIRов согласно теории изложенной в A Course in Digital Signal Processing by Boaz Porat, т.е. при данных требуемых тех. параметрах (частоты, ripple и т.д.), подсчет требуемого порядка фильтра, расчет вспомогательных параметров (d,k), выбор или подсчет средней частоты среза, расчет полюсов и расчет transfer function. Все это для LPF. Затем, ежели нужен не LPF, то делаем трансформацию в требуемый вид (HPF, BPF, BSF). После чего делаем трансформацию полученного фильтра в цифровой domain (обычно с помощью bilinear transform, с учетеом требуемого пересчета частот) вследствии чего и получаем искомую transfer function цифрового фильтра (в z-domain).
Однако, мой руководитель проэкта (старых правил DSPшник с многолетним советским и частично пост-советским стажем) преложил очень простой вариант - для band-pass второго порядка IIR без нулей.
Первый полюс рассчитывается по формуле:
P1 = 2 x Q x cos[(2 x pi x fres)/fs];
второй полюс:
P2 = -Q^2.
где Q - требуемая добротность фильтра (в пределах 0.9 - 0.99999...)
fres - частота середины полосы пропускания (так как задана в обычно частотной шкале (Hz) без учете свертки на цифре)
fs - sampling rate
Мне этот подход не знаком, никогда не дидел таких формул и соотв. теории.
Буду благодарен ежели кто подскажет где почитать (ессно online либо отгружаемый файл/книга) теоритическую подоплеку такого подхода и откуда берутся эти уравнения.
Спасибо, Саша