
Фильтры Бесселя.
Особенностью фильтров Баттерворта и Чебышева является то, что спектральные составляющие входного сигнала при прохождении через них испытывают различную временную задержку. Изменение времени задержки внутри полосы пропускания фильтра называется искажением, обусловленным задержкой сигнала. Такое искажение увеличивается с возрастанием порядка фильтра и уровня пульсаций. Если входной сигнал не синусоида, а подобно импульсам или модулированной несущей содержит колебания с кратными частотами, то из-за различной временной задержки этих колебаний фильтром форма выходного сигнала искажается.
Существуют фильтры, которые внутри полосы пропускания обеспечивают постоянную задержку для всех спектральных составляющих сигнала. Однако в этом случае характер изменения затухания в области частоты среза АЧХ сильно отличается от формы АЧХ фильтров Чебышева и Баттерворта. В пределах одной из двух октав за частотой среза затухание изменяется несколько медленнее, чем у других типов фильтров. Такие устройства называются фильтрами Бесселя. Они применяются главным образом в тех случаях, когда важнее передать сигнал без искажений, чем определить характер вносимого затухания.
Функция Бесселя - математическая функция, используемая для получения наиболее линейной ФЧХ фильтра без учета требований к АЧХ. Фильтры, спроектированные на основе функций Бесселя, имеют почти постоянную групповую задержку.
Необходимо помнить, что у таких фильтров при преобразовании ФНЧ в ФВЧ, ПФ или РФ постоянство времени задержки внутри полосы пропускания не сохраняется.
В MATLAB фильтр-прототип Бесселя рассчитывается с помощью функции besselap:
[z, p, k] = besselap(n) |
Эллиптические фильтры.
Ранее рассмотрены полюсные ФНЧ, т. е. фильтры, имеющие только по-люса. Их отличие состоит в том, что они полностью подавляют лишь спек-тральные составляющие с бесконечными частотами. В отличие от полюсных эллиптические фильтры характеризуются и полюсами, и нулями. А это позволяет синтезировать такую форму АЧХ, которая обеспечивает полное подавление определенных компонент спектра в полосе задержания вблизи частоты среза.
Эллиптическая функция - математическая функция, используемая для расчета фильтров с самой крутой переходной полосой АЧХ при заданном порядке фильтра. Однако фильтры, спроектированные на основе эллиптических функций, которые также называют фильтрами Кауэра, имеют наихудшую форму ФЧХ по сравнению с фильтрами на основе других популярных функций. АЧХ эллиптических фильтров имеет пульсации одинаковой величины, как в полосе пропускания, так и в полосе задерживания.
Как и у фильтров Чебышева, АЧХ эллиптических фильтров характеризуется наличием пульсаций в полосе пропускания. Однако в АЧХ последних в полосе задержания имеются дополнительные участки с одинаковой амплитудой.
Таким образом, для данного порядка n эллиптические фильтры обладают АЧХ с самым крутым из теоретически возможных спуском к полосе задержания.
В MATLAB эллиптический фильтр-прототип рассчитывается с помощью функции ellipap:
[z, p, k] = ellipap(n, Rp, Rs) |
Rp – уровень пульсаций в полосе пропускания, Rs – уровень пульсаций в полосе задерживания. Уровень пульсаций указывается в децибелах.
Пример:
[z, p, k] = ellipap(4, 1, 20), z = 0 -2.0392i 0 +2.0392i 0 -1.1243i 0 +1.1243i p = -0.4003-0.6509i -0.4003+0.6509i -0.0516-1.0036i -0.0516+1.0036i k = 0.1000 |
Изменение частоты среза ФНЧ-прототипа сводится к простому масшта-бированию частотной оси.
В MATLAB такое преобразование производится функцией lp2lp:
[b1, a1] = lp2lp(b, a, w0) |
Возвращаемый результат – пересчитанные параметры фильтра.
Используя аналоговый прототип ФНЧ или базовый фильтр с нормированными частотами можно получить параметры соответствующего фильтра на основе группы функций MATLAB: lp2bp, lp2bs, lp2hp, lp2lp.
Для расчета аналогового фильтра необходимо выполнить две основные операции: рассчитать ФНЧ-прототип и преобразовать его к нужному типу фильтра с заданными частотами среза.
Требуемая последовательность действий оформлена в виде следующих функций MATLAB:
butter(n, w0, type, 's') —расчет фильтров Баттерворта; cheby1(n, Rp, w0, type, 's')— расчет фильтров Чебышева первого рода; cheby2(n, Rs, w0, type, 's') — расчет фильтров Чебышева второго рода; ellip(n, Rp, Rs, w0, type, 's') — расчет эллиптических фильтров; besself(n, w0, type) — расчет фильтров Бесселя. |
Параметры всех функций задаются одинаково.
Перечисленные функции, за исключением функции besself, позволяют рассчитывать как аналоговые, так и дискретные фильтры. Признаком аналогового расчета служит строка 's', использованная в качестве последнего входного параметра.
Параметры n, Rp, Rs (их состав зависит от типа фильтра) — это параметры фильтра-прототипа: n — порядок фильтра, Rp — уровень пульсаций в полосе пропускания (в децибелах), Rs — уровень пульсаций в полосе задерживания (в децибелах).
Параметры w0 и type используются совместно для задания типа фильтра и значений его частот среза (в радианах в секунду):
Фильтр нижних частот (ФНЧ): w0 — скаляр, параметр type отсутствует;
Фильтр верхних частот (ФВЧ): w0 — скаляр, type = 'high';
Полосовой фильтр: w0 — двухэлементный вектор частот среза [w1 w2], параметр type отсутствует;
Режекторный фильтр: w0 — двухэлементный вектор частот среза
[w1 w2], type='stop'.
В зависимости от того, сколько выходных параметров указано при вызове, функции могут возвращать результаты расчета в виде коэффициентов полиномов числителя и знаменателя функции передачи (два выходных параметра), нулей и полюсов (три выходных параметра) либо параметров пространства состояний (четыре выходных параметра).
С учетом всего сказанного перечислим действия, выполняемые функциями расчета аналоговых фильтров:
1. Производится расчет фильтра-прототипа с заданными параметрами АЧХ.
2. Производится преобразование фильтра-прототипа к требуемому типу с заданными частотами среза.
Рассмотренные выше функции расчета фильтров требуют задания в качестве входных параметров порядка фильтра и его частоты среза. При этом понятие частоты среза для фильтров разных типов определяется по-разному. Однако исходными данными при разработке фильтров, как правило, являются другие параметры: частотные границы полос пропускания (ωp) и задерживания (ωs), а также допустимая неравномерность АЧХ в полосе пропускания (Rp) и минимально необходимое затухание в полосе задерживания (Rs) (рис.1). Значения параметров Wp и Ws были обозначены на рисунке как ωp и ωs, соответственно.
Серые области на рисунке демонстрируют допуски, в которые должна укладываться АЧХ фильтра в полосах пропускания и задерживания.
Рис.1 - Вид амплитудно-частотных характеристик различных фильтров
В пакет Signal Processing, входящий в состав библиотек MATLAB, включены четыре функции, которые обеспечивают вычисление минимального порядка n и граничной частоты Wn фильтров по следующим заданным параметрам: Rp — допустимый уровень пульсаций в полосе пропускания (в децибелах); Rs — минимально необходимое затухание в полосе задерживания (в децибелах); Ws – полоса задержания (значение частоты, на которой обеспечивается требуемое затухание сигнала); Wp – полоса пропускания фильтра.
Указанные функции представлены ниже:
[n, Wn] = buttord (Wp, Ws, Rp, Rs, 's') [n, Wn] = cheb1ord (Wp, Ws, Rp, Rs, 's') [n, Wn] = cheb2ord (Wp, Ws, Rp, Rs, 's') [n, Wn] = ellipord (Wp, Ws, Rp, Rs, 's') |
Параметр ‘s’ означает, что выбирается вариант расчета аналогового фильтра. При отсутствии этого параметра решается задача расчета цифрового фильтра. Указанные функции могут применяться для оценки n и Wn различных фильтров.
Данные функции позволяют выбирать порядок, как для аналоговых, так и для дискретных фильтров. Способ задания параметров Wp и Ws зависит от типа проектируемого фильтра.
Для ФНЧ: Wp и Ws — числа, при этом должно выполняться неравенство Wp < Ws; Для ФВЧ: Wp и Ws — числа, при этом должно выполняться неравенство Wp > Ws;
Для полосового фильтра: Wp и Ws — двухэлементные векторы, при этом должны выполняться неравенства Ws(1) < Wp(1) < Wp(2) < Ws(2);
Для режекторного фильтра: Wp и Ws — двухэлементные векторы, при этом должны выполняться неравенства Wp(1) < Ws(1) < Ws(2) < Wp(2).
Выходными параметрами являются минимально необходимый для вы-полнения заданных требований порядок фильтра n и частота среза фильтра Wn. Эти параметры должны затем использоваться при вызове функции расчета фильтра. Возврат значения Wn избавляет пользователя от забот, связанных с тем, что при расчете разных фильтров понятие частоты среза имеет разный смысл. Для эллиптических фильтров и фильтров Чебышева первого рода Wn = Wp, для фильтров Чебышева второго рода Wn = Ws, а для фильтров Баттерворта значение Wn (напомним, что оно определяет частоту среза по уровню 3 дБ). Поскольку порядок фильтра — величина целочисленная, то обычно оказывается, что фильтр минимально необходимого порядка обеспечивает некоторый запас по исходным параметрам. Этот запас можно использовать по-разному — либо сделать пульсации в полосе пропускания точно равными заданным, но увеличить затухание в полосе задерживания, либо точно выдержать заданное затухание в полосе задерживания, уменьшив при этом пульсации в полосе пропускания. Для эллиптических фильтров возможен еще один вариант — сужение переходной зоны за счет расширения полосы задерживания.
Для иллюстрации применения рассмотренных функций решим задачу проектирования аналогового эллиптического фильтра со следующими параметрами:
n=8; Rp=2; Rs=25; [z,p,k]=ellipap(n,Rp,Rs); [b,a]=zp2tf(z,p,k); % Далее следует преобразование параметров фильтра-прототипа % в параметры аналогового эллиптического ФНЧ: w0=2*pi; [bt,at]=lp2lp(b,a,w0); % Строим АЧХ и ФЧХ фильтра: freqs(bt,at) |
Функция MATLAB freqs(b,a) позволяет реализовать расчет комплексных АЧХ по заданным в векторах b и a коэффициентам передаточной характеристики фильтра. Параметры вызова этой функции:
freqs(b,a,w) – по заданным в векторах a и b коэффициентам передаточной характеристики фильтра вычисляет параметры АЧХ аналогового фильтра, соответствующие заданному вектору частот w. В случае задания вектора w в явном виде w = logspace(2,5), диапазон изменения вектора частот на графике будет логарифмическим, причем степени логарифмической шкалы будут находиться в диапазоне от 102 до 105;
Получим следующий график (рис.2):
Рис. 2 - Характеристики (АЧХ и ФЧХ) аналогового эллиптического ФНЧ
В качестве примера расчета полосового фильтра рассмотрим вариант аналогового фильтра Чебышева второго рода с характеристиками:
Полоса пропускания фильтра: 500– 1000 рад/с;
Частоты задержания: 250 и 1500 рад/с;
Уровень пульсаций в полосе пропускания: 2 дБ;
Уровень ослабления сигнала на частотах задержания: 45 дБ.
Rp=2; Rs=45; Ws=[250 1500]; Wp=[500 1000]; % Получаем требуемый порядок фильтра для реализации % заданных требований, а также – частоты среза фильтра % (Параметр Wn в данном примере имеет два значения) [n,Wn]=cheb2ord(Wp, Ws, Rp, Rs, 's'); % Далее рассчитываем коэффициенты передаточной характеристики % с учетом порядка фильтра, частот среза и уровня ослабления сигнала: w0=Wn; [b,a]=cheby2(n, Rs, w0, 's'); % построение графиков (рис.6): freqs(b,a)
|
Рис. 3. Характеристики (АЧХ и ФЧХ) аналогового полосового фильтра Чебышева второго рода