5.4.2. Разработка аналоговых фильтров
Цель разработки фильтров заключается в обеспечении частотно-зависимого изменения заданной последовательности данных (сигнала). В простейшем случае разработки фильтра низких частот целью является построение такого звена, которое обеспечило бы отсутствие амплитудных искажений входного сигнала в области частот от 0 до некоторой заданной и эффективное подавление гармонических компонент с более высокими частотами.
Аналоговый фильтр может быть представлен непрерывной передаточной функцией:
(5.41)
где и- изображения по Лапласу соответственно выходного и входного сигналов фильтра, аи- полиномы отсоответственно в числителе и знаменателе передаточной функции.
В качестве основных характеристик фильтра обычно принимают так называемую характеристику затухания , которая является величиной, обратной модулю частотной передаточной функции и измеряется в дицибелах:
(5.42)
фазовую характеристику :
(5.43)
и характеристику групповой задержки :
(5.44)
Функцию:
(5.45)
называют функцией затухания.
Нетрудно понять, что если являются нулями передаточной функции, а- ее полюсами, то нулями функции затухания будут, а полюсами.
Идеальный фильтр низких частот (ФНЧ) пропускает только низкочастотные составляющие. Его характеристика затухания имеет вид, показанный на рис. 5.44 а. Диапазон частот от 0 до называетсяполосой пропускания, остальной частотный диапазон – полосой задерживания. Граница между этими полосами ()называется частотой среза. Аналогично, идеальные фильтры высоких частот (ФВЧ), полосовой и режекторный можно определить как фильтры, имеющие характеристики затухания, показанные на рис. 5.44 б, в и г.
Реальный ФНЧ отличается от идеального тем, что:
затухание в полосе пропускания не равно нулю (децибел);
затухание в полосе задерживания не равно бесконечности;
переход от полосы пропускания к полосе задерживания происходит постепенно (не скачкообразно).
Возможный вид характеристики затухания реального фильтра приведен на рис. 5.45 а. На нем обозначено:
- граничная частота полосы пропускания;
- граничная частота полосы задерживания;
- максимальное подавление в полосе пропускания;
- минимальное подавление в полосе задерживания.
Частота среза в этом случае является условной границей между полосами пропускания и задерживания, которая определяется либо по уровню подавления в 3 дБ, либо как в эллиптических фильтрах.
Типичные характеристики затухания реальных фильтров высоких частот, полосовых и режекторных представлены на рис. 5.45 б, в и г соответственно.
Аппроксимацией фильтра называют реализуемую передаточную функцию, у которой график характеристики затухания как функция от частоты приближается к одной из идеальных характеристик на рис. 5.44. Такая передаточная функция характеризует устойчивое физически реализуемое звено и должна удовлетворять следующим условиям:
она должна быть рациональной функцией от с вещественными коэффициентами;
ее полюсы должны лежать в левой полуплоскости -плоскости;
степень полинома числителя должна быть меньшей или равной степени полинома знаменателя.
В пакете SIGNAL предусмотрен ряд процедур, осуществляющих рсчет аналоговых аппроксимаций фильтров низких частот.
Группа процедур buttord, cheb1ord, cheb2ord, ellipord используется для определения минимального порядка и частоты среза аналогового или цифрового фильтра по заданным характеристикам фильтра:
- граничной частоте пропускания;
- граничной частоте задерживания;
- максимально допустимому подавлению в полосе пропускания, дБ;
- максимально допустимому подавлению в полосе задерживания, дБ.
Все эти процедуры предназначены для вычисления соответствующей аппроксимации ФНЧ, ФВЧ, полосовых и режекторных фильтров минимального порядка.
Функция buttord определяет порядок n и частоту среза для аппроксимации в виде аналогового фильтра Баттерворта при обращении вида:
[n, Wn] = buttord(Wp, Ws, Rp, Rs, `s`)
При этом значения частот Wp, Ws должны быть заданы в радианах в секунду, значение частоты среза Wn также получается в радианах в секунду. Для ФВЧ величина Wp должна превышать Ws. Для полосовых и режекторных фильтров Wp и Ws должны быть двухэлементными векторами, определяющими граничные частоты полос, причем первой должна стоять меньшая частота. В этом случае параметр Wn, вычисляемый процедурой, представляет собой двухэлементный вектор-строку.
Аналогично используются процедуры cheb1ord, cheb2ord, ellipord, которые определяют порядок аналоговых фильтров Чебышева 1-го и 2-го типов и эллиптического фильтра соответственно.
Вторая группа процедур позволяет определить векторы z нулей, р – полюсов и коэффициент усиления k основных аппроксимаций линейных фильтров заданного порядка n. К таким процедурам относятся besselap, buttap, cheb1ap, cheb2ap и ellipap, создающие фильтр низких частот (ФНЧ) с частотой среза, равной 1 радиан в секунду.
Процедура besselap путем обращения к ней:
[z, p, k] = besselap (n)
вычисляет нули и полюсы аналогового фильтра Бесселя, процедура buttap при помощи аналогичного обращения создает аналоговый фильтр Баттерворта.
Аналоговый прототип фильтра Чебышева нижних часто 1-го типа, имеющий пульсации в полосе пропускания не более Rp дБ, создается процедурой cheb1ap таким образом:
[z, p, k] = cheb1ap (n, Rp)
ФНЧ Чебышева 2-го типа, имеющий величину подавления в полосе задерживания не менее Rs дБ, создается с использованием процедуры cheb2ap так:
[z, p, k] = cheb2ap (n, Rs)
Процедура ellipap путем обращения к ней:
[z, p, k] = ellipap (n, Rp, Rs)
дает возможность найти нули и полюсы эллиптического ФНЧ, обеспечивающего пульсации в полосе пропускания не более Rp дБ и подавление в полосе задерживания не менее Rs дБ.
Третью группу образуют процедуры, позволяющие пересчитать параметры рассчитанного ФНЧ известной аппроксимации с частотой среза, равной 1, в ФНЧ, ФВЧ, полосовой или режекторный фильтр с заданной частотой среза. Эта группа состоит из процедур lp2lp, lp2hp, lp2bp и lp2bs. Первая образует фильтр нижних частот, вторая – ФВЧ, третья – полосовой фильтр и четвертая – режекторный фильтр. Обращение к процедуре lp2lp может иметь две формы:
[bt, at] = lp2lp(b, a, Wo)
[At, Bt, Ct, Dt] = lp2lp (A, B, C, D, Wo)
Первая форма применяется при задании исходного ФНЧ (с частотой среза 1 рад/с) в виде коэффициентов числителя (а) и знаменателя (b). Wo в этом случае означает желаемую частоту среза получаемого ФНЧ. Результатом являются вычисленные значения векторов коэффициентов числителя – at и знаменателя – bt полученного ФНЧ.
Вторая форма применяется при задании исходного ФНЧ в пространстве состояний. Результат получается также в форме матриц пространства состояний.
Применение процедуры lp2hp формирования ФВЧ полностью аналогично.
Процедура lp2bp формирования полосового фильтра тоже имеет два вида вызова:
[bt, at] = lp2bp(b, a, Wo, Bw)
[At, Bt, Ct, Dt] = lp2bp (A, B, C, D, Wo, Bw)
Здесь параметр Wo – это центральна частота полосы пропускания, а Bw означает ширину полосы пропускания. В остальном особенности использования и смысл обозначений сохраняются прежними.
Использование функции lp2bs проектирования режекторного типа полностью аналогично, за исключением того, что параметры Wo и Bw в этом случае имеют смысл центра полосы задерживания и ее ширины.
Четвертую группу образуют процедуры полной разработки фильтров указанных аппроксимаций по заданным порядку и значению частоты среза Wc. В нее входят процедуры besself, butter, cheby1, cheby2 и ellip. Общим для них всех является следующее:
С их помощью можно проектировать ФНЧ, ФВЧ, полосовые и режекторные фильтры соответствующей аппроксимации; если параметр Wc является скляром и флажок high после него не указан, то проектируется ФНЧ с частотой среза Wc ; если же указанный флажок в обращении есть, то в результате проектируется ФВЧ: если параметр Wc задан как вектор из двух величин, то результатом вычислений являются параметры полосового фильтра с полосой пропускания W1W2, где W1 – первый элемент этого вектора, а W2 – второй элемент; наконец, если дополнительно к этому в конце списка входных параметров указан флажок stop, то рассчитываются параметры режекторного фильтра с полосой задерживания, указанной элементами вектора Wc.
Результаты расчета фильтра могут иметь три формы в зависимости от того, какое количество параметров указано при обращении к процедуре в качестве выходных, например:
[b, a] = besself(n, Wc, `ftype`)
[z, p, k] = besself(n, Wc, `ftype`)
[A, B, C, D] = besself(n, Wc, `ftype`)
Если указано два выходных параметра, то им будут присвоены значения коэффициентов числителя и знаменателя передаточной функции фильтра; при указании трех параметров на выходе, они примут значения векторов нулей, полюсов и коэффициента усиления фильтра; если же выходов указано четыре, то ими становятся значения матриц пространства состояний проектируемого фильтра.
Почти все они могут применяться для проектирования как аналоговых, так и цифровых фильтров; чтобы с их помощью создать аналоговый фильтр, необходимо в число входных параметров процедуры последним включить специальный флажок (s); исключение составляет фильтр Бесселя, аналога которому в цифровой форме не существует.
- Цифровая обработка сигналов (пакет Signal Processing Toolbox)
- 5.1. Формирование типовых процессов
- 5.1.1. Формирование отдельных импульсных процессов
- 5.1.2. Формирование колебаний
- 5.2.2. Формирование случайных процессов
- 5.3. Спектральный и статистический анализ
- 5.3.1. Основы спектрального (частотного) и статистического
- 5.3.2. Примеры спектрального анализа
- 5.3.3. Статистический анализ
- 5.4. Проектирование фильтров
- 5.4.1. Формы представления фильтров и их преобразования
- 5.4.2. Разработка аналоговых фильтров
- 5.4.3. Проектирование цифровых бих-фильтров
- 5.4.4. Проектирование ких-фильтров
- 5.5 Графические и интерактивные средства
- 5.5.1. Графические средства пакета Signal
- 5.5.2. Интерактивная оболочка spTool