[an error occurred while processing this directive]
|
1) Синтезировать фильтр самому - ведь Вы же знаете частоту, начиная с которой Вам надо обрубать. Знаете и желаемый наклон АЧХ. Тогда ПФ фильтра будет иметь вид:
W(s)=k/[(1+Ts)^K],
где T - частота среза, K - порядок фильтра, который определяет наклон АЧХ. При К=1 наклон АЧХ - -20дб/декаду (=-6дб/октаву),
при К=2 - 40дб/декаду, ...
В общем случае наклон будет равен -20*К дб/декаду (=-6дб/октаву).
Правда, описанный подход обладает одним недостатком: при повышении порядка фильтра подавление на частоте среза будет также расти:
Для К=1 - -3дБ, для К=2 - -6дБ, ...
В общем случае -3*К дБ.
Поэтому-то и делают фильтры, у которых частоты среза немного отличаются. И добавляют в числитель звенья вида (1+tau*s), где tau - частота среза числителя. Числитель обеспечивает небольшой подъем АЧХ.
Другим способом решения проблемы чрезмерного подавления на частоте среза является применения части фильтров с комплексными корнями, которые дают небольшой резонанс в области предполагаемой частоты среза. Так делает, например, матлаб, когда синтезирует фильтр с желаемыми параметрами подавления в области пропускания и подавления.
2) Как было отмечено в п.1) приведенный там способ отличается одним недостатком, который может оказаться существенным. Поэтому здесь постараюсь ответить на Ваш вопрос о том, как определить частоту среза фильтра, сгенерированного матлабом.
а) Для начала замечу, что матлаб, как и большинство других программ для синтеза БИХ-фильтров, генерит фильтры в виде биквадов.
б) Частоту среза по-хорошему знаете Вы, поскольку Вы сами и задаете параметры фильтра на этапе синтеза. Эту частоту Вы можете, не сильно погрешив, взять как среднее арифметическое между началом и концом полосы наклона АЧХ. Поэтому дело не в том, как найти частоту среза, а в том, как вычислить интеграл в формуле (7), имея только коэффициенты биквадов, сгенерированные матлабом.
в) Трудность заключается в том, что интеграл (7) записан для аналогового случая, а Ваши биквады представлены в цифровой форме. Поэтому в варианте, когда кто-то за Вас синтезировал фильтры, возможны два выхода:
Выход 1. Записать для синтезированных биквадов аналоговые прототипы (используя при этом не конкретные значения коэффициентов числителя и знаменателя, а обозначив их в общем буквами 1, а1, а2, b0, b1, b2). И вычислить полученный интеграл (7) аналитически. Но это несколько муторно.
Выход 2. Получить аналог формулы (7) для цифрового случая. Могу сказать точно, что это сделать можно. При этом линейный интеграл перейдет в интеграл по единичной окружности. Такой интеграл от дробно-рациональной функции также вычисляется аналитически. Детали см. в книге по теории функций комплексного переменного (разделы "Вычеты", "Применение вычетов для вычисления интегралов").
E-mail: info@telesys.ru